DSP28335测试总结
单次除法:250个时钟周期,约为1.6667?s 单次正弦:82个时钟周期,约为0.5533?s 5、补充说明:
系统时钟周期为SYSCLKOUT?1/150MHz?0.0067?s?6.7ns 6、浮点运算正弦值并画图
4 DSP定时器中断
4.1 DSP28335的定时器
TMS320F28335一共有3个32位CPU定时器,其中定时器0可以被用户使用,定时器1和定时器2则被保留为实时操作系统使用(这是文件《DSP2833x_CpuTimers.c》中的说法,而手册《2823x System Control and Interrupts Reference Guide》中讲0和1可用而2被保留。这一点如有必要需更多的测试)。 本程序中主要涉及的定时器寄存器有计数寄存器TIM(32位,分高16位和低16位)、周期寄存器PRD(32位,分高16位和低16位)、定时器分频寄存器TDDR(16位,分高8位和低8位)以及定时器控制寄存器TCR。 4.2定时器分频
本程序定时器的分频值为零,则进行1分频,定时器周期等于系统输出时钟周期。
11
DSP28335测试总结
如下图,分频值可以在文件DSP2833x_CpuTimers.c中的函数void InitCpuTimers(void)中去修改。
4.3 计数器计数
每过一个定时器时钟周期,定时器计数器寄存器TIM减1,当TIM递减到0时,产生一个CPU中断信号并将PRD的值重载到TIM中,TIM继续递减计数。 详参资料《2823x System Control and Interrupts Reference Guide》第62页,如下图:
4.4定时器时钟周期
定时器时钟周期?(TDDRH:TDDR+1)?1SYSCLKOUT
即对系统时钟进行分频而得到。
注:详参任润柏,周荔丹等.TMS320F28x源码解读,北京:电子工业出版社,2010,24~37.
5 DSP看门狗复位
5.1看门狗时钟
看门狗时钟发生器:WDCLK = CLKOUT/512,当HALT时停止。
12
DSP28335测试总结
6-bits预定标WDPS选择:将WDCLK再分频后送给看门狗定时器。WDPS为WDCR的2~0 位。其6-bits配置作用如下:
000 WDCLK=OSCCLK/512/1; 001 WDCLK=OSCCLK/512/1; 010 WDCLK=OSCCLK/512/2; 011 WDCLK=OSCCLK/512/4; 100 WDCLK=OSCCLK/512/8; 101 WDCLK=OSCCLK/512/16; 110 WDCLK=OSCCLK/512/32; 111 WDCLK=OSCCLK/512/64; 5.2看门狗系统控制和状态寄存器(SCSR)
高13位均保留,只控制低3位:
5.3看门狗计数寄存器(WDCNTR)
计数器WDCNTR:
低8位为计数器,当低8位溢出时,产生一个复位信号。此寄存器为只读寄
13
DSP28335测试总结
存器。
5.4看门狗重启管理器(WDKEY)
利用软件定时向看门狗复位控制寄存器WDKEY写“0x55+0xAA”序列,即可以复位看门狗计数器:
void ServiceDog(void) {
EALLOW;
SysCtrlRegs.WDKEY = 0x0055; SysCtrlRegs.WDKEY = 0x00AA;
EDIS; }
看门狗重启管理器(WDKEY)的低8位参与控制,只有先写入55h后写入AAh后重启看门狗计数器。不是此顺序写入55h或AAh,则无效。写入其他数值时则产生复位信号。
5.5看门狗控制寄存器(WDCR)
14