본문 바로가기

분류 전체보기

(1955)
EFM32G210 EVM - ADC 테스트 (Potentiometer 값을 TFT LCD 그래프로 표시하기) EFM32G210 EVM - ADC 테스트 (Potentiometer 값을 TFT LCD 그래프로 표시하기) EFM32G210은 8개의 12bit ADC포트가 있고 1개의 온도센서가 내장되어 있다. EFM32 ADC의 특징은 아래와 같다.Ultra low power precision analog peripherals - 12-bit 1M samples/s Analog to Digital Converter - 4 single ended channels/2 differential channels - On-chip temperature sensor - Conversion tailgating for predictable latency EFM32 ADC 블록도 EFM32G210f128 ADC 핀맵 EFM32 AD..
EFM32G210 EVM - SD Card를 이용한 TFT LCD 전자액자 테스트 (SPI 제어 방식) EFM32G210 EVM - SD Card를 이용한 TFT LCD 전자액자 테스트 (SPI 제어 방식) EFM32의 최대 장점은 저전력 동작이면서 Cortex-M3의 성능을 가지고 있는것이다. 저전력이 요구되는 휴대용 전자 액자를 만들어 보면 좋을것 같다. [I1511 TFT LCD] 모듈을 이용하여 TFT LCD 테스트를 해 보았다. [Xmega32-EX] 확장 보드에서 SD Card는 1번부터 PB8(SD_CS), MISO, MOSI, SCLK, PF2(LCD_CS)로 연결되어 있다. SPI방식의 TFT LCD 모듈 핀맵 EFM32 TFT LCD 드라이버 코드//----------------------------------------------------------------------------- ..
EFM32 Timer 테스트 - 타이머 인터럽트로 1초 만들기 EFM32 Timer 테스트 - 타이머 인터럽트로 1초 만들기 EFM32 Timer 초기화 함수 void InitTimer0(void) { // Enable clock for TIMER0 module CMU_ClockEnable(cmuClock_TIMER0, true); //Select TIMER0 parameters TIMER_Init_TypeDef timerInit = { .enable = true, .debugRun = true, .prescale = timerPrescale1024, .clkSel = timerClkSelHFPerClk, .fallAction = timerInputActionNone, .riseAction = timerInputActionNone, .mode = timerModeU..
EFM32G210 EVM - PWM테스트 (RGB LED 제어) EFM32G210 EVM - PWM테스트 (RGB LED 제어) EFM32는 6개의 PWM출력을 할수 있다. PWM을 이용하여 [Xmega32-EX EVM] 확장 테스트 보드에서 RGB LED 조면제어 테스트를 해 보았다. EFM32 PWM 기능- Up-count PWM- Up/down-count PWM- Predictable initial PWM output state (configured by SW)- Buffered compare register to ensure glitch-free update of compare values EFM32 PWM 출력 핀맵EFM32는 PWM출력을 위한 2개의 타이머가 있고 각각 3채널, 6개의 PWM을 출력할 수 있다. EFM32G210F128 Timer 블록도 3..
EFM32G210 EVM - SPI 테스트 EFM32G210 EVM - SPI 테스트 EFM32의 SPI최대 클럭 속도는 14Mhz 까지 동작한다. (최대 peripheral clock이 28Mhz 이므로.. )- SPI master mode, peripheral clock rate/2 EFM32G210 EVM 보드에서 SPI핀을 USART1에 할당하였다. EFM32 SPI 블록도 EFM32 SPI 초기화 함수void SPI0_Init(void){ CMU_ClockEnable(cmuClock_USART1, true); USART_TypeDef *SPI0; SPI0 = USART1; /* Setting baudrate */ SPI0->CLKDIV = 128 * (SPI_PERCLK_FREQUENCY / SPI_BAUDRATE - 2); /* Con..
EFM32G210 EVM - UART 테스트 EFM32G210 EVM - UART 테스트 MCU를 처음 다룰때 디버깅 및 제어를 위해 가장 기본적으로 필요한 인터페이스 수단으로 UART를 사용하는데 EFM32는 2채널의 UART가 있다. 특히 Low Energy UART 기능이 있어 저전력으로 UART통신을 할 수 있다고 한다. EFM32 UART 블록도 EFM32 UART 핀맵 PE10, PE11 에 UART0가 연결되어 있다. PC0, PC1에 UART1이 연결되어 [EFM32 EVM] 보드에서는 있지만 SPI로 사용하고 있다. EFM32 UART 초기화코드 void U0_Init(unsigned char baud) { USART_InitAsync_TypeDef init = USART_INITASYNC_DEFAULT; USART_TypeDef ..
EFM32 성능테스트 - 클럭 설정 및 소비 전류 테스트 EFM32 성능테스트 - 클럭 설정 및 소비 전류 테스트 EFM32 는 Cortex-M3코어의 저전력 기능이 강화된 MCU이다. 저전력을 위해 여러가지 기능들이 많이 있다. 저전력 기능중 가장 큰 부분인 클럭 부분을 살펴 보면 칩내부에 있는 HFRCO, LFRCO 와, 칩외부에서 공급할수 있는 HFXO, LFXO로 나누어 진다. 초기에 리셋되면 디폴트로 내부 28Mhz를 2분주한 14Mhz로 구동이 된다. HFRCO : 1-28 Mhz High Frequency RC Oscillator LFRCO: 32.768 kHz Low Frequency RC Oscillator HFXO: 4-32 Mhz High Frequency Crystal Oscillator LFXO: 32.768 kHz Low Frequen..
[EFM32G EVM] 프로그램 다운로드 - 부트모드에서 UART로 다운로드하기 [EFM32G EVM] 프로그램 다운로드 - 부트모드에서 UART로 다운로드하기 EFM32는 출하시에 UART를 통해 펌웨어를 업데이트 할수 있는 부터로더가 Wirte 되있어 특별한 장비 없이 UART를 이용하여 프로그램을 다운로드 할수 있다. 주의사항으로 부트로더는 0번지에 저장되어 있으므로 JTAG를 이용하여 0번지에 다운로드 했다면 부트로더가 지워진다. 그리고 X-Modem을 사용하지 않으면 부트로더가 지워질 수 있다. 지워지면 컴파일된 부트로더를 0번지에 다시 다운로드 할 수 있다. 아쉬운점이 있다면 ST사처럼 다운로드 전용 프로그램이 있으면 좋을것 같다는 생각이 든다. 기본적으로 USER 모드로 부팅되고 PF0핀이 Low 상태에서 reset 하면 부트모드로 진입한다. [EFM32G EVM] 보드..