DSP运行实验报告.docx
《DSP运行实验报告.docx》由会员分享,可在线阅读,更多相关《DSP运行实验报告.docx(18页珍藏版)》请在冰豆网上搜索。
DSP运行实验报告
DSP运行实验报告
一、实验目的
熟悉CCS软件仿真下,DSP程序的下载和运行;熟悉借助单片机的DSP程序下载和运行;
熟悉借助仿真器的DSP程序下载和运行;熟悉与DSP程序下载运行相关的CCS编程环境。
二、实验原理
CCS软件仿真下,借用计算机的资源仿真DSP的内部结构,可以模拟DSP程序的下载和运行。
如果要让程序在实验板的DSP中运行、调试和仿真,可以用仿真器进行DSP程序下载和运行。
初学者也可以不用仿真器来使用这款实验板,只是不能进行程序调试和仿真。
在本实验板的作用中,单片机既是串口下载程序的载体,又是充当DSP的片外存储器(相对于FLASH),用于固化程序。
三、实验设备、仪器及材料
安装有WINDOWSXP操作系统和CCS3.3的计算机。
四、实验步骤(按照实际操作过程)
1、CCS软件仿真下,DSP程序的下载和运行。
第一步:
安装CCS,如果不使用仿真器,CCS的运行环境要设置成一个模拟仿真器(软仿真)。
第二步:
运行CCS,进入CCS开发环境。
第三步:
打开一个工程。
将实验目录下的EXP01目录拷到D:
\shiyan下(目录路径不能有中文),用[Project]\[Open]菜单打开工程,在“ProjectOpen”对话框中选EXP01\CPUtimer\CpuTimer.pjt,选“打开”,
第四步:
编译工程。
在[Project]菜单中选“RebuildAll”,生成CpuTimer.out文件。
第五步:
装载程序。
用[File]\[LoadProgram]菜单装载第四步生成CpuTimer.out文件,在当前工程目录中的Debug文件夹中找到CpuTimer.out文件,选中,鼠标左键单击“打开”。
第六步:
运行程序。
用[Debug]\[Run]菜单运行第五步装载的程序。
用[Debug]\[Halt]菜单停止程序运行。
2、借助单片机的DSP程序下载和运行。
(1)将\CpuTimer\Debug中的CpuTimer.Out拷到CHANGE文件夹中并将CpuTimer.out.out文件名重新命名成ASM.out。
(2)双击运行change.bat批处理文件后,CHANGE文件会生成2个文件(dsp.hex和
dspcode.h)
(3)将dspcode.h文件拷贝到LOAD文件夹中(删除或覆盖以前的文件),打开安装好的
KEILC软件,在Project->OpenProject打开LOAD文件中的LOAD.Uv2工程,点击上图中的Buildtarget快捷按钮,编译工程。
(4)编译后LOAD文件中产生LOAD.hex文件,打开安装好的STC-ISP软件,选择MCU
Type为STC89LE58RD+;点击OpenFile按钮找到LOAD.Hex文件,打开;点击Download/下载按钮(注意先断开开发板电源,方便下载),注意COM口要选择和电脑对应的接口。
(5)出现提示“握手连接”后,立即给开发板上电,即可下载程序到单片机了,
(6)拔掉串口线(也可以不拔),可以看到开发板上的D2发光二极管每秒闪烁2次,说明
程序已经加载到DSP中运行了。
3、借助仿真器的DSP程序下载和运行。
首先将电源、JTAG接口连接好。
SetupCCSstudio配置完毕并储存(详见仿真器目录下的“CCS3.3的安装与设置”)。
打开CCStudiov3.3。
此时,你将会看见USB仿真器指示灯变为绿色,
CCStudiov3.3界面左下角连接标志为绿色。
否则,则为红色。
将\CpuTimer路径下的CpuTimer文件夹复制到D:
\shiyan。
CCStudiov3.3界面如下图1.5所示,选中【Projects】右键选择【Openproject】栏,将弹出下图。
点击“打开”左框将添加工程CpuTimer
打开【File】菜单栏,选中【LoadProgram】
选择【Debug】文件夹下“CpuTimer.out”文件并打开
在【Debug】菜单目录下选择【GoMain】选项,执行程序将到main()函数处
观察结果:
板上发光二极管D2(JTAG接口附近)不断快速闪烁,表示定时器运作正常。
本程序主要对CPU定时器0进行操作,1MS产生一次中断,让DSP5402开发板上的D2发光二极管每500ms闪烁一次。
五、实验结果分析及问题讨论
思考题
实验中用了那三种DSP程序下载方式?
比较实验中三种DSP程序下载方式的区别,分析其各自适用场合。
1.CCS软件仿真下,DSP程序的下载和运行;CCS软件仿真下,借用计算机的资源仿真DSP的内部结构,可以模拟DSP程序的下载和运行
2.借助仿真器进行DSP程序下载和运行;软仿真情况下看不到程序运行的硬件输出效果。
本程序主要是说明在没有DSP仿真器的情况下如何下载运行DSP程序,看到程序运行的硬件输出效果。
其主要过程就是要将CCS中编译生成的out文件转换成单片机可以直接下载的HEX文件
3.借助单片机进行DSP程序下载和运行。
在本实验板的作用中,单片机既是串口下载程序的载体,又是充当DSP的片外存储器(相对于FLASH),用于固化程序借助单片机的DSP程序下载和运行,可以看到程序运行的硬件效果,但不能在线调试。
若需要对程序在线调试,需借助仿真器,通过DSP的JTAG接口进
一、实验目的
1、熟悉CCS编程环境及TMS320C54xDSP的基本算术运算指令。
2、了解TMS320C5402的存储空间分配。
3、进行DSP的基本编程调试。
二、实验原理
借用计算机的资源仿真DSP的内部结构,以学习DSP的基本编程。
三、实验设备、仪器及材料
安装有WINDOWSXP操作系统和CCS3.3的计算机。
四、实验步骤(按照实际操作过程)
1、鼠标左键双击桌面“SetupCCS3.3”图标启动CCSSetup,鼠标左键依次单击“C5402Simulator”,“Import”,“SaveandQuit”,“是(Y)”启动CCS,在[Project]\[Open]菜单中打开exp02/ex1.pjt;
2、在左边树状列表框内双击[Project]展开目录树,双击[ex1.asm]打开源程序文件,参考程序中的注释仔细阅读源程序;
3、在[Project]\[Build]菜单中编译项目文件,编译成功后在下端的状态窗口中显示BuildComplete,0Errors,0Warnings;
4、在[File]\[LoadProgramm]中加载输出执行代码文件ex1.out,选择[View]\[[Disassembly]。
此时,反汇编(Disassembly)窗口将显示在前端,当前PC指针为0000:
2080(绿色箭头指示),指令代码将以汇编语言方式显示,可以在反汇编窗口中点击鼠标右键,在弹出菜单中选择[Properties]\[DisassemblyOptions]打开反汇编选项对话框,在[DisassemblyStyle]选项中选择[Algebraic],以算术语言方式显示指令代码(注意:
此时可能标号显示异常,按PageUP再按PageDown即可刷新显示);
5、选择[View]\[CPURegisters]\[CPURegister](或点击左边工具栏的快捷按钮)打开处理器映射寄存器窗口;
6、选择[View]\[Memory](或点击左边工具栏的快捷按钮),在弹出的[WindowsMemoryOptions]对话框的Address文本框中输入0x0260,Page下拉框中选中Data,确定后将打开数据存储器查询窗口,此时数据存储器地址0x0260-0x0263将对应ex1.asm中声明的标号DAT0-DAT3;
7、调整[Disassembly][memory][CPURegisters]三个窗口的大小,以便于观察;
8、依次把光标移动到反汇编(Disassembly)窗口中标号为bk?
(?
表示从0开始的整数)的标号行下的指令处,点击鼠标右键,在弹出菜单选择[Togglebreakpoint](或者点击快捷按钮)设置断点,断点设置后,该行前显示红色圆点;
9、选择[Debug]\[Run](也可以按快捷键F5或点击快捷按钮)执行程序;
10、程序将在第一个断点bk0处停止,按F10单步执行程序,再在处理器映射寄存器窗口中或数据存储器查询窗口中观察指令执行结果;
11、重复执行9步骤,依次观察并记录加法指令(结果:
A)、减法指令(结果:
A)、乘法指令(结果:
A)、除法指令(结果:
DAT2:
商;DAT3:
余数)、平方指令(结果:
A)以及3数累加宏指令(结果:
DAT3)的执行结果;
12、以上指令执行完毕后,程序转到bk0处,可再次进行熟悉运算控制的实验。
13、修改[ex1.asm],使DAT0=组员签到表序号末位的和(ST#组员签到表序号末位的和,DAT0),重复上述操作,记录加法指令、减法指令、乘法指令、除法指令、平方指令以及3数累加宏指令的执行结果。
五、实验结果记录(数据、图表、计算等)
步骤11结果:
加法指令(结果:
A)
减法指令(结果:
A)
乘法指令(结果:
A)
除法指令(结果:
DAT2:
商;DAT3:
余数)
平方指令(结果:
A)
以及3数累加宏指令(结果:
DAT3)的执行结果
步骤13结果:
签到表序号:
33,DAT0即为21H
加法指令(结果:
A)
减法指令(结果:
A)
乘法指令(结果:
A)
除法指令(结果:
DAT2:
商;DAT3:
余数)
平方指令(结果:
A)
3数累加宏指令(结果:
DAT3)的执行结果
IIR数字滤波器设计实验
一、实验目的
学会用MATLAB设计IIR数字滤波器的系数;学会用DSP实现所设计的IIR数字滤波器;巩固DSP的基本编程调试。
二、实验原理
1.借用计算机的资源仿真DSP的内部结构,以学习用DSP实现数字信号处理基本算法。
2.无限脉冲响应数字滤波器的基础理论;数字滤波器系数的确定方法。
三、实验设备、仪器及材料
安装有WINDOWSXP操作系统和CCS2.0(C5000)的计算机。
四、实验步骤(按照实际操作过程)
1、用MATLAB设计IIR数字滤波器的系数:
(1)在Matlab命令窗口中输入[ba]=maxflat(3,3,0.2)并回车,以设计一个巴特沃斯低通滤波器,其零点数为3,极点数为3,截止频率为0.2,求得b,a分别系统函数分子多项式和分母多项式系数;
(2)记录命令窗口中生成的滤波器系数b,a;
(3)在Matlab命令窗口中输入fvtool(b,a)并回车,以求出所设计的IIR低通滤波器的幅频响应,并记录;
2、用DSP实现1中所设计的IIR数字滤波器
(1)启动CCS,在Project选项中打开iir.pjt。
(2)使用Build选项完成编译、连接,然后使用File菜单中的LoadProgram将生成的iir.out文件装入。
这时CCS将显示程序的起始地址_c_int00。
(3)选Debug->Gomain找到主函数,在“while
(1);”语句处增加一个断点。
(4)选View->Graph->Time/Frequency…打开图形显示设置窗口;在弹出的对话框中按下图设置,主要修改“GraphTitle”为“Input_x”,“StartAddress”为x,“DisplayDataSize”为128,“AcquisitionBufferSize”为128,“DSPDataType”为“32-bitIEEEfloatingpoint”。
将在图形显示窗口显示输入序列的128点波形。
(5)选View->Graph->Time/Frequency…打开图形显示设置窗口;在弹出的对话框中按下图设置,主要修改“GraphTitle”为“Output_y”,“StartAddress”为y,“DisplayDataSize”为128,“AcquisitionBufferSize”为128,“DSPDataType”为“32-bitIEEEfloatingpoint”。
将在图形显示窗口显示输出序列的128点波形。
(6)选Window->Tile,使各窗口平铺显示。
(7)按F5键启动程序运行。
观察记录比较输入输出波形。
输入输出波形记录方法:
用PrintScreen键记录当前屏幕,打开Windows的附件中画图工具,选“编辑->粘贴”,然后剪选所需的输入输出序列波形图,粘贴至Word文档,打印贴于实验报告。
(8)重复步骤(4)(5)并将设置窗口中的“DisplayType”改为“FFTMagnitude”(点右方下拉键),然后重做(6)(7),以观察记录比较输入输出频谱。
五、实验结果分析及问题讨论(数据、图表、计算等)
实验内容1滤波器系数:
IIR低通滤波器的幅频响应:
实验内容2输入输出序列波形及输入输出频谱对比图,和相关比较结论
实验内容3C程序,输入输出序列波形及输入输出频谱对比图,和相关比较结论;
小组末尾序号和为15,即零点数为15,极点数为25,截止频率为0.3
FIR数字滤波器设计实验
一、实验目的
1、学会用MATLAB设计FIR数字滤波器的系数。
2、学会用DSP实现所设计的FIR数字滤波器。
3、巩固DSP的基本编程调试。
二、实验原理
1.借用计算机的资源仿真DSP的内部结构,以学习用DSP实现数字信号处理基本算法。
2.有限脉冲响应数字滤波器的基础理论。
3.数字滤波器系数的确定方法。
三、实验设备、仪器及材料
安装有WINDOWSXP操作系统和CCS3.3的计算机
四、实验步骤(按照实际操作过程)
1、用MATLAB设计FIR数字滤波器的系数:
(4)在Matlab命令窗口中输入b=fir1(8,0.4)并回车,以设计一个FIR低通滤波器,其阶数为8,截止频率为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菜单中的LoadProgram将生成的fir.out文件装入。
(10)选Debug->Gomain找到主函数,在“while
(1);”语句处增加一个断点。
(11)选View->Graph->Time/Frequency…打开图形显示设置窗口;在弹出的对话框中按下图设置,主要修改将设置窗口中的“DisplayType”改为“FFTMagnitude”,“GraphTitle”为“xin”,“StartAddress”为x,“DisplayDataSize”为128,“AcquisitionBufferSize”为128,“DSPDataType”为“32-bitIEEEfloatingpoint”。
将在图形显示窗口显示输入序列的128点波形。
(12)选View->Graph->Time/Frequency…打开图形显示设置窗口;在弹出的对话框中按下图设置,主要修改将设置窗口中的“DisplayType”改为“FFTMagnitude”,“GraphTitle”为“yout”,“StartAddress”为y,“DisplayDataSize”为128,“AcquisitionBufferSize”为128,“DSPDataType”为“32-bitIEEEfloatingpoint”。
将在图形显示窗口显示输出序列的128点波形。
(13)选Window->Tile,使各窗口平铺显示。
(14)按F5键启动程序运行。
观察记录比较输入输出频谱。
输入输出波形记录方法:
用PrintScreen键记录当前屏幕,打开Windows的附件中画图工具,选“编辑->粘贴”,然后剪选所需的输入输出序列波形图,粘贴至Word文档,打印贴于实验报告。
3、按步骤1,2设计自己的FIR数字滤波器33+13+19
(1)用MATLAB设计FIR数字滤波器的系数:
设计一个FIR低通滤波器,其阶数为20+组员签到表序号末位的和=35,截止频率为0.3,采用汉明窗。
(2)用DSP实现
(1)中所设计的FIR数字滤波器:
在Project管理栏中打开fir8order.c文件,
修改#defineMAX_ORDER8为#defineMAX_ORDER当前阶数;
修改
floatcoff[]=
{-0.0061,-0.0136,0.0512,0.2657,0.4057,0.2657,
0.0512,-0.0136,-0.0061}
为
floatcoff[]={
(1)中生成的系数系数…};
选File->Save保存修改,重复步骤2。
五、实验结果分析及问题讨论(数据、图表、计算等)
实验内容1滤波器系数及FIR低通滤波器的幅频响应和相频响应
实验内容3C程序,输入输出频谱对比图,和相关比较结论:
签到表末位序号和:
15,即阶数为35,截止频率为0.3