본문 바로가기

전체 글

(1955)
[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..
[STM32G4-SM EVM] STM32G431 Dhrystone, Whetstone 벤치마크 테스트 STM32G4 시리즈는 저렴한(2$대) 가격의 고성능 ARM Cortex M4 코어이다. 벤치마크로 MCU성늘을 측정해 보자 MCU 성능 측정을 할수 있는 벤치마크 방법은 여러가지가 있지만 Dhrystone, Whetstone 방식을 많이 사용한다. 각각의 특징은 아래와 같다. Dhrystone - 정수(ALU)연산성능 측정, MIPS 수치로 표기 Whetstone - 부동소수점(FPU)연산성능 측정, MFLOPS 수치로 표기 테스트 코드는 STM32H MCU Dhrystone, Whetstone, IIR Benchmark 성능 테스트 를 이용하였다. 기본 코드로 테스트 해보면 170Mhz 클럭 정도의 성능이 나오는것 같다. Whetstone Benchmark, Version 1.2 (Language: ..
[STM32G4-SM EVM] STM32G431 Arduino 만들기 ARDUINO-SM EXP 보드를 이용하여 STM32G431의 Arduino 보드를 만들어 보자 Arduino Board 파일은 https://github.com/stm32duino/Arduino_Core_STM32 를 사용한다. 먼저 Arduino https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json Arduino Boards Manager 에서 Genernic STM32G4 Series를 선택한다. Board part number를 ELAB_G431_SM 보드를 선택 한다. Generic G431 보드파일을 수정해서 ELAB_G431SM 보드파일로 만들었다. STM32G431 Ardui..
[STM32G4 SM EVM] STM32CubeIDE TFT LCD(COM26T2844) 테스트 STM32G4-SM 보드는 SM Type EVM 형태의 표준 핀맵으로 제작되었고 확장 테스트 보드에서 기존에 제작 해 두었던 여러가지 보드를 테스트 할 수 있다. STM32G431는 GPIO 속도도 빠르기 때문에 LCD 테스트 해 보면 좋을 것 같다. 확장 테스트 보드의 LCD에는 8bit 방식으로 연결되어 있다. 8비트 방식을 16비트 방식으로 변환 해 주는 LCD_CONV 테스트 보드에 연결하여 테스트 했다. STM32CubeIDE 를 이용하여 TFT_LCD 모듈(COM26T2844) 를 위한 핀맵을 설정하고 기본 코드를 구동하면 정상 동작한다. #define LCD_LAT_BITBIT14 #define LCD_LAT_PORTGPIOC #define LCD_LAT_ON()sbi(LCD_LAT_PORT..
[STM32G431 EVM] 성능 테스트 (STM32CubeIDE) STM32G4 시리즈는 최대 170Mhz로 구동되는 CortexM4 코어로 저렴하면서 성능도 좋은 MCU인것 같다. 기본 성능 테스트를 해 보자. STM32CubeIDE 를 이용하여 STM32G4 프로젝트를 생성한다. 기본 핀 맵을 설정한다. 클럭설정은 최대 클럭인 170Mhz로 설정한다. STM32G431 GPIO 토글 속도 테스트 소스코드 int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface an..
[STM32G4 SM EVM] 보드 제작 - STM32G431 테스트 소형 페키지중 최대 성능을 사용 할 수 있는 MCU를 찾다가 48핀 패키지의 STM32G431을 테스트 해 볼 수 있는 보드를 제작 했다. Cortex-M4코어에 170Mhz로 동작 한다. STM32F 시리즈는 핀맵이 호환이 되지만 STM32G 시리즈와 핀맵이 호환이 되지 않아 새롭게 SM-Type 핀맵으로 만들었다.