STM32 PWM 모드 사용 (feat. open103V) PWM 이란 ? PWM(Pulse Width Modulation)이란, 펄스폭 변조로 만들어지는 신호로서, 한 주기동안 H와 L의 비율(Duty rate)을 변화시켜 변조하는 방식이다. PWM은 신호의 주기, 펄스 폭(Duty rate), 전압 레벨로 정의 할 수 있다. PWM 모드 PA0 핀에 1kHz 에 듀티비 50%의 PWM 파형을 생성한다. TIM2는 APB1 Clock에 따라서 72MHz를 Source로 입력받고 Counter Period 가 999이고 Prescaler가 71이기때문에 1kHz로 동작한다. Pulse 값을 500으로 설정하였기 때문에 Duty Ratio는 500/(999+1) = 50%가 된다. 주기설정 계산은 아래와 ..
STM32F103 Timer(Counter Mode) (feat. open103V) TIMER (TIM2) DataSheet 분석 STM32F103 칩 안에는 여러개의 타이머가 있다. 각 타이머는 아래 DataSheet의 내용과 같이 16bit로 동작한다. 타이머의 기능을 살펴보면 여러가지 모드가 있는데 가장 기본적인 Counter Mode(Upcounting & Downcounting)에 대하여 살펴본다. 1초 단위로 카운터를 세는 일부 코드는 아래와 같다. static void MX_TIM2_Init(void) { TIM_ClockConfigTypeDef sClockSourceConfig = {0}; TIM_MasterConfigTypeDef sMasterConfig = {0}; htim2.Insta..
Flash Loader Demonstrator 사용법 (feat. Open103V) 목차 Flash Loader Demonstrator 설치 FLASHER-STM32 - STMicroelectronics FLASHER-STM32 - STM32 Flash loader demonstrator (UM0462) (replaced by STM32CubeProgrammer), FLASHER-STM32, STMicroelectronics www.st.com 위의 링크에 접속한 뒤 아래의 그림과 같이 Download 를 클릭하여 최신버전의 Flash Loader Software를 받는다. 이러한 부트 프로그램이 필요한 이유는 JTAG 디버거는 고가이기도 하고 커넥터 핀 수를 많이 필요로 하기때문에 개발중에는 이와 같이..
TLC5947 Adafruit 24-Channel 12-bit PWM LED Driver (feat. Open103V) TLC5947 많은 수의 LED를 제어하기 위해서는 MCU의 GPIO포트가 많이 필요하다. GPIO포트 사용을 줄이기 위해 PWM을 확장할 수 있는 Driver칩이 TLC5947칩이다. Tip : TLC5947로 LED를 제어할 경우 Anode 타입의 LED를 제어할 수 있다. DataSheet : TLC5947과 MCU의 연결방법은 아래와 같다. DataSheet 1page. TLC5947은 SPI인터페이스를 지원하며, 아래와 같이 Controller에 연결하면 된다. Controller TLC5947 SPIx_MOSI SIN SPIx_SCK SCLKGPIOxXLAT GPIOx BLA..