Matlab/Simulink代码生成到dsp系列(一)基础配置

0 引言

        TI 公司 C2000 系列的 DSP 芯片主要面向数字控制、运动控制领域。在电机控制领域占有主导的地位。但是传统的代码开发方法周期较长,效率不高,有时可读性较差,难以修改、维护。随着工业技术的发展,控制系统的开发流程要求更低的成本和更短的周期,而 MATLAB/Simulink 配合 TI 公司的 DSP 正好为此提供一个很好的代码自动生成开发平台。缩短开发周期,提高可靠性,简化在调试过程中对参数的修改。用户可以在 Simulink 环境中将代码直接下载 到目标板并运行代码,简化代码开发过程,提高开发效率。
        

1 环境搭建

1.1 安装Matlab/simulink 2018b以上版本

Matlab/Simulink代码生成到dsp系列(一)基础配置_第1张图片

1.2 安装CCS9

Matlab/Simulink代码生成到dsp系列(一)基础配置_第2张图片

1.3 安装C2000 Simulink工具箱

        打开 MATLAB 2018b, 在“”下,选择 Get Hardware Support Packages, 打开会出现下图所示
界面,点击 Embedded Coder Support Package For Texa instruments C2000

Matlab/Simulink代码生成到dsp系列(一)基础配置_第3张图片

Matlab/Simulink代码生成到dsp系列(一)基础配置_第4张图片

打开硬件支持包后,点击 安装

Matlab/Simulink代码生成到dsp系列(一)基础配置_第5张图片

等待一会,出现如下图所示界面,点击“我接受”,然后点击“下一步”。

Matlab/Simulink代码生成到dsp系列(一)基础配置_第6张图片

Matlab/Simulink代码生成到dsp系列(一)基础配置_第7张图片

 等待支持包下载安装

Matlab/Simulink代码生成到dsp系列(一)基础配置_第8张图片

 安装完毕后,点击“立即设置”

Matlab/Simulink代码生成到dsp系列(一)基础配置_第9张图片

 进入到下图的页面后,选择对应的芯片,点击“Next”。

Matlab/Simulink代码生成到dsp系列(一)基础配置_第10张图片

Matlab/Simulink代码生成到dsp系列(一)基础配置_第11张图片

 进入到下图的页面,会自动绑定 controlSUITE 的安装路径,点击“Ne'x't”。

Matlab/Simulink代码生成到dsp系列(一)基础配置_第12张图片

        进入到下图所示的页面后,指定 CCS 的安装路径,点击“ Browse , 按照如图所示的文件
夹路径,点击“选择文件夹”,最后点击“ Validate ”校验即可进入到下一页面。

Matlab/Simulink代码生成到dsp系列(一)基础配置_第13张图片

Matlab/Simulink代码生成到dsp系列(一)基础配置_第14张图片

        在这个界面下需要注意的是 Code Generation Tools 工具的选择,点击“ Browse , 安装的
CGT 工具可以在 C:\ti\ccs901\ccs\tools\compiler\ti-cgt-c2000_18.12.1.LTS 目录下寻找,配置完成
之后,点击“ Validate ”进行工具链的验证。

Matlab/Simulink代码生成到dsp系列(一)基础配置_第15张图片

Matlab/Simulink代码生成到dsp系列(一)基础配置_第16张图片

点击“ Validate ”验证 controlSUITE ,会自动跳转到下一个界面,最后点击“ Next ”安装成
功。

Matlab/Simulink代码生成到dsp系列(一)基础配置_第17张图片

Matlab/Simulink代码生成到dsp系列(一)基础配置_第18张图片

 1.4 安装 MinGW-w64 C/C++

        MATLAB 固然强大,其中的 Simulink 更是理工科仿真、建模研究中不可缺少的工具,一
般而言 MATLAB/Simulink 能满足多数使用要求,但是往往在研究中会使用 User-difinition
S-Function 或者调用 C C++ 的库函数,这时候就需要 MATLAB 能进行 C C++ 以及 Fortran
语言的编译。 但是 MATLAB 本身是没有包含上述语言的编译器,因此通常需要安装 MinGW ,要求 Windows 系统为 64 位。
        第一步:单击工具栏上的“附加功能”图标,在弹出的下拉菜单中选择“获取附加功能”
选项,如图所示。

Matlab/Simulink代码生成到dsp系列(一)基础配置_第19张图片

        第二步:单击“获取附加功能”选项,在弹出的下拉菜单中单击“安装”按钮,如图所示。

Matlab/Simulink代码生成到dsp系列(一)基础配置_第20张图片

        第三步:在弹出的安装页面单击“我接受”按钮,然后在安装结束后,在 MATLAB 命令
窗口中键入: mex-setup

Matlab/Simulink代码生成到dsp系列(一)基础配置_第21张图片

 第四步:点击如上所示安装 C++语言编译,会得到如下图的提示。

Matlab/Simulink代码生成到dsp系列(一)基础配置_第22张图片

  1.5 安装 Control SUIT

        安装 ControlSuite 是为了后期生成代码时, MATLAB 能够直接从中找到需要的库文件、头
文件和支持代码。进行解压,下图所示,打开 “controlSUITE3.4.5setup”.
Matlab/Simulink代码生成到dsp系列(一)基础配置_第23张图片

 选择和 CCS 同样的安装路径

Matlab/Simulink代码生成到dsp系列(一)基础配置_第24张图片

 2 simulink基础配置

2.1模型搭建步骤

还是拿LED点灯为例,一个简单的GPIO控制

模块说明:
(1)For Iterator Subsystem 模块是一个预先配置的 Subsystem 模块,可以作为一个起点,用于创建在仿真 时间步期间重复执行指定的迭代次数的子系统。
(2) Terminator ,使用 Terminator 模块终止输出端口
未连接其他模块的模块。
(3)Constant 模块生成实数或复数常量值。
(4) Logical Operator 模块对其输入执行指定的逻 辑运算。
(5) Unit Delay 模块按指定的采样期间保持和延迟输入。
(6) Lamp 模块显示指示输入信号值的颜色。
(7) Scope 模块显示信号波形。
        首 先 ,新 建 一 个 空 的 Simulink 模 型 ,命 名 为 28335_led 并保存,在模块浏览器中找到 Constant Logi⁃ cal Operator、 Unit Delay For Iterator Subsystem Out1 模 块。其中,Constant 模块中的参数可以设置为任意整 数,在这里取 50 ;将 Logical Operator 中的 AND 改为
XOR ;双 击 进 入 For Iterator Subsystem 中 ,将 In1 和 Out1 删除,在加入一个 Terminator 并与 For Iterator 连 接,如图 1 所示。 For Iterator 中的 Iteration limit 参数控 制 LED 闪烁的频率,这里取 3000000

Matlab/Simulink代码生成到dsp系列(一)基础配置_第25张图片

将所有模块连接,如图 2 所示。至此, LED 闪烁的控制模块搭建完成。

Matlab/Simulink代码生成到dsp系列(一)基础配置_第26张图片

 2.2 LED闪烁测试

        在搭建完闪烁模型之后,现在 Simulink 中仿真一 下模型是否可以正常工作。加入 Lamp Scope 模块。双击进入 Lamp 模块,设置如图 3 所示。

Matlab/Simulink代码生成到dsp系列(一)基础配置_第27张图片

连接各模块如图 4 所示。运行之后, Lamp 模块会进行红绿色的交替闪烁。

Matlab/Simulink代码生成到dsp系列(一)基础配置_第28张图片

        验证完模型功能之后,将 Lamp Scope 模块删 掉,加入 Digital Output (C2833x)模块,与 Logical Opera⁃ tor 模块连接,如图 5 所示。

Matlab/Simulink代码生成到dsp系列(一)基础配置_第29张图片

 3 自动代码生成配置

        打 开 Model Configuration Parameters ,选 择 Hard⁃ ware Implementation,在 Hardware board 中选择 TI Del⁃ fino F28335。(我的是28377,原理都一样) 

Matlab/Simulink代码生成到dsp系列(一)基础配置_第30张图片

Matlab/Simulink代码生成到dsp系列(一)基础配置_第31张图片

Matlab/Simulink代码生成到dsp系列(一)基础配置_第32张图片

 采样时间也设置一下,以led反转为0.5s吧

 Matlab/Simulink代码生成到dsp系列(一)基础配置_第33张图片

后面要设置和芯片匹配的文件了

作者:文采大力立诚00
链接:https://wenku.baidu.com/view/6265af4dac1ffc4ffe4733687e21af45b307fed5.html

Groups⾥⾯是⼀些资源的声明,类似ccs⼯程中的寄存器地址分配的⽂件。⾸先Build options设置为Build、load、run。


use custom linker command file勾选上,然后在Linker command file中可以点击Browse选择FLASH还是RAM。(这⾥说⼀下既然ccxml可以写修改,那么cmd⽂件应该也是能够修改的)
CCS hardware configuration file:选择默认路径的⽂件,但是需要⾃⼰去ccs中修改你的烧写器版本(100v1、100v2、100v3等等)。点击Browse复制下当前的地址,然后在CCS中File……Open File:然后输⼊相关路径点击转到,然后找到那个f28377/f28335.ccxml⽂件,修改对⽤的烧写器的版本(100v1、100v2、100v3等等)。然后保存,可以连接上板⼦进⾏测试⼀下(点击Test Connection),成功是弹出的对话框最后⾯会有success。

Matlab/Simulink代码生成到dsp系列(一)基础配置_第34张图片

 CCS内的配置,不熟悉可以看一下CCS的教程

Matlab/Simulink代码生成到dsp系列(一)基础配置_第35张图片

 Matlab/Simulink代码生成到dsp系列(一)基础配置_第36张图片

 Matlab/Simulink代码生成到dsp系列(一)基础配置_第37张图片

 设置好了之后再把文件选上

Matlab/Simulink代码生成到dsp系列(一)基础配置_第38张图片

在Code Generation中选择执⾏优先、ROM优先、RAM优先。
 

Matlab/Simulink代码生成到dsp系列(一)基础配置_第39张图片

 Report中勾选如下:

Matlab/Simulink代码生成到dsp系列(一)基础配置_第40张图片

 然后点击Apply以及OK完成设置直接点击进⾏模型构建。这是可能会报错,当前⽬录在Matlab根⽬录的错误,直接在命令窗⼝进⾏相应的修改就可(最好定位到本Simulink⽂件存储的位置)。

按照上述步骤设置完成之后,将开发板连接到主 机上,然后点击编译按钮,生成代码的报告如图 6
所示。 代码生成完成之后,再用 CCS 对其建立工程并编 译,如图 所示。
Matlab/Simulink代码生成到dsp系列(一)基础配置_第41张图片

 

Matlab/Simulink代码生成到dsp系列(一)基础配置_第42张图片
Matlab/Simulink代码生成到dsp系列(一)基础配置_第43张图片
另外强调的一点是,所有目录下只能是英文字母,不然会报错,包括Simulink下的目录,
报错如下

然后开发板上的LED就bulinbulin的闪了

还有什么要补充的呢。。。

你可能感兴趣的:(matlab,开发语言,经验分享,学习)