微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 嵌入式目标模块在DSP系统开发中的应用

嵌入式目标模块在DSP系统开发中的应用

时间:03-04 来源:电子设计应用 点击:


图3 Matlab下DSP应用模块仿真及下载示意图

编程下载之前,先要对F2812 eZdsp模块进行编译属性、目标板和仿真器的选择设置,以及Real-Time Workshop的属性设置,具体步骤如下:

1. 打开CCS2.20,选择合适的硬件仿真器,此处选择F2812 XDS510 Emulator,打开DSP软件集成开发环境。

2.在Matlab下输入ccsboardinfo命令显示出来,查看Embedded Target for TI C2000 DSP所支持的板卡及驱动,如用户升级仿真器或更换板卡,则需安装相应的驱动程序,才能支持对应的物理设备。

3. 右键点击F2812 eZDSP,对评估板硬件链接模块进行编译、链接和运行等选项的设置。注意,在设置BuildOptions属性时,若没有连接目标板或仿真器,则BuildAction只选择Build,可编译生成C代码;若有目标板及仿真器,则可选择Build_and_execute,实现C代码的编译下载及实时运行。

4. 在DSPBoard选项中选择与目标板一致的DSP芯片类型,并更改DSP板标号,如F2812 PP Emulator等,本文改为F2812 XDS510 Emulator。

5. 设置Real-Time Workshop的相关属性,可以根据个人的习惯进行定制。

经过上述设置步骤之后,可以选择工具菜单内的Real-Time Workshop下的Build Model生成仿真模型对应的C语言代码,Matlab的Command窗口会显示后台处理的详细过程,代码的编译及链接
过程在CCS中也会有显示。最后,CCS会自动打开Matlab所生成的软件项目代码,CCS中显示出来的SPWM项目的框架(F2812_SPWM.pjt)如图4所示,一共有F2812_SPWM_ main.c等14个C语言子程序、SPWM.cmd文件和一些头文件。所生成的逆变控制器C代码,保留了模型中相应的变量名,具有良好的可读性和可维护性,其中所生成CAN通信的主要源代码如下:

/* CAN 邮箱发送子程序*/
{
ECanaMboxes.MBOX1.MDL.word. LOW_WORD=F2812_SPWM_B.R eadMsgADValueDutyCycle;
ECanaMboxes.MBOX1.MSGC TRL.bit.DLC = 2;
ECanaRegs.CANTRS.bit.TRS1 = 1; // set eCAN Transmit Request Set register
while(ECanaRegs.CANTA.bit.TA1 != 1 ) {} // check eCAN Transmit Acknowledge register
ECanaRegs.CANTA.bit.TA1 = 1; // clear eCAN Transmit Acknowledge register
}


图4 CCS中自动生成的

另外,用Embedded Target for TI C2000 DSP所提供的Build/Reload/Run模块,可以一步到位地将Matlab生成的C语言代码直接转为COFF文件下载到DSP逆变控制器的目标板中,不需作两个开发平台下的程序移植。如有特殊需求,还可以自行增加一些代码。这样就可以避开繁琐的编程步骤,直接进行在线算法验证,最终获取最优的控制程序实现。

结语

本文所介绍的DSP结合Matlab的应用实例较为典型。利用Matlab提供的Embedded Target for TI C2000 DSP 模块,还可完成对基于DSP的三相逆变控制器、电机控制或机器人等其他一些更为复杂的控制系统的仿真、直接编程下载和算法设计验证,实现DSP系统开发的一步到位。该方法简单有效、性价比高、开发周期短、适用范围广,有一定的参考价值和通用性。

参考文献

1 Mathworks Corp. Embedded Target for TI C2000 (tm) DSP[Z], 2004
2 Mathworks Corp.External Interfaces/API[Z],2000
3 MATLAB及在电子信息课程中的应用. 电子工业出版社, 2002
4 张雄伟. DSP芯片的原理与开发应用(第二版)[M].北京:电子工业出版社,1997

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top