理论教育 探秘2.732位CPU定时器技术

探秘2.732位CPU定时器技术

时间:2023-06-15 理论教育 版权反馈
【摘要】:28x器件有三个32位CPU定时器0/1/2。一般CPU定时器2保留给实时操作系统,CPU定时器0、1留给用户使用。CPU定时器的框图如图2-14所示。在28x DSP中,CPU定时器中断信号向CPU申请中断信号如图2-15所示。减到0时,保存在32位周期寄存器中的周期值被重新装入32位计数寄存器,同时产生定时器中断信号。在高级语言环境下,如果遇到断点,这两位决定定时器的状态。置1时定时器停止。复位时TSS为0,CPU定时器立即开始工作。

探秘2.732位CPU定时器技术

28x器件有三个32位CPU定时器(CPU TIMER)0/1/2。一般CPU定时器2保留给实时操作系统(RTOS),CPU定时器0、1留给用户使用。CPU定时器的框图如图2-14所示。

在28x DSP中,CPU定时器中断信号978-7-111-57271-8-Chapter02-84.jpg向CPU申请中断信号如图2-15所示。

在使用CPU定时器时,首先向32位计数寄存器(TIMH:TIM)内装入计数值,该值放在周期寄存器(PRDH:PRD)中。然后计数器按(TPR[TDDRH:TDDR]+1)SYSCLKOUT的周期递减,这里,TDDRH:TDDR为分频系数,SYSCLKOUT为系统时钟即CPU时钟。减到0后,就有一个定时器中断信号输出。CPU定时器包括如下寄存器。

978-7-111-57271-8-Chapter02-85.jpg

图2-14 CPU定时器框图

978-7-111-57271-8-Chapter02-86.jpg

图2-15 CPU定时器中断信号和输出信号

(1)计数寄存器TIMERxTIM和TIMERxTIMH(x=0,1,2)

16位CPU计数寄存器TIM含32位计数值(TIMH:TIM)中的低16位,16位寄存器TIMH含32位计数值(TIMH:TIM)中的高16位。每过(TDDRH:TDDR+1)个时钟时,(TIMH:TIM)就减1。减到0时,保存在32位周期寄存器(PRDH:PRD)中的周期值被重新装入32位计数寄存器(TIMH:TIM),同时产生定时器中断信号。

(2)周期寄存器TIMERx PRD和TIMERx PRDH(x=0,1,2)

16位CPU周期寄存器PRD含32位计数值(PRDH:PRD)中的低16位,16位寄存器PRDH含32位计数值(PRDH:PRD)中的高16位。计数寄存器(TIMH:TIM)减到0时,在下一个定时器输入时钟的开始,周期寄存器(PRDH:PRD)中的周期值被重装入32位计数寄存器(TIMH:TIM)。当定时器控制寄存器TCR中的TRB位置1时,重装载也会发生。

(3)控制寄存器TIMERx TCR(x=0,1,2)

978-7-111-57271-8-Chapter02-87.jpg

●位15,TIF:定时器中断标志位。定时器减到0时置1,写1后清除。(www.daowen.com)

●位14,TIE:定时器中断使能位。置1使能中断。定时器减到0时,定时器发出中断请求。

●位13~12、位9~6、位3~0,保留位。

●位11~10,FREE SOFT:定时器仿真模式位。在高级语言环境下,如果遇到断点,这两位决定定时器的状态。在遇到软件断点后,如果FREE=1,则定时器继续运行。如果FREE=0,且SOFT=0,则定时器在(TIMH:TIM)寄存器下一次减操作时立即停止。如果FREE=0,且SOFT=1,则定时器在(TIMH:TIM)寄存器减到0时才停止。

●位5TRB:定时器重装载位。置1时,(TIMH:TIM)自动将(PRDH:PRD)的值装入,且(PSCH:PSC)自动将(TDDRH:TDDR)的值装入。

●位4,TSS:定时器停止状态位。置1时定时器停止。置0时定时器开始工作。复位时TSS为0,CPU定时器立即开始工作。

(4)预定标寄存器TIMERx TPR和TIMERx TPRH(x=0,1,2)

16位预定标寄存器TIMERxTPR格式如下。

978-7-111-57271-8-Chapter02-88.jpg

●位15~8,PSC:预定标计数器(Prescale Counter)。当(PSCH:PSC)大于0时,每个SYSCLKOUT时钟都使(PSCH:PSC)减1。减到0后的第一个时钟会使(TDDRH:TDDR)的值装入(PSCH:PSC),同时(TIMH:TIM)减1。当寄存器TCR中的TRB位置1时,重装载也会发生。(PSCH:PSC)的值不能由软件设置,只能由(TD-DRH:TDDR)装入。复位后(PSCH:PSC)为0。

●位7~0,TDDR:定时器分频系数(CPU Timer Divide Down Ratio)。每(TDDRH:TDDR+1)个SYSCLKOUT时钟,会使(TIMH:TIM)减1。复位时(TDDRH:TDDR)清0。(PSCH:PSC)为0后的第一个时钟,或寄存器TCR中的TRB位置1时,都会使(TDDRH:TDDR)的值重新装入(PSCH:PSC)。

16位预定标寄存器TIMERx TPRH格式如下。

978-7-111-57271-8-Chapter02-89.jpg

寄存器TIMERx TPRH的用法是与TIMERx TPR一起组成预定标计数器与分频系数。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈