写在最开始:
本文是一位热心的小伙伴撰写并推荐,原文出自知乎,原文作者:Chapter1 。
正文如下:
德州仪器的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“,如下图:
图 1
图 2
STEP2:选择要联合仿真的硬件并点击Next,如图。按照要求安装CCS,controlSUITE,C2000WARE,MATLAB会自动检测有没有安装相应的软件,如果软件都已安装完成,提示如图(版本可能略微不同)。然后一直点击Next直到安装完成。
图 3
图 4
STEP3:进行Simlink与F28027联合仿真。打开MATLAB R2017b,选择附加功能管理,如图。右键“Embedded Coder Support Package for Texas Instruments C2000 Processors”点击打开文档,如图。点击图中红框“串行外部模式下参数整定与信号记录”中的Open Model。貌似只有这一个示例模型可以使Simulink与F28027联合仿真。
图 5
图 6
STEP4:设置simulink模型,点击OpenModel,Simulink界面如图所示。选择仿真参数设定(simulink窗口上方的齿轮,模型参数配置)并按图中所示设定参数,Hardwareboard选择F2802x(boost from flash),串口波特率设定合适值(经笔者测试F28027launchpad可以工作在波特率支持上限921600),注意SCI_A中波特率需和设备管理器中波特率一致。
图 7
图 8
STEP5:硬件设置,F28027lauchpad连接电脑后,在设备管理器中找到lauchpad对应的串口号,如图,笔者串口号为COM2。回到模型参数设置,选择与设备管理器相对应的COM口,如图11。Lauchpad上的拨码开关位置如图所示。
图 9
图 10
图 11
STEP6:点击运行,仿真结果和用户界面如图所示。我自己写的ADC测试程序及仿真结果如图所示,仿真结果中上部分波形为计算输出信号波形,下部分波形为ADC开路测试到的工频信号波形。
图 12
图 13
图 14
总结:
(1)串口波特率921600情况下ADC1kHz的采样数据可以正常上传,波特率太低,可能无法实时上传完所有数据而出现数据丢失,表现为SCOPE显示波形不连续。
(2)Simulink可以实现一键编译并下载到F28027 FLASH,但是编译时间较长,上图简单的模型的编译加下载仿真大概需要1分钟。
(3)Simulink对F28027的支持还有PWM模块、DI、DO、SCI、SPI、IIC、IQmath等模块,应该可以实现大部分以往需要CCS编程可以完成的功能。
(4)联合仿真中的模型貌似只支持Simulink Library 中的Discrete Block。
出处:
原文链接:
https://zhuanlan.zhihu.com/p/32740891utm_source=qq&utm_medium=social&utm_oi=37529952714752。
文章收集整理于网络,如有侵权,请联系小编删除