Simulink与TMS320F28027联合仿真

作者: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。

        笔者第一次写专栏,有错误还请指正。转载请注明出处,谢谢合作。

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: TMS320F28335是德州仪器(Texas Instruments)推出的一款数字信号处理器(DSP)芯片,其具有高性能、低功耗和丰富的外设接口,常用于嵌入式系统、自动控制领域等。而Simulink是MathWorks公司推出的一款基于模型的设计和仿真平台,提供了直观的图形化界面和丰富的模块库,可用于系统级仿真和嵌入式代码生成。 要在TMS320F28335上使用Simulink进行C语言封装仿真,首先需要安装好对应的TMS320F28335的支持包,该支持包可以从MathWorks官网下载并安装。安装完成后,打开Simulink,在库浏览器中选择相关的TMS320F28335支持包的模块库,该模块库中包含了该芯片的各种外设驱动模块。 接下来,可以使用Simulink进行图形化搭建仿真模型。通过选择合适的模块,如输入输出模块、信号处理模块、算法模块等,将这些模块进行连线连接,形成一个完整的仿真模型。在连线过程中,可以根据实际需求调整模块的参数、采样周期等,并通过仿真器选择TMS320F28335作为目标硬件。 在完成模型的搭建后,即可进行仿真操作。点击Simulink界面上的仿真按钮,Simulink将会将模型转换为C语言代码,并与TMS320F28335硬件进行交互,实现仿真。在仿真过程中,可以观察信号波形、系统响应等,对仿真结果进行分析和验证。 根据仿真结果,可以继续优化模型或调整算法参数,以达到设计要求。当模型满足要求后,还可以通过Simulink进行嵌入式代码生成,将生成的代码下载到TMS320F28335芯片上运行,并进行实时系统验证。 总而言之,TMS320F28335芯片与Simulink可以很好地结合,通过Simulink的图形化界面和丰富的模块库,可以方便地进行C语言封装仿真,并为嵌入式系统设计提供更高效、可靠的开发支持。 ### 回答2: TMS320F28335是德州仪器(Texas Instruments)推出的一款高性能数字信号处理器(DSP),而Simulink是MathWorks公司开发的一款集成式的仿真和模型设计工具。C语言是一种通用的编程语言。封装Simulink仿真意味着通过使用C语言编写代码,将TMS320F28335与Simulink连接起来,以便在DSP上进行Simulink仿真。 首先,需要在TMS320F28335上搭建一个基本的C语言开发环境,包括安装CCS(Code Composer Studio)等必要的编译器和工具。在环境准备好之后,可以开始进行封装Simulink仿真的工作。 其次,需要将TMS320F28335的外设与Simulink模型进行连接。根据所需的仿真需求,可以选择将输入信号传递给TMS320F28335上的ADC(模数转换器),或者将来自DSP的输出信号传递给DAC(数模转换器)。这一步需要使用C语言编写代码来配置和控制TMS320F28335的外设。 接下来,需要将Simulink的模型转化为C代码,以便在TMS320F28335上运行。这可以通过使用Simulink Coder进行实现。Simulink Coder可以将Simulink模型自动生成对应的可嵌入式系统的C代码。将这些生成的C代码与之前编写的控制和配置代码进行整合。 最后,将整合后的代码通过CCS编译器进行编译和烧录到TMS320F28335中。完成了烧录后,TMS320F28335就可以开始执行Simulink模型的仿真了。可以通过调试功能对运行中的代码进行调整和优化。 通过TMS320F28335封装Simulink仿真,可以方便地在DSP上进行验证和测试。这种封装方法不仅可以加快仿真过程,还可以减少传统方式下可能出现的硬件设计和调试工作量,节省开发成本和时间。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值