目录
前言
DSP的定时器使用比较简单,涉及到的寄存器较少,借助用户开发手册以及C2000提供的例子就可学会使用。定时器在嵌入式开发中应用比较普遍,使用定时器时注意线程竞争的问题,定时器可以看做又开了一个线程。
一、DSP的定时器是怎样的?
1.定时器怎样工作的
28377D有三个32位CPU定时器(TIMER0/1/2),其中CPU-Timer0 和 CPU-Timer1 可用于用户应用程序。 CPU-Timer2 保留用于实时操作系统(例如,TIRTOS)。 如果应用程序没有使用操作系统,则可以在应用程序中使用 CPU-Timer2。定时器框图如下
CPU-Timer 的一般操作如下:
• 32 位计数器寄存器 TIMH:TIM 装入周期寄存器 PRDH:PRD 中的值,然后TIMH:TIM计数寄存器每隔一个TIMCLK就减小1,直到计数到0,完成一个周期的计数,产生一个中断信号。完成一个周期的计数后,在下一个定时器输入时钟开始时 TIMH:TIM 重装入周期寄存器 PRDH:PRD 中的值。
• TIMCLK周期就由TDDRH:TDDR 寄存器控制,PSCH:PSC寄存器重装入TDDRH:TDDR中的值,然后每隔一个SYSCLKOUT周期PSCH:PSC寄存器的值减1,直到减为0然后重装数值,PSCH:PSC寄存器从N减到1的周期就为TIMCLK周期
定时器中断信号传递框图如下