0 引言

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

1 环境搭建

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

 

1.2 安装CCS9

 

1.3 安装C2000 Simulink工具箱

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

 

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

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

 

 

 等待支持包下载安装

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

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

 

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

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

 

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

 

 

 

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

 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 命令 窗口中键入:mex-setup。

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

  1.5 安装 Control SUIT

        安装 ControlSuite 是为了后期生成代码时,MATLAB 能够直接从中找到需要的库文件、头 文件和支持代码。进行解压,下图所示,打开“controlSUITE3.4.5setup”.

 选择和 CCS 同样的安装路径

 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。

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

 

 2.2 LED闪烁测试

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

 

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

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

 3 自动代码生成配置

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

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

 

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

作者:文采大力立诚00
链接:https://wenku.baidu/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/f28335xml⽂件,修改对⽤的烧写器的版本(100v1、100v2、100v3等等)。然后保存,可以连接上板⼦进⾏测试⼀下(点击Test Connection),成功是弹出的对话框最后⾯会有success。

 

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

 

 

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

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

 Report中勾选如下:

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

 

按照上述步骤设置完成之后,将开发板连接到主 机上,然后点击编译按钮,生成代码的报告如图 6 所示。 代码生成完成之后,再用 CCS 对其建立工程并编 译,如图所示。  

 

另外强调的一点是,所有目录下只能是英文字母,不然会报错,包括Simulink下的目录, 报错如下

 

 

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

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

 

 

 

 

更多推荐

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