《DSP技术与实验》
实验报告
化学实验报告单总流体力学实验报告观察种子结构实验报告观察种子结构实验报告单观察种子的结构实验报告单
姓名:
学号:
学期:
实验名:看门狗实验
一、实验目的
1.了解VC5509内部WDT的工作基本原理
2.了解如何通过软件正确的使用WDT
3.了解WDT的正确操作过程
二、实验设备
1.一台装有CCS4的电脑
2.HX5509 dsp 开发板
3.XDS100-USB V1仿真器
三、实验原理
硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位如果出现死循环,或者说PC指针不能回来。那么定时时间到后就会使单片机复位。常用的WDT芯片如MAX813 ,5045, IMP 813等,价格4~10元不等.
软件看门狗技术的原理和这差不多,只不过是用软件的方法实现,用DSP的片上外设资源定时器timer来对主程序的运行进行监控。
HX5509的看门狗包括一个16bit的预定标计数器和一个16bit 的主计数器。从而提供一个32bit的动态范围计数器。当主计数器
减为0时,产生超时事件,引发以下可编程事件
1.00b,一个看门狗定时器中断
2.01b,看门狗复位
3.10b,产生一个非屏蔽中断(NMI)
4.11b,不发生任何事件.
所产生的超时事件,用过编程控制寄存器WDTCR中的WDOUT域来控制。
四、实验步骤
1.打开CCS4,打开watchdog工程,编译工程
2.连接好DSP,连接好仿真器
3.设置目标configuration
a.点击target 下的new target configuration选项
b.Connection选择Texas Instruments XDS100V1-USB
Emulator
c.Device选择TMS320C5509A
d.点击Save配置,如图
五、实验结果及分析
六、参考文献
所有实验说明.pdf
TMS320C55x DSP原理及应用汪春梅,孙洪波,电子工业出版社
附件:程序及说明
#include
#include
#include
int i, pscVal;
WDTIM_Config getConfig;
WDTIM_Config myConfig = {
0x1000, /* WDPRD */
0x0000, /* WDTCR */
0x1000 /* WDTCR2 */
};
main()
{
CSL_init();
#if (_WDTIM_SUPPORT)
WDTIM_config(&myConfig);
WDTIM_FSET(WDTCR, WDOUT, 1); /* Connect to NMI */
WDTIM_FSET(WDTCR, TDDR, 0xF); /* Value to load PSC field */ WDTIM_FSET(WDTCR2, PREMD, 0); /* Set direct mode */
WDTIM_service(); /* enable watchdog */
//for (i = 0; i < 100; i++)
for (;;)
{
WDTIM_getConfig(&getConfig);
pscVal = WDTIM_FGET(WDTCR,PSC);
printf("pscVal: %x, wdtcr: %x\n",
pscVal, getConfig.wdtcr);
/* write periodically to WDTIMER - when this line is commented out,
the watchdog times out, WDFLAG set to 1, indicating
that a Watchdog time-out occurred.*/
WDTIM_service();
} //end for loop
#endif
}
/******************************************************************** **********\
* End of wdt.c
\******************************************************************** **********/