DSP实验报告专业知识讲座_第1页
DSP实验报告专业知识讲座_第2页
DSP实验报告专业知识讲座_第3页
DSP实验报告专业知识讲座_第4页
DSP实验报告专业知识讲座_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

试验一CodeComposerStudio软件使用试验二DSPC语言编程试验三DSP汇编(ASM)语言编程试验四汇编语言和C语言混合编程试验五DSP定期器试验六外中断试验七数字正弦振荡器设计试验八有限冲激响应滤波器(FIR)设计试验九迅速傅立叶变换(FFT)算法试验十语音信号编码解码(G.711)Contents第1页一.试验目标1.掌握CodeComposerStudio3.1安装和配备步骤。2.理解DSP开发系统中计算机与目标系统连接办法。3.理解CodeComposerStudio3.1软件操作环境和基本功能,理解TMS320C55xx软件开发过程。试验一CodeComposerStudio软件使用第2页

二.试验设备1PC兼容机一台,WindowsXP+CCS3.1。2ICETEK-VC5509-A试验箱一台(配备ICETEK-USB仿真器和ICETEK–VC5509评定板,+5V电源)。3USB连接电缆一条。第3页三.试验步骤1.试验准备2.设置CodeComposerStudio3.1在硬件仿真(Emulator)方式下运行;3.启动CodeComposerStudio3.1,选择菜单Debug→ResetCPU。第4页4.创建工程第5页弹出下列图,按编号次序操作建立volume.pjt工程文献:第6页

5.编辑修改工程中文献

第7页6.基本调试功能

⑴下载程序。

⑵设置软件调试断点。

⑶利用断点调试程序。

①按F10执行到write_buffer()函数。

②再按F11,程序将转到write_buffer函数中运行。

③此时,为了返回主函数,按shift-F11完成write_buffer函数执行。

④再执行到write_buffer行,按F10执行程序,对比与F11执行不一样。

第8页⑴执行ViewWatchWindow打开观测窗口。⑵在volume.c中,用鼠标双击一种变量(例如num),再单击鼠标右键,选择“QuickWatch”,CCS将打开QuickWatch窗口并显示选中变量。⑶在volume.c中,选中变量num,单击鼠标右键,选择“AddtoWatchWindow”,CCS将把变量添加到观测窗口并显示选中变量值。⑷在观测窗口中双击变量,则能够在这个窗口中变化变量值。⑸把str变量加到观测窗口中,点击变量左边”+”,观测窗口能够展开构造变量,并且显示构造变量每个元素值。⑹把str变量加到观测窗口中;执行程序进入write_buffer函数,此时num变量超出了作用范围,能够利用CallStack窗口察看在其他函数中变量。7.使用观测窗口

第9页8.文献输入/输出第10页

请你简要论述CCS软件使用办法,并给出你试验成果。

四.试验报告第11页试验二DSPC语言编程

一.试验目标1.学习用标准C语言编制程序;理解常用C语言程序设计办法和组成部分。2.学习编制连接命令文献,并用来控制代码连接。3.学会建立和变化map文献,以及利用它观测DSP内存使用情况办法。4.熟悉使用软件仿真方式调试程序。第12页二.试验设备

PC兼容机一台,操作系统为WindowsXP,安装CodeComposerStudio3.1软件。三.试验原理

CCS在编译标准C语言程序时,首先将其编译成对应汇编语言程序,再深入编译成DSP可执行代码。最后生成是COFF格式可下载到DSP中运行文献,其文献名后缀为.out。由于使用C语言编制程序,其中调用标准C库函数由专门库提供,在编译链接时编译系统还负责构建C运行环境。因此工程中需注明使用C支持库。

第13页四.试验步骤1.设置软件仿真模式.2.建立新工程文献:第14页3.设置工程文献第15页4.编辑输入源程序⑴新建源程序窗口:

输入源程序:main(){intx,y,z;x=1;y=2;while(1){z=x+y;}第16页输入连接命令文献内容:-lrts55x.libMEMORY{DARAM:o=0x100,l=0x7f00DARAM2:o=0x8000,l=0x8000}SECTIONS{.text:{}>DARAM.bss:{}>DARAM.stack:{}>DARAM.cinit:{}>DARAM}

⑵链接命令文献⑶将上述编译源程序加入工程CProgram.pjt第17页

5.编译源文献、下载可执行程序

6.观测程序运行成果

7.内存映像文献

8.对照观测map文献和cmd文献内容

9.变化内存分派第18页五.试验成果1.程序入口为_c_int00,执行标准C库中程序,负责初始化C环境、申请堆栈、初始化有初始值变量等。2.程序最后转到顾客编制主函数运行。3.程序在主函数中无限循环中连续运行。六.试验报告

试论述DSPC语言程序运行特点,给出你试验成果,然后修改程序完成计算sin(2.3π)+cos(1.7π)值.第19页试验三DSP汇编(ASM)语言编程

一.试验目标1.学习用汇编语言编制程序;理解汇编语言程序与C语言程序区分和在设置上不一样。2.理解TMS320C55x汇编语言程序成果和某些简单汇编语句使用方法。3.学习在CCS环境中调试汇编代码。第20页二.试验设备

PC兼容机一台,操作系统为WindowsXP,安装CodeComposerStudio3.1软件。三.试验原理

汇编语言程序除了程序中必须使用汇编语句之外,其编译选项设置与C语言编制程序也稍有不一样。其区分为:⑴汇编语言程序在执行时直接从顾客指定入口开始,而C语言程序在执行时,先要调用C标准库中初始化程序(入口标号为“_c_init00”),完成设置之后,才转入顾客主程序main()运行。⑵由于CCS代码链接器默认支持C语言,在编制汇编语言程序时,需要设置链接参数,选择非自动初始化,注明汇编程序入口地址。第21页四.试验步骤1.设置软件仿真模式2.建立新工程文献:

第22页3.设置工程文献第23页4.编辑输入源程序⑴新建源程序窗口:

输入源程序:main(){intx,y,z;x=1;y=2;while(1){z=x+y;}第24页⑴新建源程序窗口:

输入源程序:

.mmregs.modelcall=c55_std.modelmem=large.globalx.bssx,1,0,0.symx,x,4,2,16.globaly.bssz,1,0,0.symz,z,4,2,16.sect“.text”第25页.align4.globalstart.symstart,start,36,2,start:MOV#2,*(#y)MOV#1,*(#x)L1:MOV*(#y),AR1ADD*(#x),AR1,AR1MOVAR1,*(#z)BL1第26页输入连接命令文献内容:MEMORY{DARAM:o=0x100,l=0x7f00DARAM2:o=0x8000,l=0x8000}SECTIONS{.text:{}>DARAM.bss:{}>DARAM.stack{}>DARAM}

⑵链接命令文献⑶将上述编译源程序加入工程TASM.pjt

第27页5.编译源文献、下载可执行程序

7.内存映像文献

8.对照观测map文献和cmd文献内容6.观测程序运行成果

第28页五.试验报告1、简要论述DSP汇编语言程序运行特点,给出试验成果。2、修改程序完成0f000h+0e000h计算。

第29页试验四汇编语言和C语言混合编程

一.试验目标1.学习在C工程中加入汇编编程混合编程办法。2.理解混合编程注意事项。3.理解混合编程必要性和在什么情况下要采取混合编程。

二.试验设备

PC兼容机一台,安装CodeComposerStudio3.1软件。第30页三.试验原理1.使用C语言开发应用程序优缺陷:长处:-易于开发和维护。-可移植性强。-不容易发生流水线冲突。-有大量现存算法可利用。-适用于人机界面开发。缺陷:-代码量大。-程序效率较低。-优化代码存在一定困难。

第31页2.使用汇编语言开发应用程序优缺陷:长处:

-更能发挥系统特点。-代码精练,效率高。-代码量小。缺陷:-可读性差。-可移植性差。-容易产生流水线冲突。第32页3.如何混合编程

⑴混合工程:一般地,我们使用C程序为主,加入汇编语言程序模块。⑵使用模块技术:在应用程序中划分出比较清楚模块,不一样模块可采取不一样语言设计。强调效率和速度模块采取汇编设计。尽可能少用汇编语言设计程序。⑶如何找出需要用汇编程序设计模块:用C语言完成设计后,利用CCS软件仿真功能,找到程序运行中瓶颈。找到模块单独写成子程序,存入独立文献中。观测需要优化模块汇编成果,进行人工优化。利用人工优化后形成汇编程序模块,替代本来需要优化C语言模块。程序中可使用内嵌汇编。第33页4.何时使用混合编程技术:当程序中需要操作与硬件密切有关设备,而用C语言较难实现时。当需要绕开C编译器要求,进行特殊操作时。当需要提升模块效率,而C语言程序无法达成要求时。在汇编程序中使用其他C语言模块中定义变量或函数名称时,需要在引用名称前加一下划线。汇编语言写子程序需要符合C语言调用规则。在汇编语言模块中,需要编程者自己消除流水线冲突。5.使用混合编程时注意事项:第34页在使用内嵌汇编技术时,需要考虑下列内容:

⑴要非常小心地处理,以免破坏C语言操作环境。

⑵避免从内嵌汇编语句跳转到C语言模块中。

⑶不要在内嵌汇编语句中变化C语言模块中变量值,但能够安全读取。

⑷在汇编程序中不要使用内嵌汇编。

试验程序提供了一种使用C与汇编程序混合编程实例,是一种用汇编语言模块优化自己编制应用程序实例。

6.试验程序解释:第35页四.试验步骤1.设置软件仿真模式2.打开工程、浏览程序内容、编译生成和下载可执行代码:

第36页

第37页3.修改程序:

⑴修改算法部分为单独子程序。

intadd(inta,intb){return(a+b);}

修改完成后,能够编译、下载、运行到断点,观测运行成果,判断子程序是否能完全与原程序同样完成算法。⑵将子程序移入add.c。⑶将add.c加入工程,编译、下载、运行,检查成果,确保运算无误。第38页⑷选择菜单Project->BuildOptions…,进行如下设置:

⑸重新编译工程⑹将工程中add.c换成add.asm。

⑺重新编译、下载、运行程序并观测成果。

第39页五、试验报告

简要论述DSP混合编程特点和注意事项,给出你试验成果。第40页试验五DSP定期器一.试验目标1.通过试验熟悉VC5509A定期器;2.掌握VC5509A定期器控制办法;3.掌握VC5509A中断构造和对中断处理流程;4.学会C语言中断程序设计,以及利用中断程序控制程序流程。第41页二.试验设备

计算机,ICETEK-VC5509-A试验箱.第42页三.试验原理1.TMS320VC5509A内部有两个20位通用定期器,每个通用定期器包括:一种16位减计数计数器TIM;一种16位定期器周期寄存器PRD;一种16位定期器控制寄存器TCR;一种16位定期器预定标寄存器PSCR;第43页2.中断响应过程:

外设事件要引发CPU中断,必须确保:IER中对应使能位被使能,IFR对应中断也被使能。在软件中,当设置好对应中断标志后,开中断,进入等候中断发生状态;外设(如定期器)中断发生时,首先跳转到对应中断高级服务程序中(如:定期器1会引发TINT中断),程序在进行服务操作之后,应将本外设中断标志位清除方便能继续中断,然后返回。第44页五.试验报告

论述该DSP处理器定期器控制办法和程序输出成果。四.试验步骤

见试验教材。第45页一.试验目标1.通过试验熟悉VC5509A中断响应过程。2.学会C语言中断程序设计,以及利用中断程序控制程序流程。二.试验设备计算机,ICETEK-VC5509-A试验箱。试验六外中断第46页三.试验原理1.中断及中断处理过程⑴中断介绍:中断是一种由硬件或软件驱动信号。⑵DSP处理中断步骤:①接收中断祈求。②响应中断祈求。③准备执行中断服务程序。④执行中断服务程序。⑶中断向量表⑷外中断:TMS320C5509能够响应INT0-INT4五个外中断。第47页五.试验报告

论述该DSP处理器中断原理、控制办法和程序输出成果。。四.试验步骤

见试验教材。第48页试验七数字正弦振荡器设计一.试验目标1.深入掌握C和ASSEMBLY混合编程。2.深入掌握定期器中断使用办法。3.学习CCS中图形观测动态数据方式。4.学习用定期器实现数字振荡器算法。第49页二.试验设备

PC兼容机一台,安装CodeComposerStudio3.1软件。第50页三、试验原理

第51页第52页四、试验内容

请你利用在前面试验中学到知识,结合本节中介绍数字振荡器设计原理,在CCS环境下实现该数字振荡器。五、试验报告

给出数字振荡器设计过程,中断矢量表内容,源程序,图形观测输出成果。

第53页一.试验目标

1.掌握用窗函数法设计FIR数字滤波器原理和办法。

2.熟悉线性相位FIR数字滤波器特性。

3.理解多种窗函数对滤波器特性影响。试验八有限冲激响应滤波器设计

第54页二.试验设备

PC一台,安装CodeComposerStudio3.1软件。三.试验原理1.有限冲激响应数字滤波器基础理论(请参照有关书籍)。2.模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。3.数字滤波器系数确实定办法。4.根据要求设计低通FIR滤波器。第55页四、试验内容

请你在示例程序C:\ICETEK\VC5509Ae\VC5509Ae\Lab0501-FIR\Fir.pjt

基础上编写程序,选用合适高通滤波参数滤掉试验输入波形中低频信号。第56页

温馨提示

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

评论

0/150

提交评论