基于DSP28335的Matlab/Simulink代码生成实验一:点亮LED
分享一下学习Simulink代码生成的一点经验,目的是通过代码生成来代替控制程序的编写,实现对电机的控制;控制器采用的是DSPF28335,先通过简单的实验来熟悉代码生成的过程。
分享一下学习Simulink代码生成的一点经验,目的是通过代码生成来代替控制程序的编写,实现对电机的控制;控制器采用的是DSPF28335,先通过简单的实验来熟悉代码生成的过程。
首先是环境配置,代码生成需要用到CCS、Matlab两个平台,具体的配置过程可以看一下这两篇文章:
Matlab/Simulink代码生成到dsp系列(一)基础配置_simulink生成dsp代码-CSDN博客
Matlab生成dsp程序——环境搭建(c2000系列[F28335、F2837x]都适用)_matlab自动生成28335代码如何安装各个软件-CSDN博客
按照流程配置好代码生成环境后,就可以开始实验啦!
硬件连接
PWM1A与F28335的GPIO0引脚相连,由图3.1可以看出LED在低电平时亮,高电平时灭。
图3. 1LED电路
模型搭建
“LED实验模型”如图3.2所示
图3. 2LED实验模型
用MATLAB/Simulink R2018b或者更高版本MATLAB/Simulink新建仿真模型。
第一步:加入计数模块
双击该模块,弹出以下窗口。通过修改“Upper Limit”的值改变计数的次数,通过修改“Sample Time”改变计数一次的时间,这里按照图3.3所示进行设置。设置完毕后先点击“Apply”按钮使设置生效,再点击“OK”按钮,关闭参数对话框。
图3. 3Counter Limited参数对话框
第二步:加入“Compare To value”模块
双击该模块,弹出以下窗口。通过 “Operator”下拉框选择比较的方式。通过修改“Constant value”设置比较值,这里按照图3.4所示进行设置。设置完毕后先点击“apply”按钮使设置生效,再点击“ok”按钮,关闭参数对话框。
图3. 4Compare To value参数对话框
第三步:加入“Digital Output”模块
双击该模块,弹出以下窗口。通过 “GPIO Group”下拉框选择引脚所在组别,勾选要使用的引脚,这里按照图3.5所示进行设置。设置完毕后先点击“apply”按钮使设置生效,再点击“ok”按钮,关闭参数对话框。
图3. 5Digital Output参数对话框
下载运行
第一步:DSP板上电
用MATLAB/Simulink R2018b或者更高版本MATLAB/Simulink打开“Lab03_LED_Experiment.slx”,如图3.6所示。
图3. 6模型“A_LED_Experiment.slx”打开界面
其中“1”为模型配置按钮,点击该按钮,弹出如下对话框,在该对话框中可以进行自动代码生成前的配置,主要包括求解器“Solver”的配置,硬件实现“Hardware Implementation”的配置以及代码生成“Code Generation”的配置。
图3. 7模型配置按钮对话框
模型配置对话框打开后默认停在上次配置的选项上,由于是第一次打开,所以停在“Solver”选项上。如图3.7所示,在“Solver”选项中可以配置“Simulation time”(配置仿真的起始时间和终止时间),“Solver selection”(选择求解器的类型)以及“Solver details”(设置求解器步长,单位为秒)等。这里,我们按照图中所示进行设置即可。
接着进行“Hardware Implementation”的配置,如图3.8所示。
首先选择目标硬件,在“Hardware board”下拉框中找到“TI Defino F2833x”并选择。
然后配置目标硬件的资源,在“Build Action”中设置编译选项,在“Device name”中选择具体的硬件型号,勾选“boot from flash”,代码下载到芯片的FLASH中,不勾选则默认下载到芯片的RAM中,此处我们不勾选。
图3. 8“Hardware Implementation”选项的设置
最后配置”Code generation”:先配置生成的代码类型;再选择生成的代码支持的编译器类型;这里,按照图3.9所示进行配置即可。配置完成后点击“OK”按钮,关闭模型配置对话框。
图3. 9“Code Generation”的配置
“2”是“Build,Deploy&Start”,模型编译下载按钮,点击该按钮,模型会自动编译,在matlab路径下生成目标代码,同时将程序下载至DSP核心板并自动运行。
观察实验结果
实现现象:LED闪烁,持续重复。
上述内容讲解了代码生成模型搭建的实现思路。大家点点收藏的同时,麻烦点点赞同哦,谢谢! 由于国内的Matlab大都是魔法版,代码生成支持包无法直接下载,若有需要可在咸鱼(灼青云)购买。
更多推荐
所有评论(0)