一基础实验: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支持如下所示的开发周期的所有阶段湖南工学院教案用纸p2.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:汇编源文件湖南工学院教案用纸p1.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命令湖南工学院教案用纸p6.Graph的设置即图形显示1)选择View→Graph→Time/Frequency。2)在弹出的GraphPropertyDialog对话窗中,将GraphTitle,StartAddress,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→Save4).创建其他源程序(如.cmd)可重复上述步骤。1.4.2创建工程文件1.打开CCS,点击Project--New,创建一个新工程,其中工程名及路径可任意指定2.弹出如下对话框:3.在Project中填入工程名,Location中输入工程路径;其余按照默认选项,点击完成即可完成工程创建。4点击Project选择addfilestoproject,添加工程所需文件。湖南工学院教案用纸p5.在弹出的对话框中的下拉菜单中分别选择.c点击打开,即可添加源程序XXX.c添加到工程中。6.同样的方法可以添加文件XXX.cmd、XXX.lib到工程中;在下面窗口中可以看到XXX.c、XXX.cmd、XXX.lib文件已经加到工程文件中。7.以下操作可使您对工程中的文件进行打开、删除、查看属性等操作1.4.3设置编译与连接选项1.点击Project选择BuildOpitions2.在弹出的对话框中设置相应的编译参数,一般情况下,按默认值就可以;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.采用单步运行或执行到光标处,或全速运行。观察其结果。(具体请参考实验一)湖南工学院教案用纸p3.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实验程序功能与结构说明湖南工学院教案用纸p4.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(}之间的关系,应满足常系数线性差分方程:湖南工学院教案用纸pFIR滤波器的单位冲激响应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^152.输入信号程序,