2.2.6为了防止电源低电压,本文采用了电源电压监测芯片MAX706RESA,它检测电路在上电和电源电压低时都发出复位信号使整个系统复位,同时还具有看门狗定时器功能,在1.6s内DSP的WDI引脚电平不翻转,就会给DSP发一个可靠复位信号,增强了抗干扰能力。
2.3 DSP56F803与XC95XL144的接口的设计
本文在安排XC95XL144引脚时遵循的主要原则是电气特性相似的同一组输入输出口尽量放在同一个宏单元,排列顺序根据布线方便为原则。通用板DSP56F803与XC95XL144的接口包括:数据选择线DS、低位数据线D0-D7、低位地址线A0-A3以及A6 作为XC95XL144的复位控制端、六路PWM输出信号以及三路出错保护引脚PWMFAULTA0- PWMFAULTA2、外中断IRQA和IRQB。这里只介绍一下XC95XL144的通用功能,其它具体的功能要根据具体的电力电子应用需求来修改VHDL语言程序。
DSP56F803的地址线A6模式设置为通用输入输出口,作为XC95XL144的复位控制RESET,当RESET置低时,XC95XL144复位,输出口置为低电平(高电平有效)。DSP56F803的六路PWM输出作为XC95XL144的输入与它连接,对应有六个输出口,可对它们进行一定的逻辑操作后输出,这样可应用于更广泛的控制场合。电力电子主电路部分的过压、过流信号输入到CPLD,经过一定的逻辑,触发DSP外中断IRQA、IRQB或PWM出错保护引脚PWMFAULT来实现保护功能。DSP56F803的数据选择线DS连在XC95XL144,与低位地址线配合,控制4组每组8路输入输出口的读写操作。在使用输入输出口时一般都确定了具体是输入还是输出,因此本文设计时为提高稳定性,确定其中两组输入口和两组输出口。
3 软件设计
对于DSP56800系列产品,Motorola提供两种软件开发工具:一个是Codewarrior集成开发环境,是一种可靠的用语交叉汇编、交叉C编译、链接和调试的开发工具。Metrowerks公司属Motorola,它的Codewarrior集成开发环境包含了一个可视化的工程创建和管理系统,对源代码文件和库进行全面的管理,降低了工程的复杂性。另外一种是软件开发工具Embedded SDK,它并不是DSP开发必需的,但是它可以大大的减轻开发工作的难度,加快开发的速度。对于DSP外设的各模块的子程序的编写采用Embedded SDK很容易掌握,这里就不详细介绍了。
对于CPLD,本文首先采用Xilinx Foudation3.li软件编译仿真。通过低位地址选择和地位数据线实现对两组输入、输出口控制部分的源程序如下:
PROCESS(RD,RESET) //读进程
BEGIN
IF(RESET='1' )THEN //复位信号
internal_bus_in ELSIF( RD='0')THEN
IF(A0='0' AND A1='0')THEN //地址选择
internal_bus_in ELSIF( A1='0' AND A0='1')THEN
internal_bus_in END IF;
ELSE
internal_bus_in END IF;
D END PROCESS;
PROCESS(WRR,RESET) //写进程
BEGIN
IF(RESET='1') THEN
IOC IOD ELSIF( WR'EVENT AND WR='1') THEN
IF( A0='0' AND A1='0') THEN
IOC ELSIF(A1='0' AND A0='1') THEN
IOD END IF;
END IF;
END PROCESS;
在进行DSP和CPLD综合调试时,针对DSP56F803对XC95XL144输入输出口的读写,本文根据DSP56800系列汇编指令集,开发了对CPLD I/O 读写操作的SDK软件包,对相应的I/O口读写只需简单的调用软件包程序。
4 结束语
本文设计的基于电力电子应用平台的DSP通用板,DSP的各外设扩展功能模块已经在DSP56800的软件开发工具Embedded SDK基础上,通过编写一些小程序调试完毕。XC95XL144在Xilinx Foudation 3.li软件仿真通过后,进行综合试验,然后烧入芯片进行实验,并根据实际运行情况,对程序进行了改进。本文作者创新点是开发了DSP对CPLD 四组I/O口读写操作的SDK软件包并完成了DSP和CPLD的综合调试,提高了通用板的灵活性。
分享到: QQ空间 新浪微博 腾讯微博 人人网
更多