본문 바로가기

[ST_MICRO]/STM32G4

(13)
[STM32G4 SM] STM32CubeIDE STM32G431 - Iperf로 W5500의 TCP Throughput 측정 테스트 STM32G431은 170Mhz로 구동이 되고 SPI는 80Mhz(최대 보장75Mhz) 까지 설정 가능하므로 SPI로 구동되는 W5500모듈의 전송율을 테스트 해 보기에 좋을것 같다. 네트웍 전송율 테스트를 위해 PC에서는 iperf 프로그램을 사용하고 STM32에서는 W5500 TCP loopback 테스트 코를 조금 수정해 iperf 클라이언트 코드로 작성했다. int32_t iperf_tcps(uint8_t sn, uint8_t* buf, uint16_t port) { int32_t ret; uint16_t size = 0, sentsize=0; switch(getSn_SR(sn)) { case SOCK_ESTABLISHED : if(getSn_IR(sn) & Sn_IR_CON) { setSn_IR..
[STM32G4 SM] STM32G431 - STM32CubeIDE 에서 SPI DMA 테스트 STM32CubeIDE 를 이용하여 STM32G431 프로젝트를 생성하고 SPI설정을 한다. STM32G431의 SPI 최대 클럭속도는 스펙상 75Mhz까지 가능하다. SPI를 통해 2바이트를 연속해서 전송하는 코드로 SPI 전송 지연시간을 측정해 보자. SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_SPI1_Init(); /* USER CODE BEGIN 2 */ /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while..
[STM32G4 SM] STM32G431 TFT LCD (COM26T2844) BMP 파일 출력 테스트 STM32CubeIDE를 이용하여 테스트 했던 TFT LCD제어 에서 STM32G431의 플래시 메모리는 128kB 밖에 되지 않기 때문에 내부 메모리로 BMP 파일 출력하기 어렵다. SD Card를 이용하여 BMP 파일을 출력 하기 위해 Arduino 라이브러리를 사용하면 좋을것 같다. SM-Type EVM을 이용하여 8bit 방식으로 TFT LCD를 제어 할수 있는 NET-EXP 보드를 이용하여 테스트 하였다. Arduino 라이브러리는 https://github.com/adafruit/TFTLCD-Library 를 참고 수정해서 사용 했다 기본 라이브러리를 이용하여 초기화 부분을 수정해서 테스트 해보면 정상 동작 하는것을 확인 할 수 있다. #define TFT_RD LL_GPIO_PIN_0 // ..
[STM32G4 SM EVM] Aruino - SD Card 테스트 SM Type EVM 보드를 테스트 할 수 있는 확장 보드중 NEX-EXP 시리즈 보드는 SD Card 소켓이 실장되어 있다. SD Card CS 핀은 SM Type 핀맵 A열 13번에 할당되어 있어 STM32G431의 PB12에 연결된다. SD Card 테스트는 Arduino에서 제공하는 SD 라이브러리를 사용하였다. https://github.com/arduino-libraries/SD SD Card 정보를 출력하는 기본 예제를 구동해 보자 #include #include // set up variables using the SD utility library functions: Sd2Card card; SdVolume volume; SdFile root; // change this to match y..
[STM32G4 SM] STM32G431 ST7789 TFT LCD 전압측정(TFT_eSP) [STM32-64 Ardu] 보드에서 ST7789 TFT LCD 모듈은 SSM Type 모듈 커넥터에 연결해서 테스트 가능하다. CS핀은 PC15, DC핀 PA2에 할당되어 있다. 먼저 [STMG4 SM] 보드용으로 셋업 파일을 생성한다. Arduino\libraries\TFT_eSPI_Setups\Setup_ST7789_sm_tuch_stm32g4.h #define TFT_CS PC15 // Define as not used #define TFT_DC PA2 // Data Command control pin #define TFT_RST -1 // TFT reset pin (could connect to NodeMCU RST, see next line) STM32G4의 ADC 포트로 VR의 전압값을 읽어..
[STM32G4 SM EVM] STM32G431 Arduino I2C 테스트 - BMA180 3축 가속도 센서 STM32G4-SM 보드의 I2C는 PB10(SCL), PB11(SDA)에 할당되어 있다. I2C 인터페이스로 동작하는 BMA180 3축 가속도센서 모듈 을 이용하여 3축 가속도 센서 값을 출력하고 그 값을 이용하여 롤, 피치 기울기 값을 출력하는 예제를 구동해 보자 가속도 센서 모듈을 연결할 수 있는 확장 테스트 보드의 핀맵은 아래와 같다. 우선 BMA180 3축 가속도 센서의 값을 출력 해 보자 #include #include #include "bma180.h" BMA180 bma180 = BMA180(); void setup() { Wire.begin(); Serial.begin(115200); bma180.setAddress(BMA180_ADDRESS_SDO_LOW); bma180.SoftRese..
[STM32G4 SM] Arduino W5500 웹서버 테스트 STM32G4 SM EVM 보드와 W5500을 이용하여 Ethernet 동작 테스트를 해 보자 SM-Type EVM 확장 테스트 보드중 W5500을 테스트 할수 있는 여러 보드가 있는데 이번에는 FT2232H-EXP 보드를 이용하였다. W5500 EVM 보드를 연결할 수 있는 핀맵 회로는 아래와 같다. W5500 CS핀은 A열 13번핀 PB12에 연결되어 있다. WebServer구현을 위해 EthernetWebServer 라이브러리(https://github.com/khoih-prog/EthernetWebServer)를 사용하였다. W5500 기본 동작 코드 byte mac[] = {0x00, 0x08, 0xDC, 0x00, 0x00, 0x00}; #include #include "Ethernet_Gen..
[STM32G4-SM EVM] STM32G431 Arduino SPI 테스트 기존 STM32F4 시리즈와 비교 해서 하드웨어 적으로 개선된 부분이 있다고 하는데 특히 SPI클럭이 fPCLK/2 (Maximum speed at master mode – 75 MHz) 이다 STM32G4 의 MCU클럭은 최대 180Mhz 으로 85Mhz 까지 가능하다. STM32G431 로 Arduino 에서 SPI 클럭 출력 테스트를 해 보자 #define PIN_OUT PC13 #include void setup() { Serial.begin(115200); Serial.println("SPI tst.."); pinMode(PIN_OUT, OUTPUT); digitalWrite(PIN_OUT, 0); delay(2000); SPI.begin(); SPI.setClockDivider(SPI_CLOC..