基于MatlabSimulink的DSP代码生成

上传人:仙*** 文档编号:86644603 上传时间:2022-05-08 格式:DOC 页数:15 大小:357KB
返回 下载 相关 举报
基于MatlabSimulink的DSP代码生成_第1页
第1页 / 共15页
基于MatlabSimulink的DSP代码生成_第2页
第2页 / 共15页
基于MatlabSimulink的DSP代码生成_第3页
第3页 / 共15页
点击查看更多>>
资源描述
短线自考毕业论文题 目: 基于Matlab/Simulink的 DSP代码生成 学生: 龙文韬 学 号: 2201004 指导 郭杰荣 专业_ 电信00101班 完成时间: 20XX5月20日 目 录引言21 MATLAB/SIMULINK介绍22 DSP芯片介绍22.1 什么是DSP芯片22.2 DSP芯片的开发33 系统级开发设计43.1 原理介绍43.2 开发工具83.2.1 TMS320C6701 EVM介绍83.2.2MATLAB/SIMULINK中的C6701 EVM84 应用举例94.1 应用步骤94.2 实例说明9结束语13参考文献1313 / 15基于Matlab/Simulink的DSP代码生成电子信息科学与技术专业学生:龙文韬指导教师:郭杰荣摘要:本文研究了基于Matlab/Simulink的DSP代码生成的方法。介绍了基于Matlab/Simulink的DSP系统级设计方法、Matlab与CCS系统对于DSP的各自特点及相互连接,论述了面向TI DSP芯片的系统设计。传统的DSP设计开发流程分为开发设计和产品实现两个环节。这样的开发流程存在许多问题,基于Matlab/Simulink的系统级设计方法,完成了从概念设计、软件仿真、硬件测试全过程。在软件算法仿真测试后直接生成面向数字信号处理DSP芯片的代码,有利发现系统设计的错误。关键词: MatlabSimulink 数字信号处理 C6701评估板 代码编译系统The Generationof DSP Code Built on Matlab/SimulinkElectronic Information Science and TechnologyLong Wen-taoAdvisor: Guo Jie-rongABSTRACT: This paper discusses the Digital Signal ProcessorDSPcode generation built on Matlab/Simulink system。The system design method with Matlab/Simulink , characteristic and contact of DSP about Matlab and CCS system are described。The system design is based on TI DSP chip。Traditional DSP design has two parts:developing design and product achievement。There has many problems in this process。The system design method built on Matlba/Simulink can accomplish the full course from concept design, software emulate to hardware achieve, the method is in favor of finding out mistakes in the system design by direct DSP chips code generation after software arithmetic emulate test。KEYWORD:MatlabSimulink DSP C6701EVMCCS引 言近年来,伴随着高科技日新月异的发展,对数字信号处理芯片的研发也潜移默化地发生了深刻的变革。但现在研发公司或实验室的硬件多采用美国TI公司的系列芯片,开发软件多采用CCS系统等,设计语言为汇编或C,不同层次的科研成员完成一项验证或设计需使用多种语言和开发平台,这就增大了产品开发的风险,延长了产品的上市时间。基于MATLAB/Simulink自带的DSP工具箱可以完成概念设计、软件仿真、硬件测试全过程,Matlab语言易学易用,不要求使用者具备高深的数学知识和编程技巧,现已成为大学教学和科研中最常见的工具。如果能够将DSP开发过程在同一平台上完成将能方便的建立系统模型、实现从系统设计到实现的完美过渡,对DSP的应用开发也能提供一条便利的途径。1 Matlab/Simulink介绍Matlab是一种面向科学与工程计算的高级语言,它集科学计算、自动控制、信号处理、神经网络和图像处理等学科的处理功能于一体,具有极高的编程效率。Matlab是一个高度集中的系统,Matlab提供的Simulink是一个用来对动态系统进行建模、仿真和分析的软件包,它支持线性和非线性系统,能够在连续时间域、离散时间域或者两者的混合时间域里进行建模,它同样支持具有多种采样速率的系统。整体上而言,Simulink是一个系统级的设计和仿真工具,它可以为各种各样的系统建立模型。使用Simulink很容易创建系统的模型,设置仿真参数,然后对模型进行仿真。Simulink和Matlab是高度集成的,用户可以借助Matlab强大的数据分析和可视化功能来分析系统仿真结果。目前Matlab的最新版本是6.5,对应的Simulink版本是5.0。2 DSP芯片介绍2.1 什么是DSP芯片DSP芯片,也称数字信号处理器,是一种具有特殊结构的微处理器。DSP芯片的部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的DSP 指令,可以用来快速地实现各种数字信号处理算法。根据数字信号处理的要求,DSP芯片一般具有如下的一些主要特点:1 在一个指令周期可完成一次乘法和一次加法。2 程序和数据空间分开,可以同时访问指令和数据。3 片具有快速RAM,通常可通过独立的数据总线在两块中同时访问。4 具有低开销或无开销循环及跳转的硬件支持。5 快速的中断处理和硬件I/O支持。6 具有在单周期操作的多个硬件地址产生器。7 可以并行执行多个操作。8 支持流水线操作,使取指、译码和执行等操作可以重叠执行。与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。2.2 DSP芯片的开发目前,对于DSP工程师来说,除了必须了解和熟悉DSP本身的结构包括软件指令系统和硬件结构和技术指标外,还必须熟悉和掌握其开发工具和环境。TI DSP的开发工具和环境主要包括以下三个部分:l 代码生成工具编译器、连接器、优化C编译器、转换工具等l 系统集成及调试环境与工具l 实时操作系统图1为TI的TMS320系列DSP软件开发流程图:图1 TI TMS320系列DSP软件开发过程C SourceFilesC CompilerAssemblerSourceAssemblerCOFFObject FilesLinkerExecutableCOFF FileTMS320DSPC SourceFilesArchiverMacroLibraryArchiverLibrary ofObject FilesHex ConversionUtilityEPROMProgrammerAbsoluteListerRuntimeSupportLibraryComputerEVMWith DebuggerXDS EmulatorWith DebuggerSimulator图1 TI TMS320系列DSP软件开发过程3 系统级开发设计3.1 原理介绍系统级设计的核心是将算法设计和系统设计仿真在统一的开发环境中进行,从而有效地将开发流程的两个部分结合在一起。进行系统级设计需要一个统一的开发环境,且在该开发环境中可以对系统机构、算法进行描述,还能够对系统不同的层次,不同组件和不同数据类型进行建模;同时要有良好的移植性能。Simulink提供了这样一个很好的开发环境,他是基于图块的系统级仿真环境。分级系统的描述方式,提供了真正的自顶向下的设计方法,并且通过图块的方式实现移植。由美国TI与Math公司联合开发的面向TITMS320C6000DSP开发平台的嵌入式对象,使MATLAB Simulink与TI高速DSP工具结合成为一体。这套软件使设计者能够利用Matlab平台在C6701或C6711评估板上,经概念设计到代码及自动高速模型生成,对所设计的数字信号处理系统进行开发、验证。开发过程利用Matlab实时工作平台Real-Time Workshop以自动生成一个C语言的CCS工程。CCS平台的所有特性,包括编辑工具、编译、调试工具、代码压缩以及工程管理等等,都可以调用,帮助设计者随意地使用MATLB、Simulink、Real-Time Workshop以及硬件,利用CCS工程自动地编译、,将生成的可执行文件下载到C67XX芯片。一般设计流程如图2所示。添加TI 对象模块完成模型与目标板的通信完成系统设计测试并调整设计使用Simulink或其他模块库中的模块建立模型设置仿真对象参数包括simulink与Real-Time 编译链接模型到目标板图2 基于Simulink与C6000的设计流程图Developers Kit for Ti DSP是MathWorks公司和Texas InstrumentsTI公司合作开发的一个基于Simulink和Real-Time Workshop的开发工具箱,有了这个开发工具箱,用户可以在Simulink的环境中搭建数字信号处理的算法,然后通过Real-Time Workshop生成面向TMS320C6701 Evaluation ModuleC6701EVM或者Texas Instruments Code ComposerStudio Integrated Development EnviromentCCS IDE的ANSI C 代码。Developers Kit for Ti DSP可以利用TI的编译工具将生成的代码编译成面向C6701EVM的机器码,并可将该机器码直接下载到C6701EVM上执行。为了支持面向C6701EVM的代码生成,Developers Kit for Ti DSP提供了一个基于Real-Time Workshop的目标Target for C6701 EVM。使用这个目标,用户可以从Simulink模型生成C6701EVM的可执行文件或者生成一个针对C6701EVM的CCS IDE工程文件。用户可以在CCS IDE环境中修改该工程文件,然后再编译下载。TI公司可向用户提供C6701EVM,帮助用户开发针对TMS320C6701的数字信号处理程序。一方面,C6701EVM上为TMS320C6701DSP提供了输入端口、输出端口、时钟电路、存单元和电源;另一方面,MathWorks公司和TI公司为Windows用户提供了集成的开发环境,方便用户开发、编译、下载和调试在C6701EVM上运行的算法程序。 除了能够产生面向C6701EVM的代码,Developers Kit for Ti DSP还提供了使用CCS IDE和TI Real-Time Date ExchangeRTDX的两个接口。3.1.1 Developers Kit for TI DSP 三种接口Developers Kit for TI DSP向用户提供的三种接口,如图3所示:MATLABProduct-FamilySIMULINKProduct-FamilyDevelopers Kit for Texas Instruments DSPLink forRTDXLink forCCS IDETarget forCCSIDE/C6701EVM/C6711DSKReal-timeData Program controlDataCCS project/C codeCode Composer StudioRTDXAny C5000/C6000targetCCS projectfileC6701EVM/C6711DSK图3 集成开发工具的三种接口3.1.1.1 Target for CCS IDE/C6701 EVMTarget for CCS IDE/6701 EVM可让用户从数字信号处理的Simulink模型自动生成面向C6701 EVM的CCS IDE工程文件,并可进一步自动编译下载到C6701 EVM上执行。设计人员可以快速地将数字信号的算法模型下载到实时硬件平台上执行,用以评估算法的性能,或者转换成一个CCS IDE工程文件,实现从Simulink环境到CCS IDE环境的无缝连接。通过Target for CCS IDE/6701 EVM,用户可以方便地利用MathWorks公司提供的DSP、通信和数学算法库,将主要的精力放在设计而不是在DSP编程上,进行反复的迭代设计,直到算法满足系统性能要求。Target for CCS IDE/6701 EVM对用户的价值在于:l 有助于实现DSP算法原型;l 系统级的算法验证;l 从Simulink模型到CCSIDE工程的无缝转换;l 降低编写DSP代码的难度和工作量。3.1.1.2 Link for CCS IDELink for CCS IDE接口实现了CCS IDE和Matlab之间的连接,允许用户在Matlab命令窗口下载运行CCS IDE中的程序,与目标存之间非实时地交换数据,检测处理器的状态,停止或者启动程序在DSP中的运行。Link for CCS IDE对用户的价值在于:l 用户可以利用MATLAB强大的数据分析和可视话功能,节省设计和调试程序的时间;l 可以编写用于调试数字信号处理程序的m语言批处理脚本,实现调试和分析的自动化;l 支持TI的C5000/6000系列DSP。3.1.1.3 Link for RTDXLink for RTDX接口提供了MATLAB和支持RTDX的TIDSP上运行的程序之间实时交换数据的一种方式。通过Developers kit for TI DSP 提供的MATLAB ActiveX对象CCSDSP,可以建立MATLAB和DSP之间的通信通道,在MATLAB命令窗口和DSP处理程序之间实时地发送和接收数据,而不必中断目标程序的运行。Link for RTDX对用户的价值在于:l 可以实现对实时数据的自动的高级分析和可视化;l 实现对复杂DSP程序的有效验证;l 支持TI的C5000/6000系列DSP。3.2 开发工具3.2.1 TMS320C6701EVM介绍C6701 EVM是TI公司推出的TMS320C6701 DSP芯片的评估板,它可用于有线/无线宽带网络、语音识别、图象处理、雷达等对运算能力和存储量有较高要求的场合。它包含的硬件有:32位浮点DSP芯片TMS320C6701/167MHz,1GPS;64K32bit SRAM,2M32bit SDRAM;标准JTAG接口,与XDS510/560连接方便调试;CPLD,实现板上逻辑、时序控制;另外有PCI接口,电源模块,音频接口等。3.2.2 Matlab/Simulink中的C6701 EVM 安装了Developers Kit for TI DSP模块之后,在Simulink Library Brower中会出现一个支持C6701 EVM的模块库.在搭建面向C6701EVM的工程文件的Simulink模型时,可选用该模块库中的模块。下面分别介绍这几个模块:C6701 EVM ADC模块这个模块用于采样和量化,给C6701 EVM板提供外部信源,如信号发生器、频率发生器和音频设备。将C6701 EVM ADC模块放在Simulink模块中可以让用户使用C6701 EVM上的多媒体语音编码和解码模块codec,用以将从Line In或者Mic In端口输入的模拟信号转换为数字信号,供C6701 EVM上的DSP TMS320C6701处理。C6701 EVM DAC模块将C6701 EVM DAC模块放在Simulink模块中后,C6701 EVM上的codec模块会将接收到的处理后的数字信号转换成模拟信号向LINE OUT端口输出。C6701 EVM LED模块Simulink模型中的C6701 EVMLED模块可用于触发C6701 EVM的外部状态指示灯User Status LED1。Reset C6701 EVM模块双击Simulink模块中的Reset C6701 EVM模块,可将正在运行从该模型自动生成的可执行文件的C6701 EVM复位。只要用户双击这个模块,它就运行一个MS-DOS函数来复位C6701 EVM上的处理器。程序停止运行,DSP TMS320C6701返回初始状态。4 应用举例4.1 应用步骤Developers Kit for TI DSP的中心点在于系统级开发C6701 EVM/C6711 DSK的数字信号处理的应用系统,下面举例介绍其用法。Developers Kit for TI DSP开发C6701 EVM应用系统的步骤:(1) 安装C6701 EVM板,将TI提供的相关软件CCS IDE也安装在同一台PC机上。(2) 运行MATLAB,在命令栏键入:C6701EVMLIB,打开C6701EVMLIB的Simulink模块库。该库包含四个模块C6701 EVM ADC、C6701 EVM DAC、C6701 EVM LED、Reset C6701 EVM。(3) 建立Simulink仿真模型,如果需要,可以为Simulink仿真模型添加上述的EVM I/O设备。设置其属性,在属性对话框中单击Real-Time Workshop选项卡,Category栏里选中Target configuration,修改System target file和Template make file文件名。(4) 在Real-Time Workshop选项卡中选中TI C6701 EVM runtime 其它位默认值,单击Make Project按钮,就可将Simulink模型自动生成CCS IDE的工程文件,并自动调入CCS IDE中,那么该工程文件就可以在CCS IDE中编译下载运行了。若现在生成工程文件后,自动地编译下载到C6701 EVM上执行,要改Build action 选项为Build_and_execute。这时单击Build&Run按钮,可实现自动的编译下载并运行。4.2 实例说明下面以建立数字音频回放系统模型为例详细说明:(1) 打开Matlab,在命令行输入Simulink 回车进入Simulink界面。(2) 通过File-New model新建一个模型。(3) 用Simulink模块建立下图所示模型:图4 Simulink下建立的简单系统模型在DSP模块的信号运行库查找Integer Delay模块。此时,不需要加入输入、输出信号线。在以后的步骤中当加入C6701 EVM模块时,再给SUM模块加入输入输出。(4) 用一个恰当的名字保存模型。(5) 为模型加入C6701 EVM模块在Matlab命令提示行键入c6701evmlib调出C6701 EVM库模块。 图5 c6701evmlib(6) 在Simulink库浏览器双击Developers Kit for TI DSP,打开c6000lib模块。(7) 点击EVM模块库为C6701 EVM找到可利用的模块。(8) 拖拽C6701 EVM ADC与C6701 EVM DAC模块到所建模型中。(9) 在下图所示模型中连接好新的信号线图6 可在C6701 EVM上执行的数字语音回放系统模型延迟混和整数延迟数模转换模数转换反馈放大配制与设定Developers Kit模块(1) 点击选中C6701 EVM ADC模块。(2) 从Simulink编辑目录中选择模块参数Block Parameters为选中模块设置以下参数:l 清除立体声复选框l 选择+20 dB mic gain boost复选框l 从下拉列表中设置取样率为8000l 设置多媒体数字信号编解码器数据格式为16-bitl 将输出数据类型设置为Doublel 设置Scaling为规格化l 设置源激励为0.0l 将采样设为64每帧(3) 将C6701 EVM ADC设置为Mic In,点击OK关闭C6701 EVM对话框(4) 设置C6701 EVM DAC blockl 设置多媒体数字信号编解码器数据格式为16-bitl 设置Scaling为规格化l 在DAC衰减一栏填入0.0l 设置溢出模式为饱和(5) 点击OK退出对话框接下来设置Simulink仿真参数(1) 打开仿真参数对话框,在Solver窗格为模型和Developers Kit设置适当的功能l 设置开始时间为0.0结束时间为inf模型不停的运行l 在Solver选项下,从列表中选择固定的步幅和不连续的设置l 设置固定步幅大小为自动、模式为信号作业(2) 在仿真参数对话框中取消Workspace I/O,Diagnostics诊断与高级窗格。此模型可以采用默认的设置。设置Real-Time Workshop Target Build选项(1) 点击Real-Time Workshop标签,为Category选择目标配制(2) 在配制下,点击Browse浏览为C6000 targets选择系统目标文件(3) 在系统目标文件浏览下,选择系统目标文件ti_c6000.tlc,点击OK关闭浏览窗口(4) 从代码发生目标类型列表中,选择C6701_EVM(5) 在Category中,选择TI C6000编译器(6) 在对话框中设置以下选项l 字节命令Byte order应为Little endianl 设置编译器冗长为Quiet(7) 为TI C6000连接器改变种类l 选择Retain.obj文件l 为连接器命令文件选择整个存图map(8) 改变TI C6000类的运行时间l CPUclock:133MHzl Overrun action:Haltl Build action:Build_and_execute在C6701 EVM上建立执行该系统模型(1) 点击Build为C6701 EVM产生与建立可执行目标文件(2) 通过点击C6701 EVM Reset模块或用CCS的Halt功能可以结束执行,也可以在Matlab命令行键入halt。最后,测试该数字音频回放系统模型。 在C6701EVM的Mic In插孔上插入麦克风,LineOut插孔上扬声器和示波器,测试时,对麦克风讲话,可以从扬声器中听到声音和从示波器中看到波形,证明回放系统工作正常。结束语本文系统而简略的介绍了用MATLABSIMULINK进行DSP代码生成,介绍了Developers Kit for TI DSP工具箱,结合实例介绍了MATLABSIMULINK建模、DSP代码生成的过程,并对数字语音回放系统模型进行了有层次的仿真,这对DSP代码生成步骤作了十分详细的介绍。利用MATLABSIMULINK生成DSP代码,模型直观,不用编程,易于使用,为以后验证设计思想、并进行高效成功的设计打下良好的基础。答:在撰写此论文的过程中,导师郭杰荣老师给予我很大的帮助,对我的论文提出了很多宝贵的意见与建议,在此表示由衷的感。参考文献1 永春.从Matlab/Simulink模型到代码实现.:清华大学.20022 影乐、胜天、轶.Matlab仿真应用详解.:人民邮电.20013 Developers Kit for Texas Instruments DSP Users Guide. MathWorks Inc. February 20014TMS320C6701 Evaluation Module Users Guide. Texas Instruments Inc., August 2002
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!