ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:211.97KB ,
资源ID:6865178      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6865178.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(稿DSP技术及应用实验指导书.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

稿DSP技术及应用实验指导书.docx

1、稿DSP技术及应用实验指导书DSP技术及应用实验指导书 适用专业:电子信息工程金陵科技学院 实验1 CCS使用入门实验序号:1 实验名称:CCS使用入门适用专业:电子信息工程 学时数:4学时一、实验目的(1)熟悉DSP集成开发环境CCS的界面(2)掌握CCS设计平台的常用功能(3)掌握用CCS设计并调试DSP程序的流程二、实验要求(1)注意掌握CCS开发DSP应用程序的步骤;(2)理解提供的汇编语言源程序的功能。(3)调试程序要记录调试过程中出现的问题及解决办法;(4)编写程序要规范、正确,上机调试过程和结果要有记录,并注意调试程序集成环境的掌握及应用,不断积累编程及调试经验;(5)实验后按实

2、验报告规范要求给出本实验的实验报告。三、实验设备、环境PIII计算机,装有CCS2.2或更高版本软件、DSP实验箱(包括仿真器)四、实验步骤及内容(一)教师演示讲解CCS的使用1、介绍SEED-DTK DSP实验箱的概况,演示DSP实验箱与PC机的连接方法。2、介绍CCS软件的界面与菜单。3、演示CCS调试程序的一般过程,讲解CCS常用功能。(二)让学生按照步骤进行操作1、操作步骤如下:以参考程序TestXF.ASM为例,将SEED-DTK实验箱通过XDS510仿真器与PC机相连,并显示正常连接后,开始练习CCS调试过程:(1)单击CCS SETUP图标,设置为硬件仿真模式,即C5416 XD

3、S510 EMULATOR。(2)创建一个新工程:Project菜单中选择New命令,在弹出的对话框中填入工程名、存放路径与目标CPU型号,本实验选择C54X。(3)新建文件,输入参考程序如下:.mmregs .def_c_int00 .text _c_int00: ;程序入口SSBXXF ;XF置1CALLDelay ;调用延时程序RSBXXF ;XF清0CALLDelay ;调用延时程序B_c_int00 ;跳转到程序开头循环执行*延时子程序:Delay,已知DSP系统初始工作频率为32MHz或160MHz*用两级减一计数器来延时。调整AR1和AR2的大小LED闪烁的频率不同*Delay:

4、 STM#999,AR1 ;循环次数1000LOOP1: STM#4999,AR2 ;循环次数5000LOOP2: BANZLOOP2,*AR2- ;如果AR2不等于0,AR2减1,再判断 BANZLOOP1,*AR1- ;如果AR1不等于0,AR1减1,跳转到LOOP1 RET .end(4)保存该文件为TestXF.asm;(5)输入并保存链接命令文件TestXF.CMD,参考内容如下:MEMORYpage0: PRAM:org=0100hlen=0F00h/*定义程序存贮区,起始0100H,长度0F00H*/SECTIONS.text:PRAMpage0/*将.text段映射到page0

5、的param区*/ (6)向工程中添加文件:在Project菜单中单击Add Files to Project,在弹出的的目录中选择待加入的文件TestXF.asm、TestXF.cmd。 (7)练习从工程中删除一个文件。(8)汇编、链接程序:执行菜单Project/Rebuild All对源程序进行编译,最后将产生一个TestXF.out文件。(9)加载程序:执行File/Load Program,选择TestXF.out并打开,即可将可执行文件加载到DSP仿真器中,此时CCS将自动打开一个反汇编窗口。该窗口中的黄色小箭头表示当前PC指向的代码行。(10)执行菜单VIEW/Register/

6、CPU Register命令,打开观察窗口观察以便观察CPU类各寄存器的值。(11)运行程序:执行Debug/Run,观察SEED-DTK实验箱的D3,应有闪烁现象,适当修改程序,该LED闪烁的频率将有所变化。XF引脚LED D3的连接图如图所示。(12)程序编译过程中若有错误,根据CCS给出的错误提示进行修改。例如,本程序中若将.def_c_int00 伪指令删除,则CCS将提示符号_c_int00未定义。要求学生尝试修改其他内容,如CMD文件,观察有可能发生的错误现象。 (三)根据学生的实验情况适当增加其他程序调试方法的讲解。五、实验注意事项实验过程中注意爱护设备,实验完毕要按正常操作关闭

7、设备。六、讨论、思考题 1TestXF.asm程序里延迟子程序的延迟时间怎样确定的?D3闪烁频率是怎样确定?。2观察并思考调试过程中单步执行命令step over、step into、step out、run to cursor的不同功能。 2打开其他示例程序并调试通过,在有关窗口中显示正确运行结果。实验二 汇编语言程序设计与调试 实验序号:2 实验名称:汇编语言程序设计与调试适用专业:电子信息工程 学时数:4学时一、实验目的(1)熟悉C54x 系列DSP芯片的汇编语言指令。(2)掌握用汇编语言设计程序的方法。(3)熟悉用CCS调试程序的过程。二、实验要求(1)输入提供的汇编语言参考程序,用C

8、CS对其进行调试;(2)调试程序要记录调试过程中出现的问题及解决办法;(3)编写程序要规范、正确,上机调试过程和结果要有记录,并注意调试程序集成环境的掌握及应用,不断积累编程及调试经验;(4)实验后给出本实验的实验报告。三、实验设备、环境至少PIII计算机,装有ccs2.2(或ccs3.1)软件四、实验步骤及内容(一)教师简单回顾所需知识并演示一个程序的输入调试过程。1简单回顾常用汇编伪指令的含义。2回顾CCS的操作步骤3以一个实现连加的汇编程序为例(PPT的316页),重点演示该汇编程序的调试过程。(1)该汇编程序的参考内容如下:.title “exam2.asm”.mmregs.bss x

9、,5.bss y,1.textStm #x,ar1Stm #4,ar4Ld #0,aLoop: Add *ar1+,a Banz loop,*ar4- Stl a,y .end(2)参考CMD文件:MEMORY page 0: PRAM: org=1000h len=0F00h/*定义程序存贮区,起始0100H,长度0F00H*/page 1: DRAM:org=1000h,len=100h /*定义数据存贮区,起始1000H,长度0100H*/SECTIONS.text:PRAM page 0 /*将.text段映射到page0的PRAM区*/.bss:DRAM page 1 /*将.bss

10、 段映射到page1的DRAM区*/ (3)运行该程序,但发现无法正确运行,从存储器的安排角度去解决这个问题。(4)存储器安排问题解决后,再次运行程序,但在y单元未观察到运行结果,要求改写代码,使得在y单元获得正确的计算结果(提示:从直接寻址的规律角度思考)。(5)CCS中存储器的观察方法选择VIEW/memory,打开窗口,在其中Address中输入要观察的x单元地址,被选择观察Data memory,即可打开指定单元起始的DM进行观察。要修改某单元内容,只需双击即可修改。 (二)学生按照设计选题编写简单程序1、设计并调试汇编程序实现连续乘加功能(PPT的325页)。2、学生自行编写其他汇编

11、程序并调试直至满足功能要求如:(1)编写一段程序,对数组进行初始化,使x5=0,0,0,0,0(PPT的316页)(2)编写一段程序,对数组进行初始化,使x5=0,1,2,3,4(读懂PPT 325页的程序,自己编写)(3)编写一段程序,首先对数组x20赋值,再将数据存储器中的数组x20复制到数组y20。(PPT的278页)(三)学生在参考程序中添加两行代码: STL A,AR1 LD *AR1+,T按调试过程对其进行调试,观察CCS给出的警告提示,并思考为什么会有这种警告以及怎样消除之。(四)记录调试过程中出现的问题、解决的思路及解决的办法。五、讨论思考题1、DSP汇编程序中流水线冲突的解决

12、有哪些规律?2、怎样比较实现同一功能的两个程序所用的算法的优劣?实验三 使用探测点与文件I/O实验序号:3 实验名称:使用探测点与文件I/O适用专业:电子信息工程 学时数:4学时一、实验目的(1)掌握用CCS设计并调试DSP程序的流程。 (2)掌握探测点与文件I/O的使用方法。(3)掌握从文件读入数据到内存的方法。(4)掌握CCS波形或图像输入输出的步骤。二、实验要求(1)注意掌握CCS开发DSP应用程序的步骤;(2)输入提供的C语言参考程序,用CCS对其进行调试;(3)调试程序要记录调试过程中出现的问题及解决办法;(4)编写程序要规范、正确,上机调试过程和结果要有记录,并注意调试程序集成环境

13、的掌握及应用,不断积累编程及调试经验;(5)实验后按实验报告规范要求给出本实验的实验报告。三、实验设备、环境PIII计算机,装有ccs2.2或更高版本软件四、实验步骤及内容(一) 教师讲解演示CCS探测点与文件I/O的使用过程1、探测点即探针断点(Probe Point)的原理探针可以从PC机的文件中读取数据,它是开发算法的一个有效工具。其作用概括为:(1)将来自PC主机文件的输入数据传送到目标系统的缓存器中供算法使用。(2)将来自目标系统缓存器中的输出数据传送到PC主机的文件中供分析。(3)用数据更新窗口,如图形窗口。2、演示通过探测点实现数据输入并查看图形的步骤。(二)让学生按照演示步骤练

14、习有关操作。练习使用探测点与文件I/O,操作步骤:1. 创建工程,并加入C语言程序volume.c及其相应的命令链接文件volume.cmd、头文件、库文件、中断向量表等文件。点击工具栏按钮或选择ProjectRebuild All 。2. 选择FileLode Program并选取volume.out ,然后点击Open。3. 在Project View窗口中,双击volume.c文件。4. 将光标置于主函数中的 dataIO( )这一行上。DataIO函数起占位符作用。现在,它是一个很好的与探针断点相连接的地方,以便于从PC机文件输入数据。5. 点击工具栏按钮(Toggle Probe P

15、oint),则光标所在行变为兰色高亮。6. 选择FileFile I/O,在File I/O 对话窗中可选择输入和输出文件。7. 在File Input 栏中,点击Add File。8. 选择sine.dat 文件。注意:在文件类型框中可以选择数据格式,sine.dat 文件包含正弦波形的16进制值。9. 点击Open,将该文件添加到File I/O对话框的列表上,接着出现sine.dat文件控制窗口(CCS窗口可以覆盖它)。在运行程序时,可用这个窗口开始、停止、重复、或快速前进来控制数据文件。10. 在File I/O对话框中,将Address修改为 inp_buffer,Length修改为

16、100,选中WrapAround。11. 点击Add Probe Point,选择将dataio()行的探针对指定数据文件连接:点击Connect栏尾处的下箭头,在其下拉菜单中选择sine.dat 文件;点击Replace。 Probe Point列表将显示探测点已连接到sine.dat 文件;点击“确定”。 File I/O对话框则显示文件现已被连接到探测点。12. 在File I/O对话框,点击“确定”。13. 点击按钮,在dataio()行增加一断点,点击动态运行按钮 。14选择ViewGraphTime/Frequency。15在弹出的Graph Property Dialog对话窗中

17、, 将 Graph Title,Start Address,Acquisition Buffer Size,Display Data Size,DSP Data Type,Autoscale和Maximum Y-value 的属性改变为如下图所示。向下滚动或调整 dialog 框的大小可看到所有的属性。16 点击OK,出现输入缓存的一个图形窗。17窗口中右击鼠标,从弹出的菜单中选择Clear Display。18再次选择ViewGraphTime/Frequency。19改变Graph Title的属性为Output Buffer,改变Start Address的属性为Out_buffer,其

18、余的设置都不变。20点击OK,又出现一个图形窗,在该图形窗内右击鼠标,从弹出的菜单中选择Clear Display。21选择viewWatch Window22Watch窗中右击鼠标,并从弹出菜单中选择Add Tab。23在Expression区敲入gain并单击OK,变量值出现在Watch窗口。24如果程序已暂停,点击工具栏按钮(Aminate),重新开始运行程序。25在Watch窗口中双击gain。26在Edit Variable窗口中修改gain值为10,并点击OK。27注意在Output Buffer图形中信号幅度变化反映了增益的提高31.仿照此例程,编写程序,实现图片的亮度变换算法,

19、要求算法执行前后,图片的亮度相应变化。如;。五、实验注意事项实验过程中注意爱护设备,实验完毕要按正常操作关闭设备。六、讨论、思考题 1查找资料思考怎样实现动态刷新图形。 2查找资料思考并练习怎样显示频谱等图形。实验四 定时器与中断实验实验序号:4 实验名称:定时器与中断实验适用专业:电子信息工程 学时数:4学时一、实验目的(1)熟悉用CCS设计并调试程序的流程 (2)掌握定时器等片内外设的寄存器的含义及其设置方法(3)掌握C54X 中断系统的原理(4)掌握长时间时间间隔的定时器的处理方法二、实验要求(1)注意掌握CCS开发DSP应用程序的步骤;(2)编写一个简单的定时器中断程序,利用定时器定时

20、,使与XF引脚相连的LED灯亮灭,用CCS对其进行调试;(3)调试程序要记录调试过程中出现的问题及解决办法;(4)编写程序要规范、正确,上机调试过程和结果要有记录,并注意调试程序集成环境的掌握及应用,不断积累编程及调试经验;(5)做完实验后给出本实验的实验报告。三、实验设备、环境PIII计算机,装有ccs2.2或更高版本软件四、实验步骤及内容(一) 教师简单回顾定时器原理与中断的原理1、定时器由三个寄存器组成:TIM、PRD、TCR,TIM:定时器寄存器,用于装载周期寄存器的数值并自动减1PRD:周期寄存器,用于装载定时周期的寄存器TCR :定时器控制寄存器,包含定时器的控制状态位。TCR的D

21、6D9位名字叫PSC,TCR的D3D0名字叫TDDR。定时器实际就是16位的减1计数器,它有两级计数:(1)对CPU时钟CLKOUT计数,每来一个CLKOUT周期,PSC的内容减1。在PSC减到0前,TIM内容不变。(2)当PSC的内容减为0时,TIM寄存器内容减1。一直到TIM减为0时,表示定时时间到,这时CPU发出中断信号,称为定时器中断,用TINT表示。当TIM减为0时,PRD的内容又重新装入TIM,开始下一次定时。(3)定时器定时长度计算公式:Tt=T*(1+TDDR)*(1+PRD)2长时间时间间隔的编程思路:有时定时的长度不能满足需要,比如DSP工作频率160Mhz时,定时最大值约

22、为6ms,如果需要更长的定时,就要在定时器中断子程序中再加一个计数器,直到产生一定次数的定时中断后再执行相应的操作。3、中断是指:CPU终止正在执行的程序,转去执行一个请求中断的内部或外部的中断服务程序,待处理完毕后,又返回到被终止的源程序处继续执行。这一过程称为中断;中断系统是指:为实现中断功能而设置的各种硬件和软件。 C54x DSP既支持软件中断,也支持硬件中断。当同时有多个硬件中断出现时,C54x DSP按照中断优先级别的高低对它们进行服务。 C54x DSP的中断可以分成两大类:第一类是可屏蔽中断。这些都是可以用软件来屏蔽或开放的硬件和软件中断。第二类是非屏蔽中断。这些中断是不能够用

23、软件指令屏蔽的,C54x对这一类中断必须予以响应,并从主程序转移到中断服务程序。C54x DSP的非屏蔽中断包括所有的软件中断,以及两个外部硬件中断(复位) 和 。 (3)与中断有关寄存器有中断标志寄存器(IFR):它的D3位是TINT0,是定时器0的中断标志位中断屏蔽寄存器(IMR):它的某一位为0时,表示屏蔽该中断(4)中断方式控制位INTM:是CPU状态寄存器ST1中的D11位INTM=1表示关闭所有可屏蔽中断、INTM=0开放所有可屏蔽中断(二)让学生按照设计步骤调试程序实验操作步骤:(1)创建一个新工程:Project菜单中选择New命令,在弹出的对话框中填入工程名、存放路径与目标C

24、PU型号,本实验选择C54X。(2)新建文件,输入实验要求的参考程序(程序的斜体部分用于修改中断向量表地址): .title timer.asm .mmregs .def _c_int00 .def TINT0_ISRCounterSet .set 1000 PERIOD .set 49999 .asg AR1,Counter _c_int00: LDM PMST,A AND #7FH,A OR #0180H,A STLM A,PMST STM #CounterSet,Counter STM #0000000000010000B,TCR STM #PERIOD,TIM STM #PERIOD,

25、PRD STM #0000001111001110B,TCR STM #0008H,IMR RSBX INTM End: NOP B EndTINT0_ISR: PSHM ST0 BANZ Next,*Counter- STM #CounterSet,Counter BITF *AR2,#1 BC ResetXF,TC setXF: SSBX XF ST #1,*AR2 B NextResetXF: RSBX XF ST #0,*AR2Next: POPM ST0 RETE .end(3)保存该文件为timer.asm;(4)向工程中添加文件:在Project菜单中单击Add Files to

26、 Project,在C:tic5400cgtoolliblnk.cmd,打开该文件,记住它安排.text段从程序存储器的0080H开始存放。(5)编译、链接程序:执行菜单Project/Rebuild All,汇编结果在将汇编信息输出窗口中给出。编译后将产生一个timer.out文件。(6)加载程序:执行File/Load Program,选择timer.out并打开,即可将可执行文件加载到DSP软件仿真器simulator中,此时CCS将自动打开一个反汇编窗口。(7)点击鼠标右键,选择弹出菜单的set pc to cursor,在弹出的对话框内填入PC指向的地址,这时绿色箭头的位置即为PC指

27、向的地址。(8)选择菜单VIEWRegistercpu register,打开CPU的MMR窗口观察,同时观察实验平台上相应的LED。(9)运行程序:执行Debug/Run。(10)应能观察到LED灯闪烁。(11)程序编译过程中若有错误,根据CCS给出的错误提示进行修改,若无实验现象,则调试程序使之实现。 (12)修改程序,使LED的闪烁频率为3Hz。五、实验注意事项实验过程中注意爱护设备,实验完毕要按正常操作关闭设备。六、讨论、思考题1写出LED的闪烁频率与CPU主频的关系表达式?2认真研究程序timer.asm中的斜体部分有何作用? 3撰写实验报告时必须为参考程序增加详细注释。 实验二 参

28、考程序,要求全部运行一遍并掌握,写到实验报告中时,要增加适当的注释1实现y=a*x+b .title exam21.asm .def _c_int00 .bss a,1 .bss x,1 .bss b,1 .bss y,1 .text_c_int00 LD #a,DP LD a,T ;取a值,T=a MPY x, B ;完成ax乘积,B=ax ADD b, B ;完成ax+b运算,B=ax+b STL B, y .end2实现y=a1*x1+a2*x2 ppt第289页.title exam22.asm .def _c_int00 .bss a,2 .bss x,2 .bss y,2 .tex

29、t_c_int00 LD x, T MPY a, B LD x+1, T MAC a+1, B STL B, y STH B, y+1 .endMEMORY page 0: PRAM: org=0100h len=0F00h /*定义程序存贮区,起始0100H,长度0F00H*/page 1: DARAM: org=2000h len=100h/*定义数据存贮区,起始2000H,长度0100H*/SECTIONS.text:PRAM page 0 /*将.text段映射到page0的PRAM区*/.bss: DARAM page 1 /*将.bss段映射到page1的DARAM区*/ 3.连续乘加 .title exam23.asm .mmregs .def _c_int00stack .usect STK,20h .bss a,5 .bss x,5 .bss y,2 ;假设结果超过16位,因此设存放结果单元y为两个单元 .data ;因为后面用MVPD访问该段,说明该段应分配到程序存储器table: .word

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1