|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一、CPU定时器概述, d( t- W1 P }5 X
DSP为了精确控制时间,以满足控制某些特定事件的要求,定时器是不可缺少的内容。
$ g* z' l/ T K1 p" l, ? o% C* w6 C! R6 P( L
二、CPU定时器工作原理
' K1 @1 c. G+ P! @1 L(1)在CPU定时器工作前,先要根据实际的需求,计算好CPU定时器周期寄存器的值,然后给周期寄存器PRDH:PRD赋值。
" y4 A( |; C6 Y. Y& X! B" s% E5 Q$ d(2)启动定时器开始计数,PRDH:PRD里面的值装在金定时器计数寄存器TIMH:TIM中。
; F2 T9 u5 k; g- R(3)计数器TIMH:TIM里面的值每隔一个TIMCLK就减小1,直到计数到0
7 T1 ]9 T; Q' j( E5 r(4)此时,CPU计时器会产生一个中断信号。
: }! S2 c3 q# @" Q6 y3 F1 u& @(5)完成一个周期的计数后,在下一个定时器输入时钟周期开始时,周期寄存器PRDH:PRD里面的值重新装载如计数器寄存器TIMH:TIM中
/ u' F; \$ M9 s: e8 b# N一个定时器周期所经历的时间就等于(PRDH:PRD+1)×TIMCLK( O7 w6 W7 O, K' c: F
) L/ y ~( Z, g5 u: Q其中,TIMCLK由TDDRH:TDDR和PSCH:PSC控制:
) V6 D! }0 l3 s(1)先给TDDRH:TDDR赋值/ q8 ]2 Y+ V; F
(2)装载入PSCH:PSC中,每隔一个STSCLKOUT脉冲,PSC中的值减1,PCS中值为0的时候,输出一个TIMCLK,从而使TIM减10 E! i% H: Q8 d% N
一个TIMCLK就等于TDDR+1个系统时钟时间
) K5 Z0 Q8 |7 v7 _6 F
0 v3 D. V9 k" I" U% \三、CPU定时器的配置函数
- ]% q" t! F# n+ g: X4 U) @, g& O调用方法:
, P- L- Y! i9 X$ e* K7 L7 L
7 P' n; a; }; x) K: V' I9 KConfigCpuTimer(&CpuTimer0, 150, 1000000);
p( {9 K Q6 z7 k: ]18 ~5 E3 E$ q3 k# ^. Z5 S% y; C
第一项为CPU定时器序号,第二项为CPU主频,第三项为时间周期设置,若要设置周期为1s,则设置为1*1000000
# b! G" d/ ~' W/ |6 G) A! v0 F5 ~" c- [
! I6 [# J% k; n7 D, { |
|