안녕하세요. 오늘은 르네사스 테스트보드(QB-R5F1026A) 기능인 PWM을 사용 해보겠습니다 .
PWM은 (Pulse Width Modulation)의 약자입니다.
타이머 2채널을 사용해서 위상이 다른 PWM을 출력합니다.
한 채널은 마스터가 되고 다른 채널은 슬레이브가 됩니다.
CK01,CK00은 분주비입니다
TS0n은 시작하는 레지스터입니다
TDR0n,TDR0p은 데이터 레지스터입니다
TCR0n,TCR0p는 카운터 레지스터입니다
사이클타임 1000ms, 듀티비 10%을 만들어보겠습니다
채널0을 MASTER, 채널1을 SLAVE로 했습니다
사이클을 1000ms로 했습니다
듀티비를 10%로 했습니다
코드제너레이터를 통해서 만들어진 레지스터를 확인해보겠습니다
Pulse period가 1000ms Duty factor 가 10%가 나오면 됩니다
1. Pulse period
현재 사용하는 MCU의 클럭은 8Mhz로 설정이 되어있습니다.
TPS0 = _0007_TAU_CKM0_FCLK_7 | _0000_TAU_CKM1_FCLK_0 | _0000_TAU_CKM2_FCLK_1 | _0000_TAU_CKM3_FCLK_8;
_0007_TAU_CKM0_FCLK_7 는 0x0007입니다.
주파수가 62.5kHz 이므로 주기는 0.000016s 입니다(Counter clock period)
TDR00은 62499입니다 (마스터꺼)
Pulse period = (62499+1)*0.000016 = 0.9992s (약1000ms)
2. Duty factor
TDR00은 62499입니다 (마스터꺼)
TDR01은 6250입니다(슬레이브꺼)
Duty factor = 6250*(62499+1)*100 = 10%
채널1을 슬레이브로 했으므로 TO01 에서 출력이 발생합니다
'ABOV > 이론' 카테고리의 다른 글
ABOV MCU (A94B114) 클럭 (0) | 2021.10.30 |
---|---|
르네사스 MCU STOP MODE 사용하기 (0) | 2021.09.19 |