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<="ZZZZZZZZ";//内部总线信号
ELSIF( RD='0')THEN
IF(A0='0' AND A1='0')THEN //地址选择
internal_bus_in<=IOA;
ELSIF( A1='0' AND A0='1')THEN
internal_bus_in<=IOB;
END IF;
ELSE
internal_bus_in<="ZZZZZZZZ";
END IF;
D<=internal_bus_in;
END PROCESS;
PROCESS(WRR,RESET) //写进程
BEGIN
IF(RESET='1') THEN
IOC<="00000000";
IOD<="00000000";
ELSIF( WR'EVENT AND WR='1') THEN
IF( A0='0' AND A1='0') THEN
IOC<=D;
ELSIF(A1='0' AND A0='1') THEN
IOD<=D;
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的综合调试,提高了通用板的灵活性。
参考文献:
[1]邵贝贝,龚光华,刘永毅等。Motorola DSP型16位单片机原理与实践。北京:北京航空航天大学出板社,2003
[2]DSP56800 16-bit Digital Signal Processor Family Manual。2003。(12)
[3]DSP56F801/803/805/807 16-Bit Digital Signal Processor User’s Manual
[4]陈仕高,姜久春,牛利勇。DSP在直流无刷电机中的应用。微计算机信息,2006,1:143-145