DSP技术实验指导书.docx
《DSP技术实验指导书.docx》由会员分享,可在线阅读,更多相关《DSP技术实验指导书.docx(13页珍藏版)》请在冰豆网上搜索。
DSP技术实验指导书
一基础实验:
CCS的使用与简单应用程序的调试
1.1实验目的
1.熟悉CCS集成开发环境,掌握工程的生成方法;
2.熟悉SEED-DEC5416实验环境;
3.掌握CCS集成开发环境的调试方法;
1.2实验内容
1.DSP源文件的建立;
2.DSP程序工程文件的建立;
3.学习使用CCS集成开发工具的调试工具;
1.3实验知识背景
1.3.1CCS简介
1.CCS提供了配置、建立、调试、跟踪和分析程序的工具,它便于实时、嵌入式信号处理程序的编制和测试,它能够加速开发进程,提高工作效率。
CCS提供了基本的代码生成工具,它们具有一系列的调试、分析能力。
CCS支持如下所示的开发周期的所有阶段
1.3.1CCS简介
1.CCS提供了配置、建立、调试、跟踪和分析程序的工具,它便于实时、嵌入式信号处理程序的编制和测试,它能够加速开发进程,提高工作效率。
CCS提供了基本的代码生成工具,它们具有一系列的调试、分析能力。
CCS支持如下所示的开发周期的所有阶段
湖南工学院教案用纸p
2.CCS窗口介绍
1.3.2CCS常用文件介绍
使用CCS时,经常遇见下述扩展名文件:
1.project.mak:
CCS使用的工程文件
2.program.c:
C程序源文件
3.program.asm:
汇编程序源文件
4.filename.h:
C程序的头文件,包含DSP/BIOSAPI模块的头文件
5.filename.lib:
库文件
6.project.cmd:
连接命令文件
7.program.obj:
由源文件编译或汇编而得的目标文件
8.program.out:
(经完整的编译、汇编以及连接的)可执行文件
9.project.wks:
存储环境设置信息的工作区文件
保存配置文件时将产生下列文件:
1.programcfg.cmd:
连接器命令文件
2.programcfg.h54:
汇编头文件
3.programcfg.s54:
汇编源文件
湖南工学院教案用纸p
1.3.3CCS常用指令简介
1.设置断点。
将光标放置在需要设置断点的程序行前,选择Debug→Breakpoints,即完成可一个断点的设置。
2.CCS提供3种方法复位目标板
1)ResetDSP:
Debug→ResetD,初始化所有的寄存器内容并暂停运行中的程序。
使用此命令后,要重新装载.out文件后,在执行程序。
2)Restart:
Debug→Restart,将PC值恢复到当前载入程序的入口地址。
3)Gomain:
Debug→Gomain,将程序运行到主程序的入口处暂停。
3.CCS提供4种执行操作
1)执行执行:
Debug→Run,程序运行直到遇到断点为止。
2)暂停执行:
Debug→Halt,程序停止运行。
3)动画执行:
Debug→Animate,用户反复运行程序,直到遇到断点为止。
4)自由执行:
Debug→RunFree,禁止所有断点运行程序。
4.CCS提供4种单步执行操作
1)单步进入:
Debug→stepinto,快捷键F8,当调试语句不是
基本的汇编指令时,此操作进入语句内部。
2)单步执行:
Debug→stepOver,此命令将函数或子函数当作
一条语句执行,不进入内部调试。
3)单步跳出:
Debug→stepOut,此命令作用为从子程序中跳出
4)执行到光标处:
Debug→RuntoCursor,快捷键crtl+F10,此命令作用为将程序运行到光标处。
5.内存、寄存器与变量的操作
1)查看变量使用view→WatchWindow命令
2)查看寄存器使用view→Registers→CPURegisters命令
3)查看内存使用view→memory命令
湖南工学院教案用纸p
6.Graph的设置即图形显示
1)选择View→Graph→Time/Frequency。
2)在弹出的GraphPropertyDialog对话窗中,将GraphTitle,Start
Address,AcquisitionBufferSize,DisplayDataSize,DSPDataType等的属性可改变为如下图所示(也可根据具体需要设置属性)。
向下滚动右侧的滚动条或调整dialog框的大小可看到所有的属性。
1.4实验步骤
1).将DSP仿真器与计算机连接好;
2).将DSP仿真器的JTAG插头与SEED-DEC5416单元的J1相连接;
3).启动计算机,当计算机启动后,打开SEED-DTK_DBD的电源。
观察SEED-DTK-IO1单元的+5V,+3.3V,+15V,-15V的电源指示灯,SEED_DEC5416的D2以及SEED-DSK2812的D2是否均亮;若有不亮的,请断开电源,检查电源。
4).双击图标进入CCS环境。
下面按照原文件、工程文件以及编译条件的设置来分别介绍一下CCS的使用。
1.4.1创建源文件
1).打开CCS选择File→New→SourceFile命令
2).编写源代码并保存
3).保存源程序名为math.c,选择File→Save
4).创建其他源程序(如.cmd)可重复上述步骤。
1.4.2创建工程文件
1.打开CCS,点击Project-->New,创建一个新工程,其中工程名及路径可任意指定
2.弹出如下对话框:
3.在Project中填入工程名,Location中输入工程路径;其余按照默认选项,点击完成即可完成工程创建。
4点击Project选择addfilestoproject,添加工程所需文件。
湖南工学院教案用纸p
5.在弹出的对话框中的下拉菜单中分别选择.c点击打开,即可添加源程序XXX.c添加到工程中。
6.同样的方法可以添加文件XXX.cmd、XXX.lib到工程中;在下面窗口中可以看到XXX.c、XXX.cmd、XXX.lib文件已经加到工程文件中。
7.以下操作可使您对工程中的文件进行打开、删除、查看属性等操作
1.4.3设置编译与连接选项
1.点击Project选择BuildOpitions
2.在弹出的对话框中设置相应的编译参数,一般情况下,按默认值就可以;
3.在弹出的对话框中选择连接的参数设置,设置输出文件名,堆栈的大小以及初始化的方式。
1.4.4工程编译与调试
1.点击Project→Buildall,对工程进行编译,如正确则生成out文件;
若是修改程序,可以使用Project→Build命令,进行编译连接,它只对修改部分做编译连接工作。
可节省编译与连接的时间。
编译通过,生成.out文件。
2.点击File→loadprogram,在弹出的对话框中载入debug文件夹下
的.out可执行文件。
3.装载完毕
4.点击debug→GoMain回到C程序的入口
5.打开File→Workspace→SaveWorkspace保存调试环境,以便下次调试时不需要重新进行设置。
只要File→Workspace→LoadWorkspace即可恢复当前设置
1.5完成简单应用程序的调试
1.6记录实验结果
1.7完成实验报告:
二.设计实验按键中断显示实验
3.1实验目的
1.了解DSP外部中断的使用,中断服务程序的设计方法;
2.掌握DSP中断向量表的划分。
3.2实验设备
计算机;DSP硬件仿真器;SZ-DSPF开发教学平台。
3.3实验硬件设置
做实验之前,需要接通该实验所需的硬件电路,木实验为:
先将实验箱上的电源开关“MS2","MS3"和"MS4”按下,再将机箱右侧的船型开关往"I”方向打开电源;SZ-5416的主控模块上的J7,J9,J4,J16短接;在“设置模块”中将“A"和"C”设置为“1"。
然后开始做实验,注意在做DSP实验时一开始按了SZ-5416的主控模块上的K1硬件复位后,程序运行中不要再按复位键,以免实验由十DSP复位而失败。
3.4实验原理及说明
本实验采用键盘中断,当有键按下时一给DSP一个中断信号(INT2)DSP通过此I/O端口地址COOlh读键值,在读取键值后由数码管显T出来。
硬件原理图请参考“SZ-LK板”的说明,逻辑关系请参考第二章逻辑分析5416部分,数据流程请参考第五章中的数码管和按键。
中断标志寄存器(IFR},中断屏蔽寄存器(IMR}
3.5实验步骤及结果
本实验是一个测试键盘的实验,运行程序依次按键1-8,数码管依次显T7-0,中间键一一对应,任意按一键,其对应的数码管显不相应的数字。
步骤:
1.启动CCS}编写实验程序代码(可参考随机光盘中的例程alldsp4\h2keptest,进行编译并加载到DSP中。
2.采用单步运行或执行到光标处,或全速运行。
观察其结果。
(具体请参考实验一)
湖南工学院教案用纸p
3.6实验程序框图
3.7完成实验报告及实验思考
1.分析下例指令的特点POPD,POPM,PSHDPUSHM?
2.分析中断管理流程及中断向量表的特点
湖南工学院教案用纸p
三、定时器实验
4.1实验目的
1.了解DSP汇编程序的构成;
2.了解DSP程序各段的含义;
3.熟悉在汇编条件下如何编写中断服务程序;
4.了解串行通讯的过程
5.掌握长时间间隔的定时器的处理。
6.掌握片内外设的设置方法。
4.2实验内容
1.DSP的初始设置;
2.DSP中断向量表的建立;
3.定时中断的编写;
4.查询方式异步串口程序的编写。
4.3实验要求
能够掌据汇编语言的程序结构。
正确进行异步串口的通讯与定时器的设置。
能够与系统正确通讯。
通过LCD与键盘可以控制定时器的运行。
4.4实验程序功能与结构说明
湖南工学院教案用纸p
4.5.实验步骤
首先将光盘下03.ExamplesofProgram\04.SEED_DTK-DBD调试实验程
序目录下的CCS-Timer的文件夹拷贝到D:
盘根目录下。
1.将DSP仿真器与计算机连接好;
2.将DSP仿真器的JTAG插头与SEED-DEC5416单元的J1相连接;
3.启动计算机,当计算机启动后,打开SEED-DTK_DBD的电源。
观察
SEED-DTK-IO1单元的+5V,+3.3V,+15V,-15V的电源指示灯,
SEED_DEC5416的D2以及SEED-DSK2812的D2是否均亮;若有不亮的,
请断开电源,检查电源。
4.打开CCS,进入CCS的操作环境。
5.装入timer.pjt工程文件,添加dtk-boot.gel文件。
6.装载程序timer.out,进行调试。
7.在程序的第101行“i=i+1;”处设置断点。
8.运行程序,程序会停在断点处,表明已进入定时器中断。
继续运行程序,
程序每次都会停在断点处。
实验者可根据自己的需要改变周期寄存器的
值,从而控制每次进中断的时间。
4.6思考题
理解DSP程序的编写过程,如何编写中断程序?
四.综合性实验FIR滤波器的设计
8.1实验目的
1.了解F工R滤波器的原理及使用方法;
2.了解使用Matlab语言设计F工RR滤波器的方法;
3.了解DSP对F工R滤波器的设计及编程方法;
4.熟悉对F工R滤波器的调试方法;
8.2实验内容
本试验要求设计滤波器采样频率为1000hz,截n频率300hz的低通滤波器。
设计F工R滤波器实现上面要求。
输入信号频率合成信号,目的是通过我们设计的滤波器将高频信号滤掉,余下低频的信号成分,达到滤波的效果。
8.3实验原理
一个线性位移不变系统的输出序列Y(}>和输入序列X(}>之间的关系,应满足常系数线性差分方程:
湖南工学院教案用纸p
FIR滤波器的单位冲激响应h(n)为有限长序列。
若h(n)为实数,且满足偶对称或奇对称的条件,则FIR滤波器具有线性相位特性。
N—偶数
在数字滤波器中,FIR滤波器具有如下几个主要特点:
①FIR滤波器无反馈回路,是一种无条件稳定系统;
②FIR滤波器可以设计成具有线性相位特性。
本实验程序设计的就是一种偶对称的线性相位滤波器。
程序算法实现采用循环缓冲区法。
算法原理:
①在数据存储器中开辟一个N个单元的缓冲区(滑窗),用来存放最新的N个输入样本;
②从最新样本开始取数;
③读完最老样本后,输入最新样本来代替最老样本,而其他数据位置不变;
④用BK寄存器对缓冲区进行间接寻址,使缓冲区地址首尾相邻。
8.4程序设计
1.滤波器的Matlab
编写matlab程序,语言设计生成F工R滤波器系数后,附到DSP汇编语言程序中。
主程序如
f=[00.60.61];
m=[1100]
b=firls(36,f,m)
freqz(b,1,512)
b二b*2^15
2.输入信号程序,文件名为firinput.
3.DSP汇编语言程序设计。
汇编源文件fir.asm,中断向量表vectoes.asm和链接命令文件fir.cmd组成。
8.5实验步骤
1.打开ccs,新建立一上程文件fir.Pjt.
2.将汇编源文件fir.asm、中断向量表vectors.asm和链接命令文件fir.cmd添加到fir.pjt中。
3.在project菜单下选择buildoptions选项,选取Linker选项,调整为
-q-c–m,.\Debug\fir.Map,-o,.\Debug\fir.out“-w一x。
点击编译,链接图标,通过后生成fir.out文件和firr.map文件,其余选项.丁默认。
湖南工学院教案用纸p
4.在file菜单下,选择loadprogram选项,将生成的fir.out文件装载
到DSP中。
5.运行程序,在view菜单下选择watchwindow选项来观测变量值。
依次输入input和output来观测输入输出变量值,这两个变量分别为滤波前的输入数据和滤波后输出数据的首地址。
6.在view菜单下选择graph/timefrequence,弹出如下对话框。
按照要求,设置好相应的参数,来观测输入和输出数据的波形。
7.具体调试执行程序时,使用断点,单步执行等方式。
}v}r.}.}xm}-}o'rnmsuwr,}rv;yxirxn}
8.6记录实验结果
8.7完成实验报告及思考题
1.为什么要对matlab程序生成的系数进行调整,即将浮点数转换成整数?
2.试改变输入的信号(保证一个频率在通带范围内,一个在通带范围外),进行相应的数据调整,然后在CCS底下观测看输入数据波形。
3.进行滤波器系数的调整再进行相应滤波,然后在CCS底下看输出数据波形情况有何变化。