DSP28335中文资料 - 图文 下载本文

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