matlab生成DSP可执行算法研究_第1页
matlab生成DSP可执行算法研究_第2页
matlab生成DSP可执行算法研究_第3页
matlab生成DSP可执行算法研究_第4页
matlab生成DSP可执行算法研究_第5页
免费预览已结束,剩余7页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、matlab生成DSP可执行算法的研究编写:徐鹏利用RTW-EQReal-TimeWorkshopEmbeddedCode等工具为用户算法自动生成嵌入式代码,这是一种高效、实用的方法,他的核心思想是让工程师把主要精力集中于算法的研究上,把枯燥、困难的代码编写工作留给计算机自动完成,这样可以大大缩短产品的开发周期,降低市场风险.目前matlab主要支持的处理器有:TI几乎全系列的DSPX86架构等处理器,提供几乎全部的驱动,使得开发DS杯需要在CC部编代码,非常方便做算法.下面我以2阶倒立摆的LQR最优化限制为例子,介绍一下matlab自动生成dsp全部代码、工程的过程:第一步:安装CCSv3.

2、3,usb100仿真器驱动,配置CC涛,见附件视频.第二步:安装matlab,最好安装2021b及以上版本,这里我用的是matlab2021b.第三步:建立simulink模型,我们知道,倒立摆有两个角度,分别为主动臂和从动臂,这两个角度用位置式编码器来采集,而主动臂由一个直流电机驱动,直流电机驱动器输入需要-10伏到+10伏,以限制电机的正转、反转.Second5tagjePotentiometersFirststageF点击翻开simulink.新建一个model.在simulink库中找到'用选中其中的.ornmonTargetPreferences,然后看右边的框,选择力口至U

3、model中.,双击此图标,出现配置配置如上,由于我们使用的是Tms320F281膻款DSPTargetPreferences匚.这是配置模块生成代码的目标dsp的型号,以便生成相应的DSP弋码,它本身无连接线,放在model中即可Iuntitled*匚忙|区FileEditView写inyl料tionFormatTo0lsJueBCHelpD百口昌黄岫跑|3q行|二.|卜降而工三TargetPreferencesReady100弘FixedStepDiscrete下面我们使用DSP的QE国通用IO来获取我们想要的通道及数据,QE提DS附可以计算电机转子转的脉冲数,只要将它取到,除以转一周的总

4、脉冲数,再乘以兀,就转换成角度了.下面我们把SIMULINK中打包好的dsp外设模块拿进来,在simulink-SupportedProcessors+-AnalogDevicesBlackfin+-FreescaleMPC5xx+-InfineonC166-TexasInEtrumerrtsC2000p<20O2xjC渤3x1-C20OXI-<281xk-C28x3x31I-Hu©SCI+-Optimization库中刚刚位置找到|小31m所刎铺g,看到有c2812,双击可以看到很多2812的外设,这些都可以直接使用.我们需要用QE可口数字输出,选择QEP莫块和Digi

5、tOutput模块,添加到model中.GPI口>OC281MC231xent>QEPQEPDigitalOutputTargetPrtfertnees这些模块需要进行配置一下,具体可以看matlab的help文件,我只介绍所需模块如何配置,如QEP莫块,EV所口EV略有一个,我们使用了两路QEP设置如下:SinkBlockPara*eters:DigitalOutputXC281kGPIODigitalOutput(mask)(link)八ThedigitalI/Oportsnoduleprovidesaflexiblemethodforcontrollingbothdedica

6、tedI/Oandsharedpinfunctions*AllI/Oandsharedpinfunctionsarecontrolledusingnine1S-bitregisters.ParajaetersGPIOA0Bit0 BitI Eit2鼻 Eit3 Bit4 Eit5 BitE Eit7 Eit8 Eit9 Eit10 Bit11 Eit12nBit13k1ROKCancelHelpApply这样配置两个QE济口12个IO输出,由于外接的DA是12位的,中间的算法不再赘述,本文主要介绍一种DSP1算法的比拟省力的步骤,但首先必须对DSPffi关东西熟悉.最后做出的整体模块如下所示,

7、这时候我们就可以生成代码了.Reai-TivnePositionControlllEojbl«i首先要翻开ccs,确定ccs能够连上dsp._HALTED点击model中simulation的ConfigurationParameters,配置Solver再配置Real-timeworkshop,看是否如下图,一般配置好目标期间,这里也相应配置好了现在可以生成代码了,点击model中的图,开始生成C代码及DSP工程,这个过程完全是自动的.生成过程一定要保持dsp与ccs上位机连接,一旦断开或异常就会终止生成.可以重新进行生成过程.可以看到matlab主界面生成过程Command蜥in

8、do哂# #Connectingt.CadeCamposerStudio(tin).TargetPreferencesblockspecifiesthattheSoardnamed''willbeusedtoriHowever,sinceonlyboardnamed-F2B12XDS61DEmulator'isfoundinyoursys"#Generatingcodeintobuilddirectory:E:workjiatlabdaclibaidsp_balanci#InvckingTargetLanguageCompilerondsp_balance.r

9、tw# #UsingSystemTargetFile:D:Softnatlab201Obtaalboiidelinkfoundatiai#LeadingTLCfunctionLibrariesWarning:ThedatatypenintusesawordsirethatisnotavailableantheFixed-pcintsignalsusingthisdatatypewillbeputinsidealargerwonextrasoftwarewillbegeneratedtoforcethislargerwordorjnulti.wordstoword.Thisemulationis

10、helpfulwhenyourprertatypetargetandyourfinalproductiontargetarenotthesameiIfthesmallerwordsizedees1K)Texistonthefinalproductiontargetthenconsiderincreasingthewordsizetaonethatissupported.Warning:Thedatatype"uint8usesawordsizethatisnotavailableanthiWarning:Thedartatype"b0口IesiTusesawardsizet

11、hatisnotavailableon# #Initialpassthraughmodeltocacheuserdefinedcode# #Cachingmodelsourcecode# #Writingheaderfiledsp_balanceih# #Writingheaderfiledsp_balanc6_typesh# #Writingheaderfilertwtypesih#Writingheaderfiledsp_balance-h#Witingheaderfiledsp_balance_types.hWitingheaderfilertwtypes.h#Writingheader

12、filert_ncnfinite.h酢itingsourcefilert_nonfinite.c#虹itingheaderfilertGetlnf.h4#/Witingsourcefilertijetlnf.cheaderfilertGetllaN.h#WritingWritingsourcefilertGetNall.c#WritingWitingsourceheaderfilefiledsp_balance»cdsp_balamce_privateih#WritingWritingsourcesourcefilefiledsp_balance_data,cdsp_talance_main.c#S#TLCcodegenerationcomplete,.Creatingproject:E:workmatlabdaolibaidsp_balance_ticcsdsp_balaruce.Projectrrsationdjtine.BuildingprojectEuilddone.Downloadingprogram;E:workmatlabdaolibaid3p_balance_ticcsd3p_balaniDownloaddone.inn可以看到生成的project文件夹目录路径.这时候看到

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论