matlab生成DSP可执行算法研究.docx

上传人:b****3 文档编号:1423866 上传时间:2022-10-22 格式:DOCX 页数:10 大小:319.95KB
下载 相关 举报
matlab生成DSP可执行算法研究.docx_第1页
第1页 / 共10页
matlab生成DSP可执行算法研究.docx_第2页
第2页 / 共10页
matlab生成DSP可执行算法研究.docx_第3页
第3页 / 共10页
matlab生成DSP可执行算法研究.docx_第4页
第4页 / 共10页
matlab生成DSP可执行算法研究.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

matlab生成DSP可执行算法研究.docx

《matlab生成DSP可执行算法研究.docx》由会员分享,可在线阅读,更多相关《matlab生成DSP可执行算法研究.docx(10页珍藏版)》请在冰豆网上搜索。

matlab生成DSP可执行算法研究.docx

matlab生成DSP可执行算法研究

matlab生成DSP可执行算法的研究

编写:

徐鹏

利用RTW-EC(Real-TimeWorkshopEmbeddedCode)等工具为用户算法自动生成嵌入式代码,这是一种高效、实用的方法,他的核心思想是让工程师把主要精力集中于算法的研究上,把枯燥、困难的代码编写工作留给计算机自动完成,这样可以大大缩短产品的开发周期,降低市场风险。

目前matlab主要支持的处理器有:

TI几乎全系列的DSP、X86架构等处理器,提供几乎全部的驱动,使得开发DSP不需要在CCS中编代码,非常方便做算法。

下面我以2阶倒立摆的LQR(最优化控制)为例子,介绍一下matlab自动生成dsp全部代码、工程的过程:

第一步:

安装CCSv3.3,usb100仿真器驱动,配置CCS等,见附件视频。

第二步:

安装matlab,最好安装2008b及以上版本,这里我用的是matlab2010b。

第三步:

建立simulink模型,我们知道,倒立摆有两个角度,分别为主动臂和从动臂,这两个角度用位置式编码器来采集,而主动臂由一个直流电机驱动,直流电机驱动器输入需要-10伏到+10伏,以控制电机的正转、反转。

点击,打开simulink。

新建一个model。

在simulink库中找到,选中其中的,然后看右边的框,选择,添加到model中。

配置,双击此图标,出现

配置如上,因为我们使用的是Tms320F2812这款DSP。

这是配置模块生成代码的目标dsp的型号,以便生成相应的DSP代码,它本身无连接线,放在model中即可。

下面我们使用DSP的QEP及通用IO来获取我们想要的通道及数据,QEP是DSP中可以计算电机转子转的脉冲数,只要将它取到,除以转一周的总脉冲数,再乘以π,就转换成角度了。

下面我们把SIMULINK中打包好的dsp外设模块拿进来,在simulink库中刚才位置找到,看到有c2812,双击可以看到很多2812的外设,这些都可以直接使用。

我们需要用QEP和数字输出,选择QEP模块和DigitOutput模块,添加到model中。

这些模块需要进行配置一下,具体可以看matlab的help文件,我只介绍所需模块如何配置,如QEP模块,EVA和EVB各有一个,我们使用了两路QEP,设置如下:

这样配置两个QEP和12个IO输出,因为外接的DA是12位的,中间的算法不再赘述,本文主要介绍一种DSP做算法的比较省力的步骤,但首先必须对DSP相关东西熟悉。

最后做出的整体模块如下所示,这时候我们就可以生成代码了。

首先要打开ccs,确定ccs能够连上dsp。

点击model中simulation的ConfigurationParameters,配置Solver

再配置Real-timeworkshop,看是否如图所示,一般配置好目标期间,这里也相应配置好了。

现在可以生成代码了,点击model中的,开始生成C代码及DSP工程,这个过程完全是自动的。

生成过程一定要保持dsp与ccs上位机连接,一旦断开或异常就会终止生成。

可以重新进行生成过程。

可以看到matlab主界面生成过程

可以看到生成的project文件夹目录路径。

这时候看到ccs里已经有一个工程文件了,编译一下没有错误。

这样这个工程就可以用了,非常简便,不需要写任何DSP代码,只要编好算法即可,省去了大量麻烦。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1