本发明技术涉及计算机技术领域,具体涉及一种dsp代码自动生成方法及装置。
背景技术:
传统的dsp源代码开发通常采用两种方法:一种是直接使用汇编指令编写源代码,然后由汇编器和连接器进行链接后生成目标可执行代码;另一种方法是利用标准c/c++语言编写源代码。经编译器、汇编器和连接器进行编译链接,最后生成目标代码。这两种方法都要求开发人员要花费大量的时间去掌握dsp内部的各种寄存器的正确设置及软件的编程方法,开发周期长,延迟了产品的上市时间。
技术实现要素:
本发明技术所要解决的技术问题是提供一种dsp代码自动生成方法及装置。
本发明所要解决的技术问题采用以下的技术方案来实现:
dsp代码自动生成方法,步骤为:
1)首先根据系统的设计思路在matlab平台下搭建模型;
2)其次在simulink中对于算法进行仿真;
3)通过matlab提供的realtimeworkshop生成面向ti编辑器的工程文件代码;
4)并进一步完成代码的编译,链接生成dsp可执行机器码;
5)最后下载到目标dsp板上运行,完成系统的开发。
本发明的有益效果为:
在matlab平台下代码的自动生成可以代替人工编写程序,这不仅工作者们从枯燥的编程中解放出来,而且还大大简化了开发复杂程度,节约了时间,提高了准确率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图;
图1为基于matlab平台下代码自动生成的设计流程图;
图2为基于tms320f2812的最小系统示意图;
图3为代码自动生成设计示意图,其中图3a为simulink仿真界面图;图3b为新建模型图;图3c为rtw标签图;图3d为新建工程项目图;图3e为工程中添加文件图;图3f为工程调试图;图3g为运行结果查看图一;图3h为运行结果查看图二;图3i为系统模块结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1、dsp代码自动生成方法,步骤为:
首先根据系统的设计思路在matlab平台下搭建模型;
其次在simulink中对于算法进行仿真;
通过matlab提供的realtimeworkshop生成面向ti编辑器的工程文件代码;
并进一步完成代码的编译,链接生成dsp可执行机器码;
最后下载到目标dsp板上运行,完成系统的开发。
具体为:第一步:概念构思和算法设计思路;
第二步:根据系统的设计思路在matlab平台下搭建模型(.mdl);
(1)在matlab命令窗口中输入“simulink”进入仿真界面如图3a所示
(2)打开file→modle,新建一个模型,如图3b所示
(3)利用simulink中库元件构建需要的模型;
第三步:在simulink中对于算法进行仿真;
(1)对构建好的模型仿真,观察结果;
(2)在仿真中遇到问题后可反复修改参数;
第四步:通过matlab提供的realtimeworkshop生成面向ccs的工程文件代码(.prj);
(1)从模型的simulation菜单里选择simulationparameters,然后在对话框中找rtw标签页,如下图3c所示
(3)然后在右边的标签中找到codegeneration,单机生成代码文件;
第五步:在ccs中进一步完成代码的编译,链接生成dsp可执行机器码(.out);
利用ccs集成开发环境,用户可以在一个开发环境下完成工程定义、程序编辑、编译链接、调试和数据分析等工作环节。
(1):创建工程(project)文件
选择project→new,在“project”文本框中键入将要创建的工程项目名,比如项目名为“test1”。如图3d所示
(2):向工程中添加文件
选择project→addfilestoproject,将test1.asm文件自动添加到project→source中。用同样的方法将test1.cmd文件添加到对应的目录中。如下图3e所示
(3):构建工程
工程所需文件编辑完成后,可以对该工程进行编译链接,产生可执行文件,为调试做准备。选择project→build,系统提示没有出错信息后,系统自动生成一个可执行文件,sine.out文件。如图3f所示
(4):载入可执行文件
选择file→loadprogram载入编译链接好的可执行文件sine.out。
(5):运行程序
选择debug→run运行,可以通过查看内存表或看图像等方法,看到程序运行的结果。如图3g和3h所示
第六步:下载到目标dsp板上运行,完成系统的开发。
在matlab中搭建一个pid模型,然后经过rtw生成dsp可执行的工程文件,进一步通过编译、链接,生成可执行文件,最后观察得到波形;另外,在dsp平台下,通过人工编写可以生成正弦波生的程序,进一步编译、调试,也能得到波形,最后让两个波形进行追踪,如果两个波形大致相同,则就说明了matlab平台下dsp代码自动生成的方法是正确的,此方法可以代替复杂繁琐的人工程序编写。
simulink中pid控制的设计
在模拟控制系统中,控制器中最常用的控制规律是pid控制。pid控制器是一种线性控制器,它根据给定值与实际输出值构成控制偏差。pid控制规律写成传递函数的形式为
式中,kp为比例系数;ki为积分系数;kd为微分系数;
(1)比例环节:成比例地反映控制系统的偏差信号,偏差一旦产生,控制器立即产生控制作用,以减少偏差。
(2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数ti,ti越大,积分作用越弱,反之则越强。
(3)微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。
设计步骤如下:
第一步:在matlab命令窗口中输入“simulink”进入仿真界面。
第二步:构建pid控制器:
(1)新建simulink模型窗口(选择“file/new/model”),在simulinklibrarybrowser中将需要的模块拖动到新建的窗口中,根据pid控制器的传递函数构建出如图3i系统模型结构:
各模块如下:
mathoperations模块库中的gain模块,它是增益。拖到模型窗口中后,双击模块,在弹出的对话框中将‘gain’分别改为‘kp’、‘ki’、‘kd’,表示这三个增益系数。
continuous模块库中的integrator模块,它是积分模块;derivative模块,它是微分模块。
mathoperations模块库中的add模块,它是加法模块,默认是两个输入相加,双击该模块,将‘listofsigns’框中的两个加号(++)后输入一个加号(+),这样就改为了三个加号,用来表示三个信号的叠加。
ports&subsystems模块库中的in1模块(输入端口模块)和out1模块(输出端口模块)。
(2)将上述结构图封装成pid控制器。
①创建子系统。选中上述结构图后再选择模型窗口菜单“edit/creatsubsystem”
②封装。选中上述子系统模块,再选择模型窗口菜单“edit/masksubsystem”
③根据需要,在封装编辑器对话框中进行一些封装设置,包括设置封装文本、对话框、图标等。主要需进行以下几项设置:icon(图标)项:“drawingcommands”编辑框中输入“disp(‘pid’)”,parameters(参数)项:创建kp,ki,kd三个参数。
参阅图2,dsp板,由dsp及其外围电路组成,dsp外围电路包括电源电路、时钟电路、复位电路、jtag接口和扩展存储器;
其中,所述的电源电路的供电电压是3.3~1.8v,电源电路的电源芯片为双通道输出的可控电源转换芯片,响应快、失调电压小、单电源供电、双电压输出、静态电流极小、内部含有过热保护电路,具有两个可延时200ms的上电复位引脚,电源芯片的两路输出电压为3.3v和1.8v,最大输出电流la;
所述复位电路为通过电阻、电容和手动复位开关,在电路上电和按压开关时产生复位脉冲;
所述时钟电路是时序逻辑电路最基本的组成部分,为其提供时钟源,dsp才能正常工作,dsp内部有倍频的pll电路,在此我们使能锁相环,并且为了提高系统的抗干扰能力,使用30m有源晶振为系统提供时钟信号,通过pll倍频至150mhz;
所述扩展存储器采用is61lv12816扩展64kx16位外部存储空问。
在本发明中,除非有明确的规定和限定,特征之间相互交错,不一定独立存在。以上显示与描述包括本发明的基本原理、主要特征及其优点。从事该专业的技术人员需知,本发明不局限于上述实施例的限制,上述的实施例与说明书仅为本发明的优选例,而不是用来限制本发明,以成为唯一选择。在发明的精神和范围要求下,本发明还可进一步变化并优化,对本发明进行的改进优化都进入要求保护的本发明范围内,本发明要求保护具体范围由所附的权利要求书及其等效物界定。
深圳SEO优化公司信阳阿里店铺运营哪家好武汉百搜标王报价忻州外贸网站制作哪家好汕头网站推广方案哪家好营口网站推广方案哪家好西安网站设计哈尔滨设计公司网站价格滁州百度爱采购公司铜陵百度网站优化排名哪家好通化网站制作公司重庆优秀网站设计推荐大浪网站推广工具推荐伊春网站seo优化报价沈阳网络营销多少钱厦门网站优化按天计费拉萨建设网站哪家好布吉网页制作价格珠海营销型网站建设多少钱临沧网站建设价格大同seo优化多少钱朔州关键词按天计费淮南优化价格通辽设计公司网站报价莱芜网站推广工具哪家好汕尾网站推广系统报价楚雄百姓网标王推荐安庆网站优化哪家好宝安优化推荐濮阳营销网站哪家好永新网站优化软件公司歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运