使用Simulink进行DSP C2000程序开发
写在前面:
软件环境的搭建先不写了,等后续再补上来,专栏主要记录使用Simulink进行DSP C2000程序开发的学习过程
第一章 仿真环境配置
1.设置步长
- 上图中 4 需要根据实际情况进行设置,程序生成后会产生一个Time0定时器,此时间为进入中断的时间,此时间可以适当增大,以防止程序频繁进入中断,影响程序正常运行。
2.设置硬件
- 上图中 3设置存储的
**.cmd
文件,可以使用Browser导入写好的**.cmd
文件,也可以使用Edit对**.cmd
文件进行直接修改(不推荐)。关于cmd文件的结构及修改方法,此处不做具体介绍,请自行百度。- 上图中 4设置Target配置,可在CCS中Target Configuration设置完成后通过Browser导入,也可以通过Edit直接修改其对应的XML文件。
3.设置代码生成部分
- 至此,Simulink的仿真设置已经完成。
Subsystem单独成块方法
- 在低版本中,可以通过Model Configuration Parameters->Code Generation->Interface->Code Interface最下面的
Configure Model Functions
中进行修改,其修改过程可以参照Simulink代码生成:Step函数接口配置进行修改。- 但是在新版本中,MathWorks取消了该选项,如下图所示。
- 目前没有找到其统一配置的设置入口,因此采用对单个Subsystem模块进行配置的方法实现上述功能。具体操作如下。
新版本
- 使用一个GAIN模块实现输入乘5输出为例进行演示,其模型如下。
- 在
Subsystem
上右键,选择Block Parameters(Subststem)
- 勾选
Treat as atomic unit
,并设置采样时间。如果子系统中的模块可以不同的速率运行,则为子系统指定继承采样时间,此处为-1;如果所有模块必须以相同的速率运行,则将与此速率对应的采样时间指定为Sample time参数的值。(此处更详细的信息请查看MathWorks提供的帮助文档。)
- 完成上述设置后点击Code Generation,将2设置为
Reusable function
,3可以根据自己需要进行设置,若设置为User specified
,则需要输入函数名,此处输入Gains进行验证。其中File name options也可以进行单独设置,选择Auto
则不会生成新的.c文件,选择其他选项回升新的.c文件,此处保持为Auto
。
- 编译代码,可以看到此时Gains函数已经以子函数的形式生成。
- 在复制Subsystem时如果不修改函数名,即使修改Subsystem中的参数,但是不对其中模块进行修改,则在生成的C代码中也不会生成多个Subsystem函数。若要生成多个Subsysem函数,应修改函数名(
Function name options
)。