1、第 组 西华大学实验报告(理工类)开课学院及实验室:电气与电子信息学院专业实验中心 实验时间 :2023 年 6月17日学 生 姓 名彭强能学 号4成 绩学生所在学院机械工程学院年级/专业/班13级测控3班课 程 名 称DSP技术及应用课 程 代 码 实验项目名称实验一:DSP 程序下载实验项 目 代 码指 导 教 师方春恩项 目 学 分一、实验目的熟悉CCS软件仿真下,DSP程序的下载和运营;熟悉借助单片机的DSP程序下载和运营;熟悉借助仿真器的DSP程序下载和运营;熟悉与DSP程序下载运营相关的CCS编程环境。二、实验原理CCS软件仿真下,借用计算机的资源仿真DSP的内部结构,可以模拟DS
2、P程序的下载和运营。假如要让程序在实验板的DSP中运营、调试和仿真,可以用仿真器进行DSP程序下载和运营。初学者也可以不用仿真器来使用这款实验板,只是不能进行程序调试和仿真。在本实验板的作用中,单片机既是串口下载程序的载体,又是充当DSP 的片外存储器(相对于FLASH),用于固化程序。三、实验设备、仪器及材料安装有WINDOWS XP操作系统和CCS3.3的计算机。四、实验环节(按照实际操作过程) 1、CCS软件仿真下,DSP程序的下载和运营。第一步:安装CCS,假如不使用仿真器,CCS 的运营环境要设立成一个模拟仿真器(软仿真)。第二步:运营CCS,进入CCS 开发环境。第三步:打开一个工
3、程。将实验目录下的EXP01目录拷到D:shiyan下(目录途径不能有中文),用ProjectOpen菜单打开工程,在“Project Open”对话框中选EXP01CPUtimerCpuTimer.pjt,选“打开”, 第四步:编译工程。在Project菜单中选“Rebuild All”,生成CpuTimer.out文献。第五步:装载程序。用FileLoad Program菜单装载第四步生成CpuTimer.out文献,在当前工程目录中的Debug 文献夹中找到CpuTimer.out文献,选中,鼠标左键单击“打开”。第六步:运营程序。用DebugRun菜单运营第五步装载的程序。用Debug
4、Halt 菜单停止程序运营。2、借助单片机的DSP程序下载和运营。 (1) 将CpuTimerDebug 中的CpuTimer. Out 拷到CHANGE 文献夹中并将CpuTimer.out.out 文献名重新命名成ASM.out。(2) 双击运营change.bat 批解决文献后,CHANGE 文献会生成2 个文献(dsp.hex 和dspcode.h)(3) 将 dspcode.h 文献拷贝到LOAD 文献夹中(删除或覆盖以前的文献),打开安装好的KEIL C 软件,在Project-Open Project 打开LOAD 文献中的LOAD.Uv2 工程,点击上图中的Build targ
5、et 快捷按钮,编译工程。 (4) 编译后LOAD 文献中产生LOAD.hex 文献,打开安装好的STC-ISP 软件,选择MCUType 为STC89LE58RD+;点击Open File 按钮找到LOAD. Hex 文献,打开;点击Download/下载按钮(注意先断开开发板电源,方便下载),注意COM 口要选择和电脑相应的接口。 (5) 出现提醒“握手连接”后,立即给开发板上电,即可下载程序到单片机了, (6) 拔掉串口线(也可以不拔),可以看到开发板上的D2 发光二极管每秒闪烁2 次,说明程序已经加载到DSP 中运营了。3、借助仿真器的DSP程序下载和运营。 一方面将电源、JTAG 接
6、口连接好。Setup CCSstudio配置完毕并储存(详见仿真器目录下的“CCS3.3的安装与设立”)。打开CCStudio v3.3。此时,你将会看见USB 仿真器指示灯变为绿色,CCStudio v3.3 界面左下角连接标志为绿色。否则,则为红色。将CpuTimer 途径下的CpuTimer 文献夹复制到D:shiyan。CCStudio v3.3 界面如下图1.5 所示,选中【Projects】右键选择【Open project】栏,将弹出下图。点击“打开”左框将添加工程Cpu Timer打开【File】菜单栏,选中【Load Program】 选择【Debug】文献夹下“CpuTim
7、er.out”文献并打开在【Debug】菜单目录下选择【Go Main】选项,执行程序将到main( )函数处观测结果:板上发光二极管D2(JTAG 接口附近)不断快速闪烁,表达定期器运作正常。本程序重要对CPU 定期器0 进行操作,1MS 产生一次中断,让DSP5402 开发板上的D2 发光二极管每500ms 闪烁一次。 五、实验结果分析及问题讨论思考题 实验中用了那三种DSP程序下载方式?比较实验中三种DSP程序下载方式的区别,分析其各自合用场合。1.CCS软件仿真下,DSP程序的下载和运营;CCS软件仿真下,借用计算机的资源仿真DSP的内部结构,可以模拟DSP程序的下载和运营2.借助仿真
8、器进行DSP程序下载和运营;软仿真情况下看不到程序运营的硬件输出效果。本程序重要是说明在没有DSP仿真器的情况下如何下载运营DSP 程序,看到程序运营的硬件输出效果。其重要过程就是要将CCS中编译生成的out文献转换成单片机可以直接下载的HEX文献3.借助单片机进行DSP程序下载和运营。在本实验板的作用中,单片机既是串口下载程序的载体,又是充当DSP 的片外存储器(相对于FLASH),用于固化程序借助单片机的DSP程序下载和运营,可以看到程序运营的硬件效果,但不能在线调试。若需要对程序在线调试,需借助仿真器,通过DSP的JTAG接口进第 组 西华大学实验报告(理工类)开课学院及实验室:电气与电
9、子信息学院专业实验中心 实验时间 :2023 年6月17日学 生 姓 名彭强能学 号4成 绩学生所在学院机械工程学院年级/专业/班13级测控3班课 程 名 称DSP技术及应用课 程 代 码 实验项目名称实验二:DSP的常用指令实验项 目 代 码指 导 教 师方春恩项 目 学 分一、实验目的1、 熟悉CCS编程环境及TMS320C54xDSP的基本算术运算指令。 2、 了解TMS320C5402的存储空间分派。3、 进行DSP的基本编程调试。二、实验原理借用计算机的资源仿真DSP的内部结构,以学习DSP的基本编程。三、实验设备、仪器及材料安装有WINDOWS XP操作系统和CCS3.3的计算机。
10、四、实验环节(按照实际操作过程)1、鼠标左键双击桌面“Setup CCS 3.3”图标启动CCS Setup,鼠标左键依次单击“C5402 Simulator”,“Import”,“Save and Quit”,“是(Y)”启动CCS,在ProjectOpen菜单中打开exp02/ex1.pjt;2、在左边树状列表框内双击Project展开目录树,双击ex1.asm打开源程序文献,参考程序中的注释仔细阅读源程序;3、在ProjectBuild菜单中编译项目文献,编译成功后在下端的状态窗口中显示Build Complete,0 Errors,0 Warnings;4、在FileLoad Prog
11、ramm中加载输出执行代码文献ex1.out,选择View Disassembly 。此时,反汇编(Disassembly)窗口将显示在前端,当前PC指针为0000:2080(绿色箭头指示),指令代码将以汇编语言方式显示,可以在反汇编窗口中点击鼠标右键,在弹出菜单中选择PropertiesDisassembly Options打开反汇编选项对话框,在Disassembly Style选项中选择Algebraic,以算术语言方式显示指令代码(注意:此时也许标号显示异常,按PageUP再按PageDown即可刷新显示);5、选择ViewCPU RegistersCPU Register(或点击左边
12、工具栏的快捷按钮)打开解决器映射寄存器窗口;6、选择ViewMemory(或点击左边工具栏的快捷按钮),在弹出的Windows Memory Options对话框的Address文本框中输入0x0260,Page下拉框中选中Data,拟定后将打开数据存储器查询窗口,此时数据存储器地址0x0260-0x0263将相应ex1.asm中声明的标号DAT0-DAT3;7、调整DisassemblymemoryCPU Registers三个窗口的大小,以便于观测;8、依次把光标移动到反汇编(Disassembly)窗口中标号为bk?(?表达从0开始的整数)的标号行下的指令处,点击鼠标右键,在弹出菜单选择
13、 Toggle breakpoint(或者点击快捷按钮)设立断点,断点设立后,该行前显示红色圆点;9、选择DebugRun(也可以按快捷键F5或点击快捷按钮)执行程序;10、程序将在第一个断点bk0处停止,按F10单步执行程序,再在解决器映射寄存器窗口中或数据存储器查询窗口中观测指令执行结果;11、反复执行9环节,依次观测并记录加法指令(结果: A)、减法指令(结果: A)、乘法指令(结果:A)、除法指令(结果: DAT2:商; DAT3:余数)、平方指令(结果:A)以及3数累加宏指令(结果: DAT3)的执行结果;12、以上指令执行完毕后,程序转到bk0处,可再次进行熟悉运算控制的实验。13
14、、修改ex1.asm,使DAT0=成员签到表序号末位的和(ST #成员签到表序号末位的和,DAT0),反复上述操作,记录加法指令、减法指令、乘法指令、除法指令、平方指令以及3数累加宏指令的执行结果。五、实验结果记录(数据、图表、计算等)环节11结果:加法指令(结果: A)减法指令(结果: A)乘法指令(结果:A)除法指令(结果: DAT2:商; DAT3:余数)平方指令(结果:A)以及3数累加宏指令(结果: DAT3)的执行结果环节13结果:签到表序号:33,DAT0即为21H加法指令(结果: A)减法指令(结果: A)乘法指令(结果:A)除法指令(结果: DAT2:商; DAT3:余数)平方
15、指令(结果:A)3数累加宏指令(结果: DAT3)的执行结果西华大学实验报告(理工类)开课学院及实验室:电气与电子信息学院专业实验中心 实验时间 :2023年6月20日学 生 姓 名彭强能学 号4成 绩学生所在学院机械工程学院年级/专业/班13级测控3班课 程 名 称DSP技术及应用课 程 代 码 实验项目名称实验三:IIR数字滤波器设计实验项 目 代 码指 导 教 师方春恩项 目 学 分一、 实验目的学会用MATLAB设计IIR数字滤波器的系数; 学会用DSP实现所设计的IIR数字滤波器;巩固DSP的基本编程调试。二、 实验原理1.借用计算机的资源仿真DSP的内部结构,以学习用DSP实现数字
16、信号解决基本算法。2.无限脉冲响应数字滤波器的基础理论;数字滤波器系数的拟定方法。三、 实验设备、仪器及材料安装有WINDOWS XP操作系统和CCS2.0(C5000)的计算机。四、 实验环节(按照实际操作过程)1、用MATLAB设计IIR数字滤波器的系数:(1) 在Matlab命令窗口中输入b a=maxflat(3,3,0.2) 并回车,以设计一个巴特沃斯低通滤波器,其零点数为3,极点数为3,截止频率为0.2,求得b,a分别系统函数分子多项式和分母多项式系数;(2) 记录命令窗口中生成的滤波器系数b, a;(3) 在Matlab命令窗口中输入fvtool(b,a) 并回车,以求出所设计的
17、IIR低通滤波器的幅频响应,并记录;2、用DSP实现1中所设计的IIR数字滤波器(1) 启动CCS,在Project选项中打开iir.pjt。(2) 使用Build选项完毕编译、连接,然后使用File菜单中的Load Program将生成的iir.out文献装入。这时CCS将显示程序的起始地址_c_int00。(3) 选Debug-Go main找到主函数,在“while(1);”语句处增长一个断点。(4) 选View-Graph-Time/Frequency打开图形显示设立窗口;在弹出的对话框中按下图设立,重要修改“Graph Title”为“Input_x”,“Start Address”
18、为x,“Display Data Size”为128,“Acquisition Buffer Size” 为128,“DSP Data Type”为“32-bit IEEE floating point”。将在图形显示窗口显示输入序列的128点波形。(5) 选View-Graph-Time/Frequency打开图形显示设立窗口;在弹出的对话框中按下图设立,重要修改“Graph Title”为“Output_y”,“Start Address”为y,“Display Data Size”为128,“Acquisition Buffer Size” 为128,“DSP Data Type”为“3
19、2-bit IEEE floating point”。将在图形显示窗口显示输出序列的128点波形。(6) 选Window-Tile,使各窗口平铺显示。(7) 按F5 键启动程序运营。观测记录比较输入输出波形。输入输出波形记录方法:用PrintScreen键记录当前屏幕,打开Windows 的附件中画图工具,选“编辑-粘贴”,然后剪选所需的输入输出序列波形图,粘贴至Word文档,打印贴于实验报告。(8)反复环节(4)(5)并将设立窗口中的“Display Type”改为“FFT Magnitude”(点右方下拉键),然后重做(6)(7),以观测记录比较输入输出频谱。五、实验结果分析及问题讨论(数
20、据、图表、计算等)实验内容1滤波器系数:IIR低通滤波器的幅频响应:实验内容2输入输出序列波形及输入输出频谱对比图,和相关比较结论实验内容3 C程序, 输入输出序列波形及输入输出频谱对比图,和相关比较结论;小组末尾序号和为15,即零点数为15,极点数为25,截止频率为0.3 西华大学实验报告(理工类)开课学院及实验室:电气与电子信息学院专业实验中心 实验时间 : 2023年6月20日学 生 姓 名彭强能学 号4成 绩学生所在学院机械工程学院年级/专业/班13级测控3班课 程 名 称DSP技术及应用课 程 代 码 实验项目名称实验四:FIR数字滤波器设计实验项 目 代 码指 导 教 师方春恩项
21、目 学 分一、实验目的1、 学会用MATLAB设计FIR数字滤波器的系数。 2、 学会用DSP实现所设计的FIR数字滤波器。3、 巩固DSP的基本编程调试。二、实验原理1. 借用计算机的资源仿真DSP的内部结构,以学习用DSP实现数字信号解决基本算法。2. 有限脉冲响应数字滤波器的基础理论。3. 数字滤波器系数的拟定方法。 三、实验设备、仪器及材料安装有WINDOWS XP操作系统和CCS3.3的计算机四、实验环节(按照实际操作过程)1、用MATLAB设计FIR数字滤波器的系数:(4) 在Matlab命令窗口中输入b=fir1(8,0.4) 并回车,以设计一个FIR低通滤波器,其阶数为8,截止
22、频率为0.4,采用汉明窗;(注:命令中1是123的1)(5) 记录命令窗口中生成的滤波器系数b;(6) 在Matlab命令窗口中输入freqz(b,1,512) 并回车,以求出所设计的FIR低通滤波器的幅频响应和相频响应,并记录;(注:1是123的1)2、用DSP实现1中所设计的FIR数字滤波器(8) 启动CCS,在Project选项中打开fir.pjt。(9) 使用Build选项完毕编译、连接,然后使用Fille菜单中的Load Program将生成的fir.out文献装入。(10) 选Debug-Go main找到主函数,在“while(1);”语句处增长一个断点。(11) 选View-G
23、raph-Time/Frequency打开图形显示设立窗口;在弹出的对话框中按下图设立,重要修改将设立窗口中的“Display Type”改为“FFT Magnitude”,“Graph Title”为“xin”,“Start Address”为x,“Display Data Size”为128,“Acquisition Buffer Size” 为128,“DSP Data Type”为“32-bit IEEE floating point”。将在图形显示窗口显示输入序列的128点波形。(12) 选View-Graph-Time/Frequency打开图形显示设立窗口;在弹出的对话框中按下图
24、设立,重要修改将设立窗口中的“Display Type”改为“FFT Magnitude”,“Graph Title”为“yout”,“Start Address”为y,“Display Data Size”为128,“Acquisition Buffer Size” 为128,“DSP Data Type”为“32-bit IEEE floating point”。将在图形显示窗口显示输出序列的128点波形。(13) 选Window-Tile,使各窗口平铺显示。(14) 按F5 键启动程序运营。观测记录比较输入输出频谱。输入输出波形记录方法:用PrintScreen键记录当前屏幕,打开Win
25、dows 的附件中画图工具,选“编辑-粘贴”,然后剪选所需的输入输出序列波形图,粘贴至Word文档,打印贴于实验报告。3、按环节1,2设计自己的FIR数字滤波器33+13+19(1) 用MATLAB设计FIR数字滤波器的系数:设计一个FIR低通滤波器,其阶数为20+成员签到表序号末位的和=35,截止频率为0.3,采用汉明窗。(2) 用DSP实现(1)中所设计的FIR数字滤波器:在Project管理栏中打开fir8order.c文献,修改#define MAX_ORDER 8为#define MAX_ORDER 当前阶数;修改float coff=-0.0061 , -0.0136 , 0.0512 , 0.2657 , 0.4057 , 0.2657 , 0.0512 , -0.0136 , -0.0061 为float coff=(1)中生成的系数系数 ; 选File-Save保存修改,反复环节2。五、实验结果分析及问题讨论(数据、图表、计算等)实验内容1滤波器系数及FIR低通滤波器的幅频响应和相频响应实验内容3 C程序,输入输出频谱对比图,和相关比较结论:签到表末位序号和:15,即阶数为35,截止频率为0.3