对DSP5509A时钟发生器的调试
设计了一块DSP+FPGA系统的数据采集板,但是怎么才能确定设计的DSP部分是可以正常工作的呢?FPGA部分的好测试。
对于DSP能否正常工作可从以下几个方面进行测试:
1、上电检测DSP的CLKIN引脚,用示波器查看波形是否失真,电压是否在合理范围内;
2、配置CLKMD寄存器使PLL在锁相模式,用示波器测量CLKOUT脚是否跟预计的频率一样,目的是检测PLL能否正常工作。
测试代码:
#include <csl.h>
#include <csl_pll.h>
#include <csl_chip.h>
#include <csl_gpio.h>
void delay();
#define IODIR (*(volatile ioport unsigned short *)0x3400)
#define IODATA (*(volatile ioport unsigned short *)0x3401)
#define SYSR (*(volatile ioport unsigned short *)0x07FD)
#define CLKMD (*(volatile ioport unsigned short *)0x1C00)
main()
{
CSL_init();//初始化CSL,使用任何CSL函数前必须初始化,只需初始化一次
CLKMD = 0x0873;//产生48mhz,lock module,48mhz是CPU时钟
SYSR = 0x0001;//此时CLKOUT应该输出24mhz</strong>
IODIR = 0xFF;
while(1)
{
IODATA = 0x040;
delay();
IODATA = 0x00;
delay();
}
}
void delay()
{
Uint32 j = 0,k = 0;
for(j = 0;j<0x30;j++)
{
for(k= 0;k<0xffff;k++)
{}
}
}
代码里加入了一个LED灯的控制,目的显示代码确实已经执行了。
这时用示波器检测CLKOUT脚,你会发现此时的CLKOUT频率刚好是24MHZ!那就说明DSP模块是可以正常使用的啦。