1. 定时器工作原理
DSP28335的CPU Time有三个,分别为Timer0,Timer1,Timer2,其中,Timer2是为操作系统DSP/BIOS保留的,当未移植操作系统时,可用作普通定时器;
这三个定时器的中断信号分别是TINT0,TINT1,TINT2,分别对应于中断向量INT1,INT13,INT14;
定时器有一个预分频模块和一个定时/计数模块;
其中预分频模块包括一个16位的定时器分频寄存器(TDDRH:TDDR)和一个16位的预定标计数器(PSCH:PSC);
定时/计数模块包括一个32位的周期寄存器(PRDH:PRD)和一个32位的计数寄存器(TIMH:TIM);
当系统时钟(SYSCLKOUT)来一个脉冲,PSCH:PSC预定标计数器减1,当PSCH:PSC预定标计数器减到0的时候,预定标计数器产生下溢向定时器的32位计数器TIMH:TIM借位;即TIMH:TIM计数器减1,同时PSCH:PSC可以重载定时器分频寄存器(TDDRH:TDDR)的值;当计数寄存器TIMH:TIM减到0产生下溢的时候,计数寄存器会重载周期寄存器(PRDH:PRD)的值;同时产生一个中断信号给CPU;
2. 定时器相关寄存器
寄存器 | 名称 |
TIMERnTIM | Timern 计数寄存器低位 |
TIMERnTIMH | Timern 计数寄存器高位 |
TIMERnPRD | Timern 周期寄存器低位 |
TIMERnPRDH | Timern 周期寄存器高位 |
TIMERnTCR | Timern 控制寄存器 |
TIMERnTPR | Timern 预定标寄存器低位 |
TIMERnTPRH | Timern 预定标寄存器高位 |
表格中n取值0~2;
3. 定时周期计算公式
△T = Freq x Period / 150000000(s)
Freq默认为150MHZ;
若需要定时△T值为1s;则Freq=150,Period=1000000