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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

DSP芯片原理与应用指导书.docx

1、DSP芯片原理与应用指导书实验一 CCS开发环境练习一、实验目的掌握加减法运算指令。掌握ccs编译环境的使用二、实验设备计算机、SEED-DTK 实验箱、5416EVM 板三、实验原理参见教材第3章四、实验内容编写程序,分别实现计算z=x+y-w、y=mx+b五、实验步骤1、用仿真机将计算机与SEED-DTK系列实验箱连接好,然后打开实验箱电源,再运行CCStudio v3.3 软件。2、新建一个项目:点击ProjectNew,将项目命名为experiment2,然后点击OK,系统会自动生成一个与项目同名的文件夹。注意项目名要用英文名,不要将项目取名为中文名,因为CCS 软件不能识别以中文命名

2、的文件夹。3、新建一个源文件:点击FileNewSource File 可以打开一个文本编辑窗口,点击保存按键,保存在和项目同名的一个文件夹下面(experiment2),保存类型选择*.ASM(如果源文件是C 语言编写的,保存类型选择*.C,本实验中的例程是使用汇编语言编写的,所以选择*.ASM 为保存类型),我们在这里将保存名字命名为example4.asm 。4、在项目中添加源文件:在新建立了一个源文件以后,要想使用CCS 编译器对该源文件进行编译还需要将源文件添加到项目中去。添加方法是在工程管理器中右键单击experiment2.pjt,在弹出的菜单中选择Add Files to pr

3、oject,然后将刚才建立的example4.asm 文件添加到该项目中去。5、编写源程序:在工程管理器中双击example4.asm ,将出现文本编辑窗口,在该文本编辑窗口中输入如下内容:* * 计算 z=x+y-w * *.title example4.asm.mmregsSTACK .usect STACK,10H ;堆栈的设置.bss x,1 ;为变量分配4 个字的存储空间.bss y,1.bss w,1.bss z,1.def _c_int00.datatable .word 10,26,23 ;x,y,w.text_c_int00: STM #0,SWWSR ;插入0 个等待状态S

4、TM #STACK+10H,SP ;设置堆栈指针STM #x,AR1 ;AR1指向xRPT #2MVPD table,*AR1+ ;把程序存储器中的数据移动到数据存储器CALL SUMBend: B endSUMB: LD *(x),AADD *(y),ASUB *(w),ASTL A,*(z)RET.end6、编写链接配置文件:新建一个源文件:点击FileNewSource File 可以打开一个文本编辑窗口,点击保存按键,保存在和项目同名的一个文件夹下面(experiment2),保存类型选择*.cmd,我们在这里将保存名字命名为dec5416.cmd。输入以下文本内容:MEMORY PA

5、GE 0: VECT: origin = 0x28100, len = 0x100 IPROG1: origin = 0x200, len = 0x7c00 IPROG2: origin = 0x28200, len = 0x7c00 IPROG3: origin = 0x38000, len = 0x8000 FLASHL: origin = 0x40000, len = 0x40000 FLASHH: origin = 0x4000000,len = 0x80000 PAGE 1: SPRAM: origin = 0x60, len = 0x20 DARAM: origin = 0x80,

6、 len = 0x3f80 /*FLASH*/ SARAM: origin = 0x8000, len = 8000 SECTIONS .vector: VECT PAGE 0 .text: IPROG2 PAGE 0 .cinit: IPROG2 PAGE 0 .switch: IPROG2 PAGE 0 .const: IPROG2 PAGE 0 .stack: IPROG1 PAGE 0 .data: DARAM PAGE 1 .bss: DARAM PAGE 1 .cio: IPROG1 PAGE 0 7、编写中断向量表文件新建一个源文件:点击FileNewSource File 可以

7、打开一个文本编辑窗口,点击保存按键,保存在和项目同名的一个文件夹下面(experiment2),保存类型选择*.asm,我们在这里将保存名字命名为vector.asm。输入以下文本内容:.title vector.asm ;/*中断向量表的文件名*/.ref _c_int00 ;/*引用外部定义的标号*/.sect .vector ;/*定义初始化的段名*/B _c_int00 ;/*引用start*/.end8、对项目进行编译和链接:再从3.4.4 Convolve 文件夹下将dek-boot.gel文件拷到本项目所在的文件夹(experiment2)并添加该gel文件。把example4.

8、asm、vector.asm、dec5416.cmd 依次添加到项目后,点击ProjectRebuild All,编译成功之后并对该项目进行链接,生成*.out 文件。9、装载可执行文件:要让程序代码在DSP 内部运行必需将生成的*.OUT 文件装载到DSP 内部,装载方法是点击:FileLoad Programe 再在项目文件夹下的子文件夹debug中选择生成的example4.out 文件就可以将程序装载到DSP 的内部存储器中。10、运行程序并查看结果:a)首先打开欲查看的数据空间:点击ViewMemory,弹出“Memory Window Options”对话框,把欲查看的地址改为0x

9、0080,如右图所示。b)点击OK 按钮,然后点击DebugRun 让程序在DSP 内部运行,最后点击DebugHalt,再观察“Memory ”对话框,看是否与下图一致:11、修改汇编源程序文件将以上项目源程序中SUMB子程序的寻址方式改成间接寻址方式,运行程序并查看程序运行结果。并记录下程序运行结束后CPU寄存器的结果。12、建立其它项目工程文件建立项目工程文件example5,使之实现计算y=mx+b; .title example4.asm.mmregsSTACK .usect STACK,10H ;堆栈的设置.bss x,1 ;为变量分配4 个字的存储空间.bss m,1.bss b

10、,1.bss y,1.def _c_int00.datatable .word 15,3,20 ;x,m,b.text_c_int00: STM #0,SWWSR ;插入0 个等待状态STM #STACK+10H,SP ;设置堆栈指针STM #x,AR1 ;AR1指向xRPT #2MVPD table,*AR1+ ;把程序存储器中的数据移动到数据存储器CALL SUMMend: B endSUMM: LD *(x),TMPY *(m),AADD *(b),ASTL A,*(y)RET.end操作步骤与前面相似,需要观察的数据存储器的地址均为0x0080;下面是该项目程序的实验运行结果:exam

11、ple5 的结果 并记录下程序运行结束后CPU各寄存器的结果。实验二 定点运算实验一、实验目的掌握各种乘法指令。二、实验设备计算机、SEED-DTK 实验箱、5416EVM 板三、实验原理参见教材第三章。四、实验内容编写程序,实现y= a i x i 。五、实验步骤1、用仿真机将计算机与SEED-DTK 实验箱连接好,并依次打开实验箱电源、仿真机电源,然后运行CCStudio v3 .3 软件。2、新建一个项目:点击ProjectNew,将项目命名为zhao4,并将项目保存在自己定义的文件夹下,注意文件夹一定要用英文名,不要将文件夹取名为中文名,因为CCS 软件不能识别以中文命名的文件夹。3、

12、新建一个源文件:点击FileNewSource File 可以打开一个文本编辑窗口,点击保存按键,保存在和项目相同的一个文件夹下面(zhao4),保存类型选择*.ASM(如果源文件是C 语言编写的,保存类型选择*.C,本实验中的例程是使用汇编语言编写的,所以选择*.ASM为保存类型),我们在这里将保存名字命名为zhao4.asm 。4、在项目中添加源文件:在新建立了一个源文件以后,要想使用CCS 编译器对该源文件进行编译还需要将源文件添加到项目中去。添加方法是在工程管理器中右键单击zhao4.pjt,在弹出的菜单中选择Add Files,然后将刚才建立的zhao4.asm 文件添加到该项目中去

13、。5、编写源程序:在工程管理器中双击zhao4.asm ,将出现文本编辑窗口,在该文本编辑窗口中输入如下内容:* * 用单操作数指令方案实现 * y=(a1*x1+a2*x2+a19*x19+a20*x20) * *.title zhao4.asm .mmregsSTACK .usect STACK,30H .bss a,20 .bss x,20 .bss y,2 .datatable: .word 1,2,3,4,5,6,7,8,9,10,11 .word 12,13,14,15,16,17,18,19,20 .word 21,22,23,24,25,26,27,28 .word 29,30

14、,1,2,3,4,5,6,7,8,9,10 .def _c_int00 .text_c_int00: STM #a,AR1 RPT #39 MVPD table,*AR1+ LD #0,B STM #a,AR2 STM #x,AR3 STM #19,BRC RPTB done-1 LD *AR2+,T ;单操作数指令 MPY *AR3+,A ;单操作数指令 ADD A,Bdone: STH B,*(y) STL B,*(y+1)end: B end .end6、编写链接配置文件:参照实验二,可不作修改7、编写中断向量表文件参照实验二,可不作修改。8、对项目进行编译和链接:把zhao4.asm、

15、vectors.asm、zhao4.cmd 依次添加到项目后,点击ProjectCompile File,在项目编译成功之后点击ProjectBuild 选项对该项目进行链接,生成*.out 文件。9、装载可执行文件:要让程序代码在DSP 内部运行必需将生成的*.OUT 文件装载到DSP 内部,装载方法是点击:FileLoad Programe 再选择生成的zhao4.out 文件就可以将程序装载到DSP 的内部存储器中。10、运行程序并查看结果:a ) 首先打开欲查看的数据空间: 点击ViewMemory,弹出“Memory Window Options”对话框,把欲查看的地址改为0x008

16、0,如右图所示。b)点击OK 按钮,然后点击DebugRun 让程序在DSP 内部运行,最后点击DebugHalt,再观察“Memory ”对话框,看是否与下图一致:11、查看执行的周期数:a)关闭上述数据观察窗口,在文件zhao4.asm 的“end: B end”处设置断点:在该语句的左边灰色区域双击鼠标即可,如下图所示: b)点击菜单ProfilerEnable Clock , 使EnableClock上出现一个小钩(如右图所示);然后再点击ProfilerView Clock,则会在CCS 窗口中出现一个“Clock=0”的小窗口。c)对项目进行重新编译下载:点击ProjectRebu

17、ild All,编译成功后点击FileReload Program,最后点击DebugRun 运行程序,则可发现Clock 窗口中出现“Clock=?”,显然这个数字即是程序运行所耗机器周期数N。12、试使用双操作数指令方案实现上述程序的功能:试用双操作数乘法指令和RPTZ指令来代替RPTB done-1LD *AR2+,T ;单操作数指令MPY *AR3+,A ;单操作数指令ADD A,B并完成上述程序的功能。并查看程序运行的周期数。13、试用分支指令实现上述程序的功能:试用BANZ 指令来代替RPTB done-1LD *AR2+,T ;单操作数指令MPY *AR3+,A ;单操作数指令A

18、DD A,B并完成上述程序的功能。并查看程序运行的周期数。实验三 FIR滤波器一、实验目的(1)了解FIR滤波器的原理及使用方法;(2)了解使用Matlab语言设计FIR滤波器的方法;(3)了解DSP对FIR滤波器的设计及编程方法;(4)熟悉对FIR滤波器的调试方法;二、 实验内容本试验要求设计滤波器采样频率为8000hz,截止频率2400hz的高通滤波器,并设计FIR滤波器实现上面要求。输入信号频率为 800HZ,1800 HZ 和 3300HZ 的合成信号,目的是通过我们设计的滤波器将800HZ和1800 HZ的信号滤掉,余下3300HZ的信号成分,达到滤波的效果。三、 实验原理一个线性位

19、移不变系统的输出序列y(n)和输入序列x(n)之间的关系,应满足常系数线性差分方程:x(n): 输入序列,y(n): 输出序列,ai、bi: 滤波器系数, N: 滤波器的阶数。在式上式中,若所有的 ai均为 0,则得 FIR 滤波器的差分方程:对上式进行 z变换,可得FIR 滤波器的传递函数:FIR 滤波器的结构在数字滤波器中,FIR 滤波器具有如下几个主要特点: FIR 滤波器无反馈回路,是一种无条件稳定系统; FIR 滤波器可以设计成具有线性相位特性。本实验程序设计的就是一种偶对称的线性相位滤波器。程序算法实现采用循环缓冲区法。算法原理: 在数据存储器中开辟一个N个单元的缓冲区(滑窗),用

20、来存放最新的N个输入样本; 从最新样本开始取数; 读完最老样本后,输入最新样本来代替最老样本,而其他数据位置不变; 用BK寄存器对缓冲区进行间接寻址,使缓冲区地址首尾相邻。四、实验步骤1.滤波器的 Matlab 语言设计编写matlab程序,生成FIR滤波器系数后,附到DSP汇编语言程序中。2输入数据为800HZ,1800 HZ 和 3300HZ 的合成信号合成信号,采样率为8000hz,160个样点。Input .word 0x7FDE,0x04CF,0xF7FD,0xE2D4,0xE6F3,0x1AE5,0x9A5F,0xED44,0x0D2C,0x42A1.word 0x48C3,0xC

21、EF2,0x2889,0xFD21,0xFD3E,0xC78E,0x988E,0x30AC,0x0FBB,0x3216.word 0x0000,0x058B,0x5BAF,0xDBB1,0xDD85,0xA6EE,0xEFE8,0x347D,0xD778,0x21D4.word 0x0C7C,0x5688,0x2784,0xAC72,0xEE91,0xCC24,0x190E,0xDC23,0xD14A,0x4D7E.word 0x2A9F,0x4D7E,0xD14A,0xDC23,0x190E,0xCC24,0xEE91,0xAC72,0x2783,0x5688.word 0x0C7C,0x2

22、1D4,0xD778,0x347D,0xEFE8,0xA6EE,0xDD85,0xDBB1,0x5BAF,0x058C.word 0x0000,0x3216,0x0FBB,0x30AC,0x988F,0xC78E,0xFD3E,0xFD21,0x2889,0xCEF2.word 0x48C3,0x42A1,0x0D2C,0xED44,0x9A5F,0x1AE5,0xE6F4,0xE2D3,0xF7FD,0x04CF.word 0x7FDE,0x04CF,0xF7FD,0xE2D4,0xE6F3,0x1AE5,0x9A5F,0xED44,0x0D2C,0x42A1.word 0x48C3,0xC

23、EF2,0x2889,0xFD21,0xFD3E,0xC78E,0x988E,0x30AB,0x0FBB,0x3216.word 0x0000,0x058B,0x5BAF,0xDBB1,0xDD85,0xA6EF,0xEFE8,0x347D,0xD778,0x21D4.word 0x0C7C,0x5688,0x2784,0xAC72,0xEE91,0xCC24,0x190D,0xDC24,0xD149,0x4D7E.word 0x2A9F,0x4D7E,0xD14A,0xDC23,0x190E,0xCC24,0xEE91,0xAC72,0x2783,0x5688.word 0x0C7C,0x2

24、1D4,0xD778,0x347D,0xEFE8,0xA6EE,0xDD86,0xDBB1,0x5BAF,0x058C.word 0x0000,0x3216,0x0FBB,0x30AC,0x988F,0xC78D,0xFD3E,0xFD21,0x2889,0xCEF1.word 0x48C3,0x42A2,0x0D2C,0xED44,0x9A5F,0x1AE5,0xE6F4,0xE2D3,0xF7FD,0x04CF3打开CCS,新建立一工程文件fir.pjt。4将汇编源文件fir.asm、中断向量表vectors.asm和链接命令文件fir.cmd添加到fir.pjt中。fir5.asm文件内

25、容如下: .title fir5.asm .mmregs .def _c_int00 .datafir_table .word -6,28,46,27,-35,-100,-93,26,191,240,52,-291 .word -497,-278,337,888,773,-210,-1486,-1895,-442,2870 .word 6793,9445,9445,6793,2870,-442,-1895,-1486,-210,773 .word 888,337,-278,-497,-291,52,240,191,26,-93 .word -100,-35,27,46,28,-6 .datai

26、nput .word 0x7FDE,0x04CF,0xF7FD,0xE2D4,0xE6F3,0x1AE5,0x9A5F,0xED44,0x0D2C,0x42A1 .word 0x48C3,0xCEF2,0x2889,0xFD21,0xFD3E,0xC78E,0x988E,0x30AC,0x0FBB,0x3216 .word 0x0000,0x058B,0x5BAF,0xDBB1,0xDD85,0xA6EE,0xEFE8,0x347D,0xD778,0x21D4 .word 0x0C7C,0x5688,0x2784,0xAC72,0xEE91,0xCC24,0x190E,0xDC23,0xD14

27、A,0x4D7E .word 0x2A9F,0x4D7E,0xD14A,0xDC23,0x190E,0xCC24,0xEE91,0xAC72,0x2783,0x5688 .word 0x0C7C,0x21D4,0xD778,0x347D,0xEFE8,0xA6EE,0xDD85,0xDBB1,0x5BAF,0x058C .word 0x0000,0x3216,0x0FBB,0x30AC,0x988F,0xC78E,0xFD3E,0xFD21,0x2889,0xCEF2 .word 0x48C3,0x42A1,0x0D2C,0xED44,0x9A5F,0x1AE5,0xE6F4,0xE2D3,0

28、xF7FD,0x04CF .word 0x7FDE,0x04CF,0xF7FD,0xE2D4,0xE6F3,0x1AE5,0x9A5F,0xED44,0x0D2C,0x42A1 .word 0x48C3,0xCEF2,0x2889,0xFD21,0xFD3E,0xC78E,0x988E,0x30AB,0x0FBB,0x3216 .word 0x0000,0x058B,0x5BAF,0xDBB1,0xDD85,0xA6EF,0xEFE8,0x347D,0xD778,0x21D4 .word 0x0C7C,0x5688,0x2784,0xAC72,0xEE91,0xCC24,0x190D,0xDC

29、24,0xD149,0x4D7E .word 0x2A9F,0x4D7E,0xD14A,0xDC23,0x190E,0xCC24,0xEE91,0xAC72,0x2783,0x5688 .word 0x0C7C,0x21D4,0xD778,0x347D,0xEFE8,0xA6EE,0xDD86,0xDBB1,0x5BAF,0x058C .word 0x0000,0x3216,0x0FBB,0x30AC,0x988F,0xC78D,0xFD3E,0xFD21,0x2889,0xCEF1 .word 0x48C3,0x42A2,0x0D2C,0xED44,0x9A5F,0x1AE5,0xE6F4,0xE2D3,0xF7FD,0x04CFfir_coff .usect fir_coff,48in_buf .usect in_buf,48 .bss in,160 .bss out_buf,112 .text_c_int00: SSBx FRCT;小数乘法编程时,设置FRCT(小数方式)位 STM #in,AR1 RPT #159 MVPD input,*AR1+ STM #fir_coff,AR1 RPT #47 MVPD fir_table,*AR1+ STM #in_buf,AR1 RPT #47 MVPD input,*AR1+ S

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

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