作者:Chapter 1
链接:https://zhuanlan.zhihu.com/p/32740891
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
德州仪器的TMS320F28027具有4个EPWM模块,可以有8路PWM输出,主频60MHz,LQFP48封装,成本低,国内外有很多电源产品拿F28027做控制器。通过联合仿真可以实现Simulink模型到F28027硬件程序的一步转换。本期笔者测试了F28027与Simulink联合仿真的功能,把过程和结果分享给大家。
软件环境:MatlabR2017b,CCS 6.0.1.00040 ,controlSUITE 3.4.7,Texas Instruments C2000 Ware 1_00_03_00。
硬件环境:TMS320F28027 LaunchPad
步骤:
STEP1,打开matlab2017b,点击获取硬件支持包,如图1。安装“Embedded Coder Support Package for Texas Instruments C2000 Processors“,如图2。

图1

图2
STEP2,选择要联合仿真的硬件并点击Next,如图3。按照要求安装CCS,controlSUITE,C2000WARE,MATLAB会自动检测有没有安装相应的软件,如果软件都已安装完成,提示如图4(版本可能略微不同)。然后一直点击Next直到安装完成。

图3

图4
STEP3,进行Simlink与F28027联合仿真。打开MATLAB R2017b,选择附加功能管理,如图5。右键“Embedded Coder Support Package for Texas Instruments C2000 Processors”点击打开文档,如图6。点击图7红框“串行外部模式下参数整定与信号记录”中的Open Model。貌似只有这一个示例模型可以使Simulink与F28027联合仿真。

图5

图6

图7
STEP4,设置simulink模型,点击OpenModel,Simulink界面如图8。选择仿真参数设定(simulink窗口上方的齿轮,模型参数配置)并按图9所示设定参数,Hardwareboard选择F2802x(boost from flash),串口波特率设定合适值(经笔者测试F28027launchpad可以工作在波特率支持上限921600),注意SCI_A中波特率需和设备管理器中波特率一致。

图8

图9
STEP5,硬件设置,F28027lauchpad连接电脑后,在设备管理器中找到lauchpad对应的串口号,如图10,笔者串口号为COM2。回到模型参数设置,选择与设备管理器相对应的COM口,如图11。Lauchpad上的拨码开关位置如图12所示.

图10

图11

图12,LunchPad拨码开关位置
STEP6,点击运行,仿真结果和用户界面如图13所示。我自己写的ADC测试程序及仿真结果如图14图15所示,仿真结果中上部分波形为计算输出信号波形,下部分波形为ADC开路测试到的工频信号波形。

图13

图14

图15
总结
串口波特率921600情况下ADC1kHz的采样数据可以正常上传,波特率太低,可能无法实时上传完所有数据而出现数据丢失,表现为SCOPE显示波形不连续。
Simulink可以实现一键编译并下载到F28027 FLASH,但是编译时间较长,上图简单的模型的编译加下载仿真大概需要1分钟。
Simulink对F28027的支持还有PWM模块、DI、DO、SCI、SPI、IIC、IQmath等模块,应该可以实现大部分以往需要CCS编程可以完成的功能。
联合仿真中的模型貌似只支持Simulink Library 中的Discrete Block。
笔者第一次写专栏,有错误还请指正。转载请注明出处,谢谢合作。
本文介绍了如何在Matlab R2017b环境下,利用Embedded Coder Support Package for Texas Instruments C2000 Processors进行TMS320F28027的Simulink联合仿真。详细步骤包括安装硬件支持包、设置Simulink模型、硬件配置,并展示了ADC测试程序的仿真结果。该过程支持PWM模块、DI、DO等多个功能模块,适用于快速原型验证和控制算法开发。
3758

被折叠的 条评论
为什么被折叠?



