DSP原理与应用实验.ppt_第1页
DSP原理与应用实验.ppt_第2页
DSP原理与应用实验.ppt_第3页
DSP原理与应用实验.ppt_第4页
DSP原理与应用实验.ppt_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

DSP原理与应用 实验 电子信息技术实验教学中心 实验一CodeComposerStudio软件的使用实验二DSP的C语言编程实验三DSP的汇编 ASM 语言编程实验四汇编语言和C语言的混合编程实验五DSP的定时器实验六外中断实验七数字正弦振荡器的设计实验八有限冲激响应滤波器 FIR 的设计实验九快速傅立叶变换 FFT 算法实验十语音信号编码解码 G 711 Contents 一 实验目的1 掌握CodeComposerStudio3 1的安装和配置步骤 2 了解DSP开发系统中计算机与目标系统的连接方法 3 了解CodeComposerStudio3 1软件的操作环境和基本功能 了解TMS320C55xx软件开发过程 实验一CodeComposerStudio软件的使用 二 实验设备 1PC兼容机一台 WindowsXP CCS3 1 2ICETEK VC5509 A实验箱一台 配备ICETEK USB仿真器和ICETEK VC5509评估板 5V电源 3USB连接电缆一条 三 实验步骤 1 实验准备2 设置CodeComposerStudio3 1在硬件仿真 Emulator 方式下运行 3 启动CodeComposerStudio3 1 选择菜单Debug ResetCPU 4 创建工程 弹出下图 按编号顺序操作建立volume pjt工程文件 5 编辑修改工程中的文件 6 基本调试功能 下载程序 设置软件调试断点 利用断点调试程序 按F10执行到write buffer 函数 再按F11 程序将转到write buffer函数中运行 此时 为了返回主函数 按shift F11完成write buffer函数的执行 再执行到write buffer行 按F10执行程序 对比与F11执行的不同 执行View WatchWindow打开观察窗口 在volume c中 用鼠标双击一个变量 比如num 再单击鼠标右键 选择 QuickWatch CCS将打开QuickWatch窗口并显示选中的变量 在volume c中 选中变量num 单击鼠标右键 选择 AddtoWatchWindow CCS将把变量添加到观察窗口并显示选中的变量值 在观察窗口中双击变量 则可以在这个窗口中改变变量的值 把str变量加到观察窗口中 点击变量左边的 观察窗口可以展开结构变量 并且显示结构变量的每个元素的值 把str变量加到观察窗口中 执行程序进入write buffer函数 此时num变量超出了作用范围 可以利用CallStack窗口察看在其他函数中的变量 7 使用观察窗口 8 文件输入 输出 请你简要阐述CCS软件的使用方法 并给出你的实验结果 四 实验报告 实验二DSP的C语言编程 一 实验目的1 学习用标准C语言编制程序 了解常用的C语言程序设计方法和组成部分 2 学习编制连接命令文件 并用来控制代码的连接 3 学会建立和改变map文件 以及利用它观察DSP内存使用情况的方法 4 熟悉使用软件仿真方式调试程序 二 实验设备 PC兼容机一台 操作系统为WindowsXP 安装CodeComposerStudio3 1软件 三 实验原理 CCS在编译标准C语言程序时 首先将其编译成相应汇编语言程序 再进一步编译成DSP的可执行代码 最后生成的是COFF格式的可下载到DSP中运行的文件 其文件名后缀为 out 由于使用C语言编制程序 其中调用的标准C的库函数由专门的库提供 在编译链接时编译系统还负责构建C运行环境 所以工程中需注明使用C的支持库 四 实验步骤 1 设置软件仿真模式 2 建立新的工程文件 3 设置工程文件 4 编辑输入源程序 新建源程序窗口 输入源程序 main intx y z x 1 y 2 while 1 z x y 输入连接命令文件内容 lrts55x libMEMORY DARAM o 0 x100 l 0 x7f00DARAM2 o 0 x8000 l 0 x8000 SECTIONS text DARAM bss DARAM stack DARAM cinit DARAM 链接命令文件 将上述编译的源程序加入工程CProgram pjt 5 编译源文件 下载可执行程序 观察程序运行结果 内存映像文件 对照观察map文件和cmd文件的内容 改变内存分配 五 实验结果 1 程序入口为 c int00 执行标准C库中的程序 负责初始化C环境 申请堆栈 初始化有初始值的变量等 2 程序最终转到用户编制的主函数运行 3 程序在主函数中的无限循环中持续运行 六 实验报告试阐述DSP的C语言程序的运行特点 给出你的实验结果 然后修改程序完成计算sin 2 3 cos 1 7 的值 实验三DSP的汇编 ASM 语言编程 一 实验目的1 学习用汇编语言编制程序 了解汇编语言程序与C语言程序的区别和在设置上的不同 2 了解TMS320C55x汇编语言程序结果和一些简单的汇编语句用法 3 学习在CCS环境中调试汇编代码 二 实验设备 PC兼容机一台 操作系统为WindowsXP 安装CodeComposerStudio3 1软件 三 实验原理 汇编语言程序除了程序中必须使用汇编语句之外 其编译选项的设置与C语言编制的程序也稍有不同 其区别为 汇编语言程序在执行时直接从用户指定入口开始 而C语言程序在执行时 先要调用C标准库中的初始化程序 入口标号为 c init00 完成设置之后 才转入用户的主程序main 运行 由于CCS的代码链接器默认支持C语言 在编制汇编语言程序时 需要设置链接参数 选择非自动初始化 注明汇编程序的入口地址 四 实验步骤 1 设置软件仿真模式2 建立新的工程文件 3 设置工程文件 4 编辑输入源程序 新建源程序窗口 输入源程序 main intx y z x 1 y 2 while 1 z x y 新建源程序窗口 输入源程序 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 align4 globalstart symstart start 36 2 start MOV 2 y MOV 1 x L1 MOV y AR1ADD x AR1 AR1MOVAR1 z BL1 输入连接命令文件内容 MEMORY DARAM o 0 x100 l 0 x7f00DARAM2 o 0 x8000 l 0 x8000 SECTIONS text DARAM bss DARAM stack DARAM 链接命令文件 将上述编译的源程序加入工程TASM pjt 5 编译源文件 下载可执行程序 内存映像文件 对照观察map文件和cmd文件的内容 观察程序运行结果 五 实验报告 1 简要阐述DSP汇编语言程序的运行特点 给出实验结果 2 修改程序完成0f000h 0e000h的计算 实验四汇编语言和C语言的混合编程 一 实验目的1 学习在C工程中加入汇编编程的混合编程方法 2 了解混合编程的注意事项 3 理解混合编程的必要性和在什么情况下要采用混合编程 二 实验设备 PC兼容机一台 安装CodeComposerStudio3 1软件 三 实验原理 1 使用C语言开发应用程序的优缺点 优点 易于开发和维护 可移植性强 不容易发生流水线冲突 有大量现存的算法可利用 适用于人机界面的开发 缺点 代码量大 程序效率较低 优化代码存在一定困难 2 使用汇编语言开发应用程序的优缺点 优点 更能发挥系统特点 代码精练 效率高 代码量小 缺点 可读性差 可移植性差 容易产生流水线冲突 3 如何混合编程 混合工程 一般地 我们使用C程序为主 加入汇编语言程序模块 使用模块技术 在应用程序中划分出比较清晰的模块 不同模块可采用不同语言设计 强调效率和速度的模块采用汇编设计 尽量少用汇编语言设计程序 如何找出需要用汇编程序设计的模块 用C语言完成设计后 运用CCS的软件仿真功能 找到程序运行中的瓶颈 找到的模块单独写成子程序 存入独立的文件中 观察需要优化的模块的汇编结果 进行人工优化 运用人工优化后形成的汇编程序模块 代替原来需要优化的C语言模块 程序中可使用内嵌汇编 4 何时使用混合编程技术 当程序中需要操作与硬件密切相关的设备 而用C语言较难实现时 当需要绕开C编译器的规定 进行特殊操作时 当需要提高模块的效率 而C语言程序无法达到要求时 在汇编程序中使用其他C语言模块中定义的变量或函数名称时 需要在引用的名称前加一下划线 汇编语言写的子程序需要符合C语言的调用规则 在汇编语言模块中 需要编程者自己消除流水线冲突 5 使用混合编程时的注意事项 在使用内嵌汇编技术时 需要考虑以下内容 要非常小心地处理 以免破坏C语言操作环境 避免从内嵌汇编语句跳转到C语言模块中 不要在内嵌汇编语句中改变C语言模块中变量的值 但可以安全读取 在汇编程序中不要使用内嵌汇编 实验程序提供了一个使用C与汇编程序混合编程的实例 是一个用汇编语言模块优化自己编制的应用程序的实例 6 实验程序解释 四 实验步骤 1 设置软件仿真模式2 打开工程 浏览程序内容 编译生成和下载可执行代码 3 修改程序 修改算法部分为单独的子程序 intadd inta intb return a b 修改完成后 可以编译 下载 运行到断点 观察运行结果 判断子程序是否能完全与原程序一样完成算法 将子程序移入add c 将add c加入工程 编译 下载 运行 检查结果 保证运算无误 选择菜单Project BuildOptions 进行如下设置 重新编译工程 将工程中的add c换成add asm 重新编译 下载 运行程序并观察结果 五 实验报告简要阐述DSP混合编程的特点和注意事项 给出你的实验结果 实验五DSP的定时器 一 实验目的1 通过实验熟悉VC5509A的定时器 2 掌握VC5509A定时器的控制方法 3 掌握VC5509A的中断结构和对中断的处理流程 4 学会C语言中断程序设计 以及运用中断程序控制程序流程 二 实验设备 计算机 ICETEK VC5509 A实验箱 三 实验原理 1 TMS320VC5509A内部有两个20位通用定时器 每个通用定时器包括 一个16位的减计数的计数器TIM 一个16位的定时器周期寄存器PRD 一个16位的定时器控制寄存器TCR 一个16位的定时器预定标寄存器PSCR 2 中断响应过程 外设事件要引起CPU中断 必须保证 IER中相应使能位被使能 IFR相应中断也被使能 在软件中 当设置好相应中断标志后 开中断 进入等待中断发生的状态 外设 如定时器 中断发生时 首先跳转到相应中断高级的服务程序中 如 定时器1会引起TINT中断 程序在进行服务操作之后 应将本外设的中断标志位清除以便能继续中断 然后返回 五 实验报告 阐述该DSP处理器定时器的控制方法和程序输出结果 四 实验步骤见实验教材 一 实验目的1 通过实验熟悉VC5509A的中断响应过程 2 学会C语言中断程序设计 以及运用中断程序控制程序流程 二 实验设备计算机 ICETEK VC5509 A实验箱 实验六外中断 三 实验原理1 中断及中断处理过程 中断简介 中断是一种由硬件或软件驱动的信号 DSP处理中断的步骤 接收中断请求 响应中断请求 准备执行中断服务程序 执行中断服务程序 中断向量表 外中断 TMS320C5509可以响应INT0 INT4五个外中断 五 实验报告 阐述该DSP处理器中断的原理 控制方法和程序输出结果 四 实验步骤见实验教材 实验七数字正弦振荡器的设计 一 实验目的1 进一步掌握C和ASSEMBLY的混合编程 2 进一步掌握定时器中断的使用方法 3 学习CCS中图形观察动态数据的方式 4 学习用定时器实现数字振荡器的算法 二 实验设备 PC兼容机一台 安装CodeComposerStudio3 1软件 三 实验原理 四 实验内容请你运用在前面实验中学到的知识 结合本节中介绍的数字振荡器设计原理 在CCS环境下实现该数字振荡器 五 实验报告给出数字振荡器设计过程 中断矢量表内容 源程序 图形观察的输出结果 一 实验目的1 掌握用窗函数法设计FIR数字滤波器的原理和方法 2 熟悉线性相位FIR数字滤波器特性 3 了解各种窗函数对滤波器特性的影响 实验八有限冲激响应滤波器的设计 二 实验设备PC一台 安装CodeComposerStudio3 1软件 三 实验原理1 有限冲激响应数字滤波器的基础理论 请参考相关书籍 2 模拟滤波器原理 巴特沃斯滤波器 切比雪夫滤波器 椭圆滤波器 贝塞尔滤波器 3 数字滤波器系数的确定方法 4 根据要求设计低通FIR滤波器 四 实验内容请你在示例程序C ICETEK VC5509Ae VC5509Ae Lab0501 FIR Fir pjt的基础上编写程序 选用合适的高通滤波参数滤掉实验的输入波形中的低频信号 五 实验报告请你

温馨提示

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

评论

0/150

提交评论