最近在做三相逆变器,需要三路SPWM信号进行调试。自己用CCS编写了一套程序,但是在ram里运行结果正确,在flash里运行基波就从50HZ变为了10HZ,通过更改正弦表数据类型和数据容量还是出现同样的问题。于是刘老师建议用matlab自动生成代码来产生信号,经过了2天摸索,终于将MATLAB和我的F28335开发板链接成功,现分享一下经验。
注意:Matlab2013b以及之后的版本中,Embedded Code中只有C5000和C6000系列,C2000需要从主界面-Home-AddOns-Get Hardware Support Package中下载,需要Mathwork账号(未测试过盗版是否可以下载)。之前的版本也没尝试过,所以嫌麻烦的话就直接安装2013a版本。
/*********20170511添加****************/
任意版本Matlab可以通过Get Hardware Support Package下载C2000支持包,且Mathwork账号注册不需要许可证。见:http://blog.csdn.net/u012565167/article/details/71621856
链接教程:
1.安装路径:
CCSV6安装路径: D:\TI\ccsv6
MATLAB2013a安装路径: D:\Program Files\MATLAB\R2013a
2.下载bios和flash配置文件
DSP/BIOS下载地址:http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dspbios/index.html
flash配置文件在controlsuite软件里,安装包较大,可以直接下载我上传的C2000系列flash配置文件。
CONTROLSUITE软件下载地址:http://www.ti.com/tool/controlsuite
flash配置文件下载地址:http://download.csdn.net/detail/u012565167/9766889
两个配置文件都放到TI根目录里,BIOS安装方法见:http://blog.csdn.net/mdqaq/article/details/53759696
3.测试CCS与开发板的连接,并拷贝配置文件(*.ccxml)到TI根目录
此时,TI根目录有文件如下:
4.matlab中xmakefilesetup配置
在Matlab中输入xmakefilesetup,首先将display operationalconfiguration only的勾选去掉,然后在configuration的下拉中选择ticcs_c2000_ccsv5。
点击Apply后选择安装文件夹及编译器文件夹,之后会多出来一个Tool Directories选项,检查安装位置是否正确。
点击new,新建配置文件ticcs_c2000_ccsv6,此时Tool Directories选项消失,Execute选项可更改。
在Execute Tool中选择: D:\TI\ccsv6\ccs_base\scripting\bin\dss.bat
在Arguments中添加:"D:\PROGRA~1\MATLAB\R2013a\toolbox\idelink\extensions\ticcs\ccsdemos\runProgram.js" "D:\TI\F28335_XDS100V2.ccxml" "[|||MW_XMK_GENERATED_TARGET_REF[E]|||]"
配置完成,配置文件会在MATLAB文档里,也可以打开修改。
5.配置系统环境变量
在MATLAB中键入checkEnvSetup('ccsv5','f28335','setup'),依次修改软件目录、编译器目录、BIOS目录和FLASH目录
之后在我的电脑->属性->高级系统设置->高级->环境变量中添加系统变量XDCROOT,并且设置目录如下:
MATLAB主窗口显示结果如下:
之后使用checkEnvSetup('ccsv5','f28335','check')确认配置正确无误。
6.打开simulink,设置CCS版本以及芯片配置
点击paramenter->Code Generation->Coder Target->Target Hardware Resources
在IDE/TOOL中选择CCSV5,Board中选择SD F28335 eZdsp(可选RAM或者FLASH运行)
在配置里,还可以选择只编译不运行,连接器我选择了idelink_ert.tlc
7.编译程序,生成程序后自动下载到开发板中
点击simulink右上角build model或者安ctrl+B编译程序,连接成功下载进DSP中结果如图
配置完成,在这里发一下SPWM波的例程,供大家参考
http://download.csdn.net/detail/u012565167/9766982