Motorola MC68HC908MR32 사용자 설명서

다운로드
페이지 388
Timer Interface A (TIMA)
Functional Description
MC68HC908MR16/MC68HC908MR32 — Rev. 4.0
Advance Information
 
MOTOROLA
Timer Interface A (TIMA)
 211
11.4.4.3  PWM Initialization
To ensure correct operation when generating unbuffered or buffered 
PWM signals, use this initialization procedure:
1. In the TIMA status and control register (TASC):
a.
Stop the TIMA counter by setting the TIMA stop bit, TSTOP.
b.
Reset the TIMA counter by setting the TIMA reset bit, TRST.
2. In the TIMA counter modulo registers (TAMODH–TAMODL), write 
the value for the required PWM period.
3. In the TIMA channel x registers (TACHxH–TACHxL), write the 
value for the required pulse width.
4. In TIMA channel x status and control register (TSCx):
a.
Write 0:1 (for unbuffered output compare or PWM signals) or 
1:0 (for buffered output compare or PWM signals) to the mode 
select bits, MSxB–MSxA. (See 
.) 
b.
Write 1 to the toggle-on-overflow bit, TOVx.
c.
Write 1:0 (to clear output on compare) or 1:1 (to set output on 
compare) to the edge/level select bits, ELSxB–ELSxA. The 
output action on compare must force the output to the 
complement of the pulse width level. (See 
NOTE:
In PWM signal generation, do not program the PWM channel to toggle 
on output compare. Toggling on output compare prevents reliable 
0 percent duty cycle generation and removes the ability of the channel 
to self-correct in the event of software error or noise. Toggling on output 
compare can also cause incorrect PWM signal generation when 
changing the PWM pulse width to a new, much larger value.
5. In the TIMA status control register (TASC), clear the TIMA stop bit, 
TSTOP.
Setting MS0B links channels 0 and 1 and configures them for buffered 
PWM operation. The TIMA channel 0 registers (TACH0H–TACH0L) 
initially control the buffered PWM output. TIMA status control register 0 
(TASC0) controls and monitors the PWM signal from the linked 
channels. MS0B takes priority over MS0A.