基于matlab对c6000系列dsp系统进行软件开发的研究学位论文.docx
- 文档编号:9001756
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:40
- 大小:854.38KB
基于matlab对c6000系列dsp系统进行软件开发的研究学位论文.docx
《基于matlab对c6000系列dsp系统进行软件开发的研究学位论文.docx》由会员分享,可在线阅读,更多相关《基于matlab对c6000系列dsp系统进行软件开发的研究学位论文.docx(40页珍藏版)》请在冰豆网上搜索。
基于matlab对c6000系列dsp系统进行软件开发的研究学位论文
本科毕业设计(论文)
基于Matlab/Simulink对C6000系列进行软件开发的研究
ResearchonthesoftwaredevelopmentofC6000seriesbasedonMatlab/Simulink
学院:
电子信息工程学院
专业:
通信工程
学生姓名:
学号:
指导教师:
北京交通大学
2018年8月
中文摘要
摘要:
随着MathWorks公司的产品Matlab/Simulink的不断升级,基于Matlab/Simulink的DSP系统开发方式愈来愈成熟,功能愈发强大。
EmbeddedTargetforTIC6000工具箱可以完成从概念方案设计到软件代码仿真甚至是在硬件DSP板生进行测试的全过程,使用Matlab/Simulink可以将仿真通过的函数模型直接转换成在DSP系统上能够执行的C/C++代码,生成的代码可用于实时应用和硬件在线测试,对于Simulink工具箱EmbeddedTargetforTIC6000中已有的函数图形进行简单程序的代码生成,比如EVMDM642案例DSP系统,确实可以方便地仿真以及实现快速的从算法概念到目标代码的自动生成,几乎不需要用户参与代码编写,对于简单的应用,用户只需要动一动手指,按一按鼠标,就能够让Matlab生成全套的代码,毫不费力。
可以得出结论:
基于Matlab/Simulink的DSP代码生成的方法,在人力和物力的损耗上,要优于传统的基于CCS的DSP开发方式,能够加快DSP系统开发的速度,降低开发的难度,并且,基于Matlab/Simulink的DSP代码生成的方法适用于初学者,非高深资历的开发人员同样能够通过这个方式来完成DSP开发的科研任务。
关键词:
Matlab;Simulink;DM642;自动代码生成
ABSTRACT
ABSTRACT:
WiththecontinuousupgradingofWorksMathMatlab/Simulinkproducts,/SimulinkDSPbasedMatlabsystemdevelopmentisincreasinglymature,morepowerful.EmbeddedTargetforTIC6000toolboxcanbecompletedfromconceptualdesigntosoftwaresimulationcodeeveninthewholeprocessofDSPinhardwaretesting,usingtheMatlab/SimulinkfunctioncanbeconverteddirectlyintothemodelthroughsimulationcanbeperformedontheDSP/C++Ccode,thegeneratedcodecanbeusedforreal-timeapplicationsandhardwaretheonlinetest,forSimulinkTargetforTIC6000Embeddedtoolboxhasthefunctionofsimplegraphicsprogramcodegeneration,suchastheEVMDM642caseoftheDSPsystem,automaticgenerationcaneasilyachievefastalgorithmsimulationandfromconcepttoobjectcode,almostdonotneeduserstoparticipateinthepreparationofthecode,forsimpleapplications,usersonlyneedtomoveyourfinger,pressthemouse,canletMatlabgenerateafullsetofcode,easy.Wecandrawtheconclusion:
themethodbasedonMATLAB/SimulinkDSPcodegeneration,inthelossofhumanandmaterialresources,issuperiortothetraditionalbasedonCCSofDSPdevelopmentway,canacceleratethespeedofDSPsystemdevelopment,reducedevelopmentdifficultyandbasedonMATLAB/SimulinkDSPcodegenerationmethodissuitableforbeginners,nondevelopersofadvancedqualificationscanalsothroughthiswaytoaccomplishresearchtasksinthedevelopmentofDSP.
KEYWORDS:
Matlab;Simulink;DM642;AutomaticCodeGeneration
目录
中文摘要i
ABSTRACTii
目录iii
1引言:
毕业设计的背景与意义1
1.1研究背景1
1.2研究意义1
1.3研究问题简述2
1.4课题提出的要求3
1.5毕业论文的结构3
2Matlab和Simulnk简介4
2.1Matlab软件现状简述4
2.2Simulink现状简述6
2.3Matlab/simulink配置与指令7
3CCStudio介绍及传统DSP代码生成流程9
3.1CCStudio配置与指令9
3.2传统DSP软件开发流程9
4基于Matlab/Simulink的DSP目标代码生成方法10
4.1生成流程10
4.2基于Matlab对TMS320DM642为核心的目标DSP开发板进行仿真和代码生成的函数模型设计11
4.3基于Matlab对EVMDM642DSP系统板进行仿真和代码生成15
4.4基于Matlab对合众达公司SEED-VPM642DSP系统生成代码进行移植的方法和分析26
5基于Matlab的DSP代码生成方法总结30
参考文献32
致谢34
附录35
1引言:
毕业设计的背景与意义
1.1研究背景
近年来,多种音频、视频技术迅猛发展,并已比较成熟,其中依托的数学信号处理的技术DSP处理器凭借独特的哈佛结构、流水线技术,能快速实现各种数字信号处理,满足了图像处理的诸多高水准要求,还包括运算量大,较高的信息传输速率,较高的处理精度和较强的实时性等。
现在,DSP与许多通信产品有着千丝万缕的联系,在信息与通信科学方面是一门十分重要的学科。
对于现在的软件开发商来说,DSP开发是其主要工作的内容还有业务。
所以提高开发速度,降低开发难度对于他们是至关重要的问题。
而传统的DSP系统设计分为2个部分:
算法开发和产品实现。
在算法开发设计阶段里,一般使用Matlab进行仿真,完成方案和算法的设计,当仿真结果达到要求时,再进入产品的代码编写阶段。
再一次用C/C++语言或者汇编语言将算法开发过程里通过的目的算法进行编写调试,最终在硬件DSP开发板上调试通过并且固化。
对于传统的DSP开发方式,由于现在的开发软件数量种类很多,开发者在不同的岗位上需要了解和学习的软件或者语言很多,因此对开发者的能力提出了不小的挑战,造成了不小的压力,能否方便的使用一个开发环境编写出心怡的目标代码是开发者的小小梦想,除此之外,如今的研发部门里,硬件大多都是使用美国TexasInstruments(德州器件)公司的芯片,相配套的软件一般也以CCStudio开发环境居多,如若按照传统的DSP开发流程,不同层次的开发人员还需要编写庞大数据量的语言代码,大量的时间和精力又将会消耗在代码的反复测试验证中,无疑将会推迟目标系统的完成时间,增加工作的负担,平添了开发的风险。
对于这种繁琐的工作方式来说,如果有一个新的,可靠的方法,将会是开发者的福音!
1.2研究意义
随着MathWorks公司的产品Matlab/Simulink的不断升级,基于SimulinkDSP工具箱的DSP开发方法愈发成熟,功能愈发强大。
工具箱可以完成从概念方案设计到软件代码仿真甚至是在硬件DSP板生进行测试的全过程,使用Matlab/Simulink可以将仿真通过的函数模型直接转换成在DSP系统上能够执行的C/C++代码,更重要的是,Matlab简学易懂,不需要开发者扎实的数学基础的扎实和熟练巧妙编程能力,而且Matlab现在正式大学教学和科研中最常使用的道具。
于是基于Matlab/Simulink的设计方法将简化了DSP应用系统的设计过程。
并且,多年以来,TI公司的多种高性能DSP器件在学习工作中得到了广泛的应用,可以实现大数据量以及复杂运算的媒体处理,成为了数学信号处理技术开发中的主流器件之一,同时TI公司还与MathWorkss公司合作,开发了对开发嵌入式目标系统有很多方便的工具箱:
EmbeddedTargetforTIC6000,可以更加方便用户仿真以及实现快速的从算法概念到目标代码的自动生成,生成的代码可用于实时应用和硬件在线测试,几乎不需要用户参与代码编写,对于简单的应用,用户只需要动一动手指,按一按鼠标,就能够让Matlab生成全套的代码,毫不费力。
对于科研部门来说,如果能够在同一个平台上对DSP进行开发,将系统模型的建立,系统设计和实现过程一气呵成,完美过渡,对于DSP的应用开发将会提供一条十分便利的道路。
前辈们在很多文章资料中有介绍过使用Matlab对DSP进行直接的代码生成方法:
李真芳、苏涛和黄小宇的基于Matlab6.0版本的对TexasInstruments公司TMS320C5000/C6000系列DSP和AD公司的SHARCDSP的代码生成方法以及调试运行的过程[1];
薛定宇、陈阳泉研究了基于MATLAB/Simulink的仿真技术[2];
刘浩对Matlab2014a的操作和使用做了介绍[3]等;
郭小强等对C2000系列DSP系统开发做了研究[4];
还有王成[5]、齐星刚[6]在MATLAB/Simulink平台上研究DSP代码的自动生成。
可以认为,这项技术正在走向成熟。
因此,基于Matlab/Simulink的DSP开发方式十分值得推广!
1.3研究问题简述
随着时间的演进,MathWorkss公司不断地升级着Matlab的版本,TI公司的DSP的开发软件CCStudio也有一定的变化,许多指令被整合,虽然Matlab/Simulink的功能越来越强大,但是参考的资料适用的软件版本相较现在比较久远,许多指令已经开始失效,包括在我学习的过程中发现许多指令在Matlab中以及没有效果了。
于是,本文基于新版Matlab2014/Matlab2015、CCStudio3.3及以上版本4以及5针对Matlab的实时信号处理系统的方法进行研究。
1.4课题提出的要求
这个课题提出的主要任务包括:
1.CCS下DSP代码开发的过程介绍。
2.MatlabSimulink的功能和使用介绍。
3.使用Matlab完成DSP设计开发的流程,包括从概念设计、软件仿真、硬件测试的全过程。
4.使用Matlab/SimulinkCoder完成C6000DSP开发板算法的Matlab仿真和程序设计。
5.基于Matlab/Simulink的DSP生成代码的实时性分析。
1.5毕业论文的结构
在第二章节中,简单介绍下Matlab/Simulink的功能和使用情况,这里会列举针对毕设课题基于Matlab/Simulink的DSP系统代码生成方法中Matlab工作环境的相关调试方法。
在第三章节中将简单介绍CCStudio的情况,并且介绍传统DSP开发的流程。
以CCStudio3.3为例简单介绍DSP工程的结构。
在第四章节中将详细介绍基于Matlab/Simulink的DSP系统的代码生成方法,是本毕业设计最重要的研究内容,其中:
在4.1中叙述在基于Matlab/Simulink的DSP代码生成过程中,Simulink函数模型的设计方式还有流程,以基于TMS320DM642[7]芯片的DSP系统人脸识别疲劳度算法[8]为例进行叙述。
在4.2和4.3中用画中画程序模型,还有视频与音频的采集与回放程序模型,在TexasInstruments公司的DM642案例DSP系统evmdm642系统目标板上生成DSP代码[9],叙述Build指令生成的生成过程,并列举生成代码头文件进行简单的分析。
在4.4中以我学校实验室中配置的合众达公司出品的SEED-VPM642DSP系统为目标板[10],测试基于Matlab/Simulink生成代码过程的实用性和Simulink函数模型移植方法的可行性。
在第五章节中对我进行过的Matlab/Simulink代码生成的仿真和测试进行总结,对这种方法的可行性进行分析和阐述。
2Matlab和Simulnk简介
2.1Matlab软件现状简述
MATrixLABoratory是Matlab这个词的全拼,意思是矩阵实验室。
这款软件是美国MathWorks公司的代表产品,是科学界最有影响力的软件。
Matlab是一种高级的科学技术计算语言,也是一种高级的交互式开发环境,可以用来进行科学算法的开发、数据信息的可视化、数据信息的分析还有数值信息计算。
Matlab的常用功能主要是矩阵的运算、函数/数据图像的绘制,而除此之外,还可以对用户界面进行创建及,使用其它科学语言(C,C++和FORTRAN)编写程序。
虽然Matlab的主要功能是用来对数值进行运算,但是如果能够利用上数量众多的软件包和工具箱(Toolbox),Matlab也能对不同领域的科学工程应用进行仿真、计算,比如图像的处理、信号的处理与通讯、金融行业的建模和分析、控制系统的设计与分析等等。
另外还有一个配套软件包Simulink,提供了一个可视化开发环境,常用于系统模拟、动态/嵌入式系统开发等方面。
这样一来,Matlab几乎涉及所有科研领域,源于其友好易学的操作方式还有其强大的仿真计算能力。
MATLAB的优势:
(1)友好的工作平台和编程环境
这些工具方便用户使用MATLAB函数和文件,其中的许多工具用于图形用户界面。
包括MATLAB桌面和命令窗口,历史命令窗口,编辑器和调试器,路径搜索和用户浏览帮助,工作区,文件浏览器。
用MATLAB软件的不断升级和商业化,MATLAB的用户界面也越来越复杂,越接近标准的Windows界面,人机交互性更强,操作更简单。
与新版本的MATLAB提供了一个完整的在线查询,帮助系统,大大方便了用户的使用。
简单的编程环境提供了一个完整的调试系统,程序可以直接运行无需编译的编译器,它可以报告错误和时间错误的原因。
(2)简单易用的程序语言
MATLAB高级矩阵语言,其中包含控制语句,函数,数据结构,输入输出和面向对象编程的特点。
用户可以同步执行命令在命令窗口输入语句,或写一个大的,复杂的应用程序(M文件),运行起来..新版本的MATLAB语言是基于最流行的C++语言基础。
因此,语法特点和C++语言是非常相似的,更简单,在符合科技人员更多的写作格式的数学表达式。
为了使它更利于计算机科技人才的使用。
此外,这种语言的可移植性和可扩展性很强,这也是MATLAB去科学研究和工程计算的重要原因
(3)强大的科学计算机数据处理能力
MATLAB是一家集大型计算算法。
它拥有超过600的数学运算功能,可以为用户实现各种计算功能很容易实现。
在用于算法的功能是在科学研究和工程计算的最新研究成果,和前后的各种优化和容错性。
在一般情况下,它可以代替底层编程语言,如C和C++。
在相同的情况下,MATLAB编程的工作量将大大减少。
这些函数的MATLAB包括最简单、最基本的功能,从基本的功能如矩阵,特征向量,快速傅里叶变换的复杂功能。
函数能解决的问题一般由矩阵运算和求解线性方程,微分方程和偏微分方程的求解,符号计算,傅里叶变换和数据的统计分析,工程优化问题,稀疏矩阵的运算,多个运输,三角函数等基本数学运算,多维数组操作建模和动态仿真等。
(4)出色的图形处理功能
图形处理函数MATLAB自生产之日起具有方便的数据可视化,以向量和矩阵的图形性能,可以标记和打印图形。
高层次的映射包括二维和三维可视化,图像处理,动画和表情映射..可用于科学计算和工程制图。
在图形处理函数MATLAB的新版本有了大的改进和完善,使它不仅在一般的数据可视化软件的功能(在二维和三维曲面的绘制和处理,例如曲线等)更加完善和其他一些软件(例如光图形处理,色彩处理,四维数据的性能,功能等),也表现出良好的加工能力,MATLAB。
同时,一些特殊的视觉要求,如图形对话框,MATLAB,也有功能,可以保证不同层次的用户。
MATLAB中的另一个新版本也集中在图形用户界面(GUI)的生产取得了很大的进步,这也能满足用户的特殊要求。
(5)应用广泛的模块集合工具箱
MATLAB开发的功能强大的模块集和许多特殊领域的工具箱..总的来说,他们是通过在一个特定领域的专家开发的,用户可以直接使用该工具包的学习,应用和评估不同的方法,而无需编写代码本身。
目前,MATLAB工具箱扩展到科学研究和工程应用中的许多领域,如数据采集,数据库接口,概率和统计,样条拟合,优化算法,偏微分方程,神经网络,小波分析,信号处理,图像处理,系统辨识,控制系统设计,控制的LMI,鲁棒控制,预测模型,模糊逻辑,财务分析,地图工具,非线性控制设计,实时快速原型和半物理仿真,嵌入式系统的发展,定点仿真,DSP和通信,电力系统仿真等,在工具箱(toolbox)家庭有他们自己的地方。
(6)实用的程序接口和发布平台
新版本的MATLAB可以使用MATLAB编译器和C/C++数学库和图形库,将自己的MATLAB程序自动转换为C++和C代码独立于MATLAB运行。
允许用户编写的C或C++语言程序与MATLAB结合。
此外,MATLABWeb服务程序还允许自己的MATLAB数学和图形程序在Web应用程序中使用。
一个MATLAB的重要特征是它有一个程序的扩展系统和特殊应用子程序调用工具箱..工具箱是一个MATLAB函数子程序库,每一个工具箱是一种学科和应用而定制的,主要包括信号处理,控制系统,神经网络,模糊逻辑的应用,小波分析和系统仿真等。
(7)应用软件开发(包括用户界面)
在开发环境中,用户控制多个文件和图形窗口更加方便;在嵌套函数,编程支持条件中断;在图形,更强大的图形标注和处理功能,包括性连接的音符;在输入输出方面可以直接到Excel和HDF5连接。
MATLAB包括数百个内部函数,工具包有三十集中套。
该工具包可以分为功能性工具和学科工具包。
功能工具包是用于扩大MATLAB的符号计算,和可视化建模功能,字处理和实时控制。
学科工具包是一个专业的,更强大的工具,控制工具包,信号处理工具包,通信工具,等等。
打开MATLAB广受用户欢迎。
除了内部功能,所有主要的matlab程序包文件和各种工具都是可读可修改的文件,用户通过对源程序的修改或添加自己写的程序构建新的专用工具。
Matlab自20世纪70年代,由美国新墨西哥大学CleveMoler推出,1984年推出第一代商业产品,之后不断推陈出新,不断地加入了新的工具箱和软件包,添加更加强大的功能,展现出来Matlab软件和MathWorks公司旺盛的活力。
现在的最新版本为2015a,离现在最近的一次大型版本更新是2012b,发布于2012年9月11日,在这次更新中,整合了许多旧指令,对77种其他产品进行了更新和补丁,这样部分旧指令以及不被Matlab所辨认,对于较新新版本的Matlab,开发者需要再稍作学习和了解。
这也是毕业设计研究的内容之一,即使用较新版本的Matlab/Simulink软件完成对DSP系统的代码生成。
2.2Simulink现状简述
Simulink是一个软件包,是Matlab的重要组件,是动态系统数学建模的工作环境,它是一种可视化的仿真工具,只需要使用鼠标点一点,就能够创建直观的函数模型进行仿真,完成综合分析。
在Matlab中,Simulink的地位举足轻重,对于初学者来说,在工作窗口中一眼就能看到Simulink按钮,经过简单的学习和了解,初学者也能够使用Simulink搭建简单的函数模型完成仿真。
构架在Simulink基础之上的其他产品扩展了Simulink多领域建模功能,也提供了用于设计、执行、验证和确认任务的相应工具。
Simulink与MATLAB紧密集成,可以直接访问MATLAB大量的工具来进行算法研发、仿真的分析和可视化、批处理脚本的创建、建模环境的定制以及信号参数和测试数据的定义。
如今的Simulink软件包中内容丰富,种类繁多,随着时间的演进,Simulink的功能愈发强大,在本次毕业设计中利用的,正是其强大的仿真能力背后具有的强大的软件支持力,今天的Simulink不仅仅能完成仿真分析工作,还能够编译调试代码,驱动DSP系统。
2.3Matlab/simulink配置与指令
本次毕业设计采用Matlab2014a/2015a版本,CCStudio选用3.3或以上版本4或5。
Matlab的较新版本部分整合了之前版本的命令和工具箱,新版本工具箱能支持更多版本的TexasInstrumentsC2000/C5000/C6000系列DSP开发板,且支持CCStudio3.3/4/5的编译器,会方便DSP的开发流程。
针对TexasInstruments公司C6000系列DSP板的开发,Matlab中需要安装TICCS工具箱“EmbeddedCoderSupportPackageforTexasInstrumentsC6000DSPs”,安装方法:
选择点击Matlab工作窗口主面板的“附加功能”中的“GetHardwareSupportPackages”选项,选择安装“TexasInstrumentsC6000”工具箱,安装工具箱需要MathWorks账号,该账号可以在MathWorks官网上免费注册,请初学者周知。
另外为了顺利地发挥功能,此工具箱需要CCStudio版本的匹配,需要CCS的编译器版本高于TexasInstrumentsCCSv3.3withC6000CodeGenerationTools6.1.10+,在工具箱安装过程中会出现提示,建议安装编译器版本匹配的CCStudio软件。
为了完成使用Matlab对C6000系列DSP进行开发的工作,我们需要构建Matlab/Simulink与CCStudio的“联合开发环境”。
这里在Matlab2014a上对毕设内容的环境配置进行简单的描述:
在2012a和之前的版本中,我们可以使用hel
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于matlab对c6000系列dsp系统进行软件开发的研究 学位论文 基于 matlab c6000 系列 dsp 系统 进行 软件 开发 研究 学位 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)