DSP原理学习笔记--第五章--TIMER
第五章 定时器
5.1 概 述
- DSP集成了两个32位的通用定时器,可以用于计时、事件计数,产生脉冲、CPU中断信号以及EDMA的同步信号
- 定时器的输入时钟可以由内部产生,也可以是外部时钟
- 定时器有输入/输出引脚(TINP/ TOUT),可配置为输入/输出时钟,也可以配置为通用I/O口
5.2 控制寄存器
定时器控制寄存器(CTL)
定时器周期寄存器和计数寄存器
Timer Period Register (PRD)
Timer Count Register (CNT)
5.3 计数器工作模式—时钟源
- 定时器时钟信号可以是内部时钟,或由TINP管脚外部输入,由控制寄存器中的CLKSRC位进行选择。
- 选择DSP内部时钟时,固定为CPU时钟频率的1/4 (clock/4)。
- 可以利用INVINP位来控制计数动作由时钟信号的上升沿还是下降沿触发。
5.3 计数器工作模式—计数
- 当定时器计数达到定时器计数周期寄存器中设定的值后,会在下一个CPU时钟处立即复位为0。
因此计数器计数范围是从0到N。如果设置计数周期为2,时钟源为CPU clock/4,那么启动后,定时器的计数状态是:
0,0,0,0,1,1,1,1,
2,0,0,0,1,1,1,1,
2,0,0,0,1,1,1,1,
- 计数周期是8个CPU时钟周期(2×4),而不是12个CPU时钟周期(3×4)。
5.3 计数器工作模式—启动与停止
配置定时器需要以下4个基本的步骤:
- 如果定时器没有挂起,将HLD字段置0,挂起定时器。注意:复位后,定时器处于挂起状态
- 将期望值写入定时器周期寄存器
- 将相应值写入定时器控制寄存器,不要改变GO和HLD字段的值
- 将GO和HLD字段置1,启动定时器
5.3 计数器工作模式—输出信号
脉冲模式(CP=0):
方波模式(CP=1):
5.4 示例程序输出的脉冲信号
DSP clock = 100MHz
PRD=0x0000000A /* set timer period */ TIMER_CTL_PWID_TWO
5.4 示例程序输出的方波信号
DSP clock = 100MHz
PRD=0x0000000A /* set timer period */