基于DSP模型的快速代码的生成

时间:2024-01-29 点赞:49576 浏览:99407 作者原创标记本站原创

本文是一篇现代电子技术论文范文,现代电子技术方面硕士学位论文,关于基于DSP模型的快速代码的生成相关硕士学位毕业论文范文。适合现代电子技术及自然科学及控制系统方面的的大学硕士和本科毕业论文以及现代电子技术相关开题报告范文和职称论文写作参考文献资料下载。

摘 要:TMS320F2812DSP是控制系统开发中很好的硬件设计平台,但传统的TIDSP代码开发方法周期较长,效率不高.为了在实际控制系统开发中缩短控制算法的设计周期,提高控制器的可靠性,并简化在调试过程中对控制算法的修改,设计与开发了基于DSP的快速原型控制系统.该系统包括基于TIF2812DSP的硬件控制器和基于Matlab/Simulink的软件开发环境.用户可以在Simulink环境中利用RTW功能直接从Simulink模型自动生成可执行代码并下载到目标板,直接运行程序,从而简化DSP系统开发过程,提高开发效率.通过闪烁灯实验实时控制实验,验证了系统的有效性.

关 键 词:TMS320F2812,TIDSP,Matlab/Simulink,自动代码生成

中图分类号:TN71034,TP311文献标识码:A文章编号:1004373X(2015)06014203

FastcodegenerationbasedonDSPmodel

DENGPan,HOUZhimin

(ChengduUniversityofInformationTechnology,Chengdu610225,China)

Abstract:TMS320F2812DSPiserygoodhardwaredesignplatformincontrolsystemdevelopment,butthetraditionalmethodofTIDSPcodedevelopmenthaslongcycle,anditsefficiencyisnothigh.Inordertoshortenthecontrolalgorithmdesigncycleinactualcontrolsystemdevelopment,improvethereliabilityofthecontrollerandsimplifythecontrolalgorithmmodificationsduringmissioning,acontrolsystemofrapidprototypebasedonDSPwasdesignedanddeveloped.ThesystemincludesTIF2812DSPbasedhardwarecontrollersandMatlab/Simulinkbasedsoftwaredevelopmentenvironment.UserscantakeadvantageofRTWfunctionsintheSimulinkenvironmenttoautomaticallygenerateexecutablecodedirectlyfromSimulinkmodelsanddownloadittothetargetboardforrunningtheprogramdirectly.Therefore,thedevelopmentprocessofDSPsystemwassimplified,andthedevelopmentefficiencywasimproved.Theeffectivenessofthesystemwasverifiedbyrealtimecontrolexperimentsofflashinglights.

Keywords:TMS320F2812,TIDSP,Matlab/Simulink,automaticcodegeneration

0引言

随着现代电力电子技术的迅猛发展,兼有高运算速度和强控制能力的DSP(DigitalSignalProcessor)在逆变器、电机等电力电子设备的控制领域得到了广泛应用[1].传统的通用DSP源代码开发一般可采用两个方法:一种是直接利用其提供的汇编指令编写源代码,然后经汇编器和链接器进行汇编链接后生成目标可执行代码,另一种方法是利用标准C++语言编写源代码,经C/C++编译器、汇编器和链接器进行编译链接,最后生成目标可执行代码[2].这两种代码开发方法都使得开发人员不得不花费大量的时间用于代码的编写,从而增大开发产品难度,延长产品开发周期,影响开发效率.可以直接由Matlab的Simulink模型生成DSP的可执行代码,即在集成的、统一的Matlab环境下可完成DSP开发的整个过程[3].

DSP芯片,也称数字信号处理器,是一种具有特殊结构的微处理器,主要由处理器、存储器和片内外设三部分组成,具有强大的数据处理能力和高运行速度,加上具有可编程性,所以被广泛应用于控制系统[4].但是随着DSP的不断更新换代,硬件结构和代码的编写也越来越复杂,利用DSP的不断更新换代,硬件结构和代码的编写也越来越复杂,利用DSP进行开发时要求对DSP硬件性能和各种端口有足够的了解,开发门槛高,这样很不利于系统的快速开发[5].用户可以在Matlab中调用这些图形化的功能模块及Simulink中的其他模块建立数字信号处理的模型,并可以对模型进行仿真验证,然后生成TMS320C2000的C语言代码及CCS的工程项目文件,在CCS中经修改、编译后就可以下载到DSP目标板中运行[6].1搭建闪烁灯功能模型

可以利用模型输出一个高/低交替变换的电平来实现闪烁.在Matlab菜单栏中选择FILENEWModel,建立一个新模型,命名为led_28207,并保存,在模块浏览器中找到SimulinkSourcesConstant模块、SimulinkLogicandBitOperationsLogicalOperator模块、SimulinkDiscreteUnitDelay模块,并添加到模型中,双击打开LogicalOperator模块,将Operator项选择为XOR,选中UnitDelay模块并按下“Ctrl+I”键翻转该模块,在模块浏览器中找到SimulinkSinksScope模块,然后按图所示连接这些模块,按下仿真按钮后,添加OnOffGauges模块,可以更清晰直观地看到仿真结果,现将模型做如下修改.在模块浏览器中找到SimulinkPortSubsystemsForIteratorSubsystem,添加到模型中,双击打开ForIteratorSubsystem模块,双击打开ForIterator模块的设置对话框,将Iterationvariabledatatype项设置为int32型,在Iterationlimit项中写入3000000,作为循环次数,用以延长每个状态的持续时间.在模块浏览器中找到SimulinkSinksTerminator,添加到子系统中,并与ForIterator连接,删除In1、Out1模块,可以看到,子系统的输入/输出端口已经删去,将其命名为delay,删去原模型中的Scope模块,在模块浏览器中找到GaugesBlocksetGlobalMajicActiveXLibraryOnOffGaugesOnOffReadout模块,并将输出数据类型设置为double,修改完毕后单击“仿真”按钮,可见OnOffReadout模块不停地闪烁(见图1).

<,E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\47T1.tif>,

图1功能模型仿真

2代码模型

验证模型的功能后,将进一步把功能模型转化为代码模型,以便后期的自动代码生成工作.打开led_28027模型,在模型库中找到EmbeddedIDELinkCommonTargetPreferences模块和TargetSupportPackageSupportedProcessorsTexasInstrumentsC2000C281xDigitalOutput模块并添加到模型中,删除Add、Scope、delay子系统和SIL模块,双击打开TargetPreferences模块,在IDE/ToolChain项中选择TexasInstrumentsCodeComposerStudio,在Board项中选择TIC281x,双击打开DigitalOutput模块,在GPIOGroup项中选择GPIOA~GPIOC,然后选中GPIOB复选框,如图2所示.<,E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\47T2.tif>,

图2配置DigitalOutput模块

3自动代码生成

按上述步骤设置完毕后将目标板连接到主机上,然后单击模型工具栏的编译按钮,生成代码的报告如图3所示.

<,E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\47T3.tif>,

图3代码生成报告

代码生成完毕后将自动启动CCS软件,建立工程并对代码进行编译,如图4所示.

4硬件测试

编译完成后会自动下载.out文件并执行,led灯不停闪烁(见图5),与功能模型中的仿真结果一致,这说明自动生成的代码完全实现了在模型中设计的各项功能.

5结语

用Matlab快速建立DSP模型及直接生成C语言程序的方法,简化了DSP软件的开发.本文所提出的快速控制原型系统由于其控制性能优越且成本低,在控制实验系统中有着非常广泛的应用前景.

<,E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\47T4.tif>,

图4编译信息

<,E:\王芳\现代电子技术201506\现代电子技术15年38卷第6期\Image\47T5.tif>,

图5硬件仿真结果

采用这种开发方法,开发人员不需写一行代码就可实现DSP系统的代码开发,极大地减轻了开发人员的工作负担,提高工作效率.学习使用该开发方法对广大DSP应用开发人员具有较大的实用意义.

相关论文

在WPS中如何快速简便的生成目录

该文是硕士论文专业目录论文范文,主要论述了关于目录相关毕业论文范文,与在WPS中如何快速简便的生成目录相关论文范文检索,适合目录及级别。

在WPS中如何快速简便的生成目录

为您写目录毕业论文和职称论文提供目录方面有关研究生毕业论文开题报告范文,与在WPS中如何快速简便的生成目录相关论文范文例文,包括关于目。

代码动态生成技术提升Ja程序灵活性

本文是一篇代码论文范文,关于代码方面大学毕业论文,关于代码动态生成技术提升Ja程序灵活性相关电大毕业论文范文。适合代码及方法及文件方面。

右键快速生成目录列表

本文是一篇自动修改论文范文,自动修改方面有关在职毕业论文开题报告,关于右键快速生成目录列表相关毕业论文提纲范文。适合自动修改及文件夹。

自动代码生成和Arduino控制器

本文是一篇工程师论文范文,关于工程师相关大学毕业论文,关于自动代码生成和Arduino控制器相关函授毕业论文范文。适合工程师及自动化及控制。

记账凭证自动生成模板模型

本文是一篇财务会计论文范文,财务会计类有关毕业论文格式范文,关于记账凭证自动生成模板模型相关毕业论文提纲范文。适合财务会计及凭证及业。