본문 바로가기

[ST_MICRO]/STM32G0

(18)
#STM32G0-SSM - STM32G0를 이용한 Arduino 만들기 STM32G 시리즈도 Arduino 환경에서 개발 가능하다. Ardunio를 사용하면 기존 라이브러리를 그대로 사용할 수 있어서 간단히 테스트 하기에는 편리 한것 같다. 우선 전체 환경 설정은 variants 폴더의 DISCO_G0316 를 기준으로 제작했다. 핀맵은 STM32G0-SSM EVM보드를 기준으로 수정했고 보드 메니저에서 STM32G_SSM 로 표기 되도록 했다. STM32G Arduino 기본 핀맵 const PinName digitalPin[] = { PA_0, //0 SCLK PA_1, //1 I2S_CK PA_2, //2 I2S_SD PA_5, //3 PA_6, //4 I2S_MCK PA_7, //5 PA_11, //6 SCL PA_12, //7 SDA PA_3, //8 MISO PA..
[STM32G0 SSM EVM] 보드 제작 STM32G0 TSSOP20 핀 타입의 STM32G030F6P6 를 SSM Type EVM 형태로 제작했다. 이번에는 20핀 타입의 STM32F030도 사용 할수 있도록 PCB를 제작해 보았다. 1$ 이하의 저렴한 가격(실제 구매 가격 700원)에 나와서 구매 했는데 가격에 민감한 어플리케이션에 적용하면 좋을것 같다.
STM32G0 SSM - STM32CubeIDE에서 Iperf로 W5500의 TCP Throughput 측정 테스트 STM32G0에서 SPI 클럭의 최대 속도는 32Mhz로 STM32F1의 SPI 클럭속도(18Mhz)보다 빨라 졌다. W5500 SPI 전송율 테스트를 해 보면 STM32G0의 SPI성능을 테스트 해 볼수 있을것 같다. 우선 STM32CubeIDE에서 SPI 설정을 하자. 네트웍 전송율 테스트를 위해 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_EST..
STM32G0 SSM - STM32CubeIDE SPI DMA 테스트 STM32CubeIDE 를 이용해서 STM32G031의 SPI DMA 테스트를 진행 해 보자. 우선 STM32CubeIDE에서 STM32G031용 프로젝트를 생성하고 기본 페리를 설정한다. SPI 클럭은 최대 32Mhz 까지 가능하다. SPI DMA 채널을 추가 SPI DMA 인터럽트 추가 GPIO 핀 스피드 설정 SPI클럭을 최대 주파수로 사용하기 때문에 GPIO 스피드 설정도 VeryHigh 로 설정해 주어야 한다. STM32G031 SPI DMA 처기 테스트 코드 일반 SPI통신과 DMA 통신의 차이를 확인하기 위해 두가지 방식이 가능하도록 코드를 작성 했다. #define _SPI_DMA_USE1 #define hSPIhspi2 #define SPIx_TIMEOUT_MAX ((uint32_t)0x..
STM32G031J 8핀 CortexM0+ 코어 MCU 보드 제작 STM32G0 시리즈 중 작은 사이즈를 찾아 보면 8핀 SOIC 타입의 STM32G031J 가 있다. 사이즈는 패키지에 따라 더 작은 것이 있지만 일단 핀이 적은 MCU는 ST에서 STM32G031J가 유일한것 같다. 8핀 MCU중 성은은 상당히 좋은것 같다. Cortex-M0+ 32 Kbytes of Flash memory 8 Kbytes RAM 64 MHz CPU 2x USART timers ADC 가격도 저렴하고 핀수가 적어서 간단한 프로젝트 진행시 사용하기 좋을것 같아 소형 모듈 보드로 제작해 보았다. 적은 핀수에 많은 기능을 포함하고 있어서 핀맵 설정이 중요한것 같다. 한가지 아쉬운 점은 JTAG가 GPIO와 동시에 사용할수 없다는 점이다. JTAG를 GPIO로 설정하면 그다음 JTAG로 접근이..
#STM32G030 EVM - I2C 테스트 (TMP275 온도 센서의 온도 측정) #STM32G030 EVM - I2C 테스트 (TMP275 온도 센서의 온도 측정) STM32G-SSM EVM 보드는 표준 핀맵을 통일화 해서 다양한 확장보드에 공용으로 테스트 할 수 있도록 제작한 보드 이다. I2C도 핀 맵핑에 따라 동일한 위치에서 테스트 가능하다. SSM EVM표준 핀맵 SSM EVM 확장 테스트 보드 연결SSM EVM 표준 핀맵을 테스트 할수 있는 다양한 확장 테스트 보드를 이용해서 I2C 테스트를 진행 해 볼수 있다. 우선 I2C로 온도 값을 읽을 수 있는 TMP275 온도 센서 모듈을이용하여 SSM EVM 확장 테스트 보드에 연결하여 I2C를 테스트 해 보자. STM32CubeIDE를 이용하여 기본 핀맵 설정하고 I2C 셋팅을 한 후 코드 생성하면 자동으로 I2C 설정 코드가 ..
#STM32G030 EVM - UART 테스트 (STM32CubeIDE 에서 printf 사용하기) #STM32G030 EVM - UART 테스트 (STM32CubeIDE 에서 printf 사용하기) STM32g030F6에는 3채널의 UART포트가 있고 UART1(Tx-PB3, Rx-PB7) 포트가 보드상의 UART커넥터에 할당되어 있다. STM32CubeIDE에서 새로운 프로젝트를 생성하고 UART탭의 핀맵과 보레이트 등을 설정한다. STM32CubeIDE 로 코드 생성하면 자동 코드가 생성되고 기존 STM32 HAL코드와 동일하게 작성하면 UART 통신 테스트를 할 수 있다. int main(void){ /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------..
#STM32G0 STM32CubeIDE Timer Test - 1% HSI 이용 #STM32G0 STM32CubeIDE Timer Test - 1% HSI 이용 STM32G0 스펙을 보면 HSI클럭 부분에서 1%를 강조 하고 있다. 기존 칩보다 강점 이라고 내새우니 한번 테스트 해 봐야 겠다. Core: Arm® 32-bit Cortex®-M0+ CPU, frequency up to 64 MHz-40°C to 85°C/125°C operating temperatureUp to 64 Kbytes of Flash memory8 Kbytes of SRAM with HW parity check Voltage range: 1.7 V to 3.6 V 4 to 48 MHz crystal oscillator32 kHz crystal oscillator with calibrationInternal ..

반응형