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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

dsp实验报告.docx

1、dsp实验报告DSP实验报告 班 级:电 信 073班 实 验 者:卢思亮 06401200205 同实验者:梁峻华 06401200203电气与信息工程学院 实验一 I/O实验实验目的:熟悉SZDSPII实验平台的使用;了解DSP对I/O口的访问方式;熟悉简单的程序设计及指令运用。实验设备:计算机;DSP硬件仿真器;DSP实验开发平台。实验硬件设置:在做实验以前,需要接通该实验的硬件电路,本实验为:先将实验箱右侧的船型开关往“I”方向打开电源,然后将系统主板的开关S33往下拨接通+/-5V电源,然后将CPLD/FPGA模块上的电源开关S9往下(ON)拨,开关S10往下拨来选通主板上发光二极管

2、等输出指示设备;将系统主板中“MCU/DSP选择档”选中MCU(往下拨),将“功能键7”拨上去,电击键盘中的RST键,MCU 将对所有发光二极管进行检测,如果所有的发光二极管正常,则将“MCU/DSP选择挡”选中DSP,将功能键1到7都拨下来。然后开始做实验,注意在做实验时开始按了RST硬件复位后,实验不要再按RST键,以免由于DSP复位而失败。如果实验中硬件工作不正常,可按RST对整个系统硬件进行复位。实验原理:本程序主要是实现将数据往一个I/O端口送,从而显示一种状态,来验证DSP对I/O口的访问。该实验是由DSP直接编程,往发光二极管送数,运用PORTW指令,观察发光二极管的变化,从而完

3、成基本的I/O实验。硬件框图实验程序框图开始实验程序 .title ex9 .global _c_int00 .mmregsFG_ADDR .set 1002H DATA .set 60h ;double ram data .sect .vectorsreset: B _c_int00 NOP NOP .space 31*4*16 DELAY .macro sec_tenth ;延时 sec_tenth/10 秒 STM sec_tenth-1,AR5loop1? STM #09h,AR6loop0? STM #19999,AR7 BANZ $,*AR7- BANZ loop0?,*AR6-

4、BANZ loop1?,*AR5- .endm .text_c_int00: LD #0h,DP STM #3000h,SP RSBX INTM STM #07FFFh,SWWSR SSBX XF ;XF=1 ST #1007h,CLKMD ;工作在20MHz RPT #0FFh NOP STM #0ffffh,IFR ORM #000h,IMR RSBX SXM ST #8100H,DATA WRDENG: PORTW DATA,FG_ADDR DELAY #10 NOP ST #4200H,DATA PORTW DATA,FG_ADDR DELAY #10 ST #2400H,DATA P

5、ORTW DATA,FG_ADDR DELAY #10 ST #1800H,DATA PORTW DATA,FG_ADDR DELAY #10 ST #1800H,DATA PORTW DATA,FG_ADDR DELAY #10 RPT #10 NOP ST #2400H,DATA PORTW DATA,FG_ADDR DELAY #10 RPT #10 NOP ST #4200H,DATA PORTW DATA,FG_ADDR DELAY #10 RPT #10 NOP ST #8100H,DATA PORTW DATA,FG_ADDR DELAY #10 RPT #10 NOP STM

6、#00H,DATA ; PORTW DATA,FG_ADDR DELAY #10 NOP ST #100H,DATA PORTW DATA,FG_ADDR DELAY #10 ST #200H,DATA PORTW DATA,FG_ADDR DELAY #10 ST #400H,DATA PORTW DATA,FG_ADDR DELAY #10 ST #800H,DATA PORTW DATA,FG_ADDR DELAY #10 RPT #10 NOP ST #1000H,DATA PORTW DATA,FG_ADDR DELAY #10 RPT #10 NOP ST #2000H,DATA

7、PORTW DATA,FG_ADDR DELAY #10 RPT #10 NOP ST #4000H,DATA PORTW DATA,FG_ADDR DELAY #10 RPT #10 NOP STM #8000H,DATA PORTW DATA,FG_ADDR DELAY #10 RPT #10 NOP ; ST #8000H,DATA PORTW DATA,FG_ADDR DELAY #10 ST #4000H,DATA PORTW DATA,FG_ADDR DELAY #10 ST #2000H,DATA PORTW DATA,FG_ADDR DELAY #10 ST #1000H,DA

8、TA PORTW DATA,FG_ADDR DELAY #10 RPT #10 NOP ST #800H,DATA PORTW DATA,FG_ADDR DELAY #10 RPT #10 NOP ST #400H,DATA PORTW DATA,FG_ADDR DELAY #10 RPT #10 NOP ST #200H,DATA PORTW DATA,FG_ADDR DELAY #10 RPT #10 NOP STM #100H,DATA PORTW DATA,FG_ADDR DELAY #10 RPT #10 NOP ST #8100H,DATA B WRDENGaaa nop b aa

9、a .end 思考题:有哪三种以上的寻址方式可以完成上述实验?并描述其原理。答:共有以下四种寻址方式可以完成上述实验:绝对寻址绝对寻址利用16位地址寻址存储单元,其特点是指令中包含一个固定地址。16位地址可以用其地址标号或程序中定义的符号常数来表示。由于绝对地址代码的位数为16位,所以绝对地址寻址的指令至少为2个字长累加器寻址累加器寻址是将累加器的内容作为地址去访问程序存储单元,即将尅假期中的数作为地址,用来对存放数据的程序存储器寻址。直接寻址直接寻址是利用数据指针和堆栈指针寻址,其特点是数据存储器地址由基地址和偏移地址共同构成,共16位。基地址位于数据存储器地址的高9位,偏移地址位于数据存储

10、器地址的低7位。间接寻址间接寻址是利用辅助寄存器内容作为地址指针访问存储器。TMS320C54x有8个16位辅助寄存器(AR0AR7)。每一个寄存器都可以用来寻址64千字数据存储空间中任何一个单元。两个辅助存储器算术运算单元(ARAU0和ARAU1)可以根据辅助寄存器的内容进行操作,完成16位无符号数算术运算。实验二 数码显示实验一、实验目的熟练掌握DSP的各种指令;进一步熟悉DSP的I/O访问方式的操作,通过I/O方式将数据显示到数码管上。二、实验设备 计算机,DSP硬件仿真器,DSP实验开发平台。注意:在做实验以前,需要接通该实验的硬件电路,本实验为:先将实验箱右侧的船型开关往“I”方向打

11、开电源,然后将系统主板的开关S33往下拨接通+/-5V电源,然后将CPLD/FPGA模块上的电源开关S9往下(ON)拨,开关S10往下拨来选通主板上发光二极管等输出指示设备;将系统主板中“MCU/DSP选择档”选中MCU(往下拨),将“功能键6”拨上去,点击键盘中的MON键,MCU将对所用的LED管进行检测。如果所有的LED管正常,将“MCU/DSP选择档”选中DSP(往上拨),将功能键1到7都拨下来,然后开始做实验。注意在做实验时开始按了RST硬件复位后,实验不要再按RST键,以免由于DSP复位而失败。三、实验原理 此实验是由DSP通过IO方式对数码管进行操作,即是向数码管送数据,高4位为数

12、码管的段码,低4位为数码管的位码,DSP用的数据线是D8D15,如要在第0位显示一个8,就只要送入80H,其次,该实验中要求熟练运用DSP的各种指令,能使显示数据出现左移或右移等。四、实验程序框图实验程序: .title ex9 .global _c_int00 .mmregsSM_ADDR .set 1003h ;数码管的I/O地址SM_DATA .set 60h ;段码在数据线的高4位,位码在数据线的次高4位.;在CPLD模块中程序为DEMO程序的情况下,段码显示已译码,比如:要显示7,;只要往数据线的高4位发7即可.位码为0-7,在次高位数据线对应的数值也为0-7. .sect .vec

13、torsreset: B _c_int00 NOP NOP .space 31*4*16 .text_c_int00: LD #0h,DP ;设置数据页指针 STM #2000h,SP ;设置堆栈指针 RSBX INTM STM #07FFFh,SWWSR SSBX XF ST #1007h,CLKMD ;工作在20MHz RPT #0FFh NOP STM #0ffffh,IFR ORM #000h,IMR RSBX SXMaaa nop CALL LED07 ;显示0到7 CALL LED8F ;显示8到F b aaa LED8F ST #8000h,SM_DATA ST #07H, AR

14、3WRDENG: PORTW SM_DATA,SM_ADDR ;8-f RPT #10000 NOP ST #02fffH,AR6 call delay ADDM #1100H,SM_DATA ;送位码,屏蔽低8位数据 BANZ WRDENG, *AR3- RETLED07 NOP ST #07H, AR3 STM #0H,SM_DATAWRDENG1 NOP ;0-7 PORTW SM_DATA,SM_ADDR ST #02fffH,AR6 call delay ADDM #1100H,SM_DATA ;送位码,屏蔽低8位数据 BANZ WRDENG1, *AR3- RETdelay STM

15、 #0f0h,AR7 ;延时子程序 BANZ $,*AR7- BANZ delay,*AR6- RET五、实验思考如何设置DP、SP值,以及DP、SP在程序中所起的作用是什么?如何理解、设置I/O等待寄存器?答:DP为状态寄存器0(ST0)中的9位数据存储器页指针,SP为堆栈指针。可通过装载指令LD设置DP,通过存储指令STM设置SP。当程序调用子程序时,需要将程序计数器PC的值和一些重要的寄存器值进行压栈保护,以便程序返回时能从间断处继续执行。通过设置DP,SP可完成。为了方便地使C54x与慢速的片内存储器和I/O接口,可以通过软件可编程来延长等待周期,最多可达到7-14个机器周期,I/O空

16、间复位值为111b。 实验三、交通灯实验一、实验目的了解数据输出程序的设计方法;模拟交通灯控制, 能正确的模拟交通灯。运用定时中断二、实验设备计算机,DSP硬件仿真器,DSP实验开发平台。注意:在做实验以前,需要接通该实验的硬件电路,本实验为:先将实验箱右侧的船型开关往“I”方向打开电源,然后将系统主板的开关S33往下拨接通+/-5V电源,然后将CPLD/FPGA模块上的电源开关S9往下(ON)拨,开关S10往下拨来选通主板上双色发光二极管(交通灯)等输出指示设备;将系统主板中“MCU/DSP选择档”选中MCU(往下拨),将“功能键7”拨上去,点击键盘中的RST键,MCU 将对所用发光二极管进

17、行检测,如果所有的双色发光二极管正常,则将“MCU/DSP选择挡”选中DSP(往上拨),将功能键1到7都拨下来。然后开始做实验,注意在做实验时,开始按了RST硬件复位后,实验中不要再按RST键,以免由于DSP复位而失败。如果实验中硬件工作不正常,可按RST对整个系统硬件进行复位。三、实验原理及说明掌握DSP的定时器、I/O访问原理,用I/O口控制红绿黄灯的开关。四、实验程序框图 实验程序 .title ex8 .global _c_int00 .mmregsLED_ADDR .set 1001hSTATUS0 .set 60h STATUS1 .set 61hSTATUS2 .set 62hS

18、TATUS3 .set 63hSTATUS4 .set 64hSTA2_PRE_0 .set 65hSTA2_PRE_1 .set 66hSTA4_PRE_0 .set 67hSTA4_PRE_1 .set 68hDELAY .macro sec_tenth ;延时 sec_tenth/10 秒 STM sec_tenth-1,AR5loop1? STM #09h,AR6loop0? STM #19999,AR7 BANZ $,*AR7- BANZ loop0?,*AR6- BANZ loop1?,*AR5- .endm .sect .vectorsreset: B _c_int00 NOP

19、NOP .space 4*127 .text_c_int00 LD #0h,DP STM #3000h,SP SSBX INTM SSBX SXM STM #07FFFh,SWWSR ;IO总线外部等待时间14个周期 STM #0h,CLKMD ;20MHz工作tst BITF CLKMD,#1h BC tst,TC STM #1007h,CLKMD RPT #0FFh NOP ST #0FFFFh,IFR ORM #000h,IMR ST #0AA00H,STATUS0LOOPB PORTW STATUS0,LED_ADDR ;全部红灯 DELAY #100 ;延时1秒circle ST #

20、6600H,STATUS1 PORTW STATUS1,LED_ADDR ;南北红灯、东西绿灯 DELAY #200 ;延时20秒 STM #2h,BRC RPTB flash1 ST #6600H, STA2_PRE_0 PORTW STA2_PRE_0,LED_ADDR DELAY #30 ST #2200H,STA2_PRE_1 PORTW STA2_PRE_1,LED_ADDR DELAY #30flash1 NOP ;南北绿灯闪3次、东西红灯 ST #0EE00H, STATUS2 PORTW STATUS2,LED_ADDR ;南北黄灯、东西红灯 DELAY #30 ;延时3秒 S

21、T #9900H,STATUS3 PORTW STATUS3,LED_ADDR ;南北红灯、东西绿灯 DELAY #200 ;延时20秒 STM #2h,BRC RPTB flash2 ST #09900H, STA4_PRE_0 PORTW STA4_PRE_0,LED_ADDR DELAY #30 ST #08800H,STA4_PRE_1 PORTW STA4_PRE_1,LED_ADDR DELAY #30 ;南北红灯、东西绿灯闪3次flash2 NOP ST #0BB00H,STATUS4 PORTW STATUS4,LED_ADDR ;南北红灯、东西黄灯 DELAY #30 ;延时

22、3秒 B circle .end六、实验思考如果在程序运行过程中遇到硬件中断,如何保护保持原有的现场?答:将程序计数器PC值(返回地址)保存到数据存储器的堆栈顶部。在中断响应时,程序计数器扩展寄存器(XPC)不会压入堆栈的顶部,也就是说,它不会保存在堆栈中。因此,如果ISR位于和中断向量表不同的页面,用户必须在分支转移到ISR之前将XPC压入堆栈,远程返回指令FRET(E)可以用于从ISR返回。实验四、同步串口一、实验目的了解同步串口工作原理;了解AD50工作原理。二、实验设备计算机,DSP硬件仿真器,DSP实验开发平台,耳机,麦克风。注意:在做实验以前,需要接通该实验的硬件电路,本实验为:先

23、将实验箱右侧的船型开关往“I”方向打开电源,然后将系统主板的开关S33往下拨接通+/-5V电源,然后将CPLD/FPGA模块上的电源开关S9往下(ON)拨。 三、实验要求通过DSP的同步串口能向AD50发送控制字和数据,接收AD50发送的数据。四、实验原理及说明同步串口实验,主要是通过5402的同步串口访问A/D芯片,使学生了解同步串口工作原理。该实验所需的硬件主要是DSP、DRAM、TMS320AD50、TLC2272,在实验过程中如果TLC320AD50C工作不正常,请按复位键(MON键或RST)对实验仪器硬件复位。编写DSP同步串口程序访问AD50,将麦克风的语音信号经过TLC2272(

24、双路低噪声)滤波,通过AD50的A/D转换后,将模拟信号转换为数字信号,再将数字信号发送到AD50的D/A端口。将麦克风(红色)插入语音输入插座,耳机(黑色)插入语音输出插座。运行程序。要在耳机里听到麦克风所输入的声音。五、实验程序框图中断服务程序实验程序: .title ex4BSP .set 0 ;当前使用McBsp1;McBsp 内存映射寄存器SPSA0 .set 038hSPSD0 .set 039hDRR10 .set 021hDRR20 .set 020hDXR10 .set 023hDXR20 .set 022hSPSA1 .set 048hSPSD1 .set 049hDRR1

25、1 .set 041hDRR21 .set 040hDXR11 .set 043hDXR21 .set 042h;McBsp Subaddressed RegistersSPCR1 .set 00hSPCR2 .set 01hRCR1 .set 02hRCR2 .set 03hXCR1 .set 04hXCR2 .set 05hSRGR1 .set 06hSRGR2 .set 07hMCR1 .set 08hMCR2 .set 09hRCERA .set 0ahRCERB .set 0bhXCERA .set 0chXCERB .set 0dhPCR .set 0eh .if BSP = 0S

26、PSA .set SPSA0SPSD .set SPSD0RDRR .set DRR10RDXR .set DXR10 .endif .if BSP = 1SPSA .set SPSA1SPSD .set SPSD1RDRR .set DRR11RDXR .set DXR11 .endif WR_SUB_REG .macro val,addr ;写McBsp控制寄存器 stm addr,SPSA nop stm val,SPSD nop .endm RD_SUB_REG .macro addr,acc ;读McBsp控制寄存器 stm #:addr:,SPSA nop ldm SPSD,acc

27、 nop nop nop .endmWAITTRX .macro ;等待串口中断WAITR? RD_SUB_REG SPCR1,A and #11, A bc WAITR?, AEQ .endmPROGREG .macro progword ;与AD50二次通讯 stm #01h,RDXR WAITTRX stm #:progword:,RDXR WAITTRX .endm wait .macro STM #0008h, AR0 RPT *AR0 NOP .endm .mmregs .global _c_int00 .sect .vectorsRESET bd _c_int00 stm #20

28、00h,SP .space 19*4*16BRINT0 b recv nop nopBXINT0 b trans nop nop .space 10*4*16;BRINT1 b recv; nop; nop;BXINT1 b trans; nop; nop; .space 4*4*16 .text_c_int00 ld #0h,DP stm #2000h,SP ssbx INTM ssbx SXM st #2491h,SWWSR st #0ffe0h,PMST st #0f007h,CLKMD stm #4000h,AR1 stm #4000h,ar2 mcbsp_init ;初始化McBsp串口 rsbx CPL nop ; cpl latency nop ; cpl latency nop ; cpl latency ld #0, DP ssbx INTM ssbx SXM WR_SUB_REG

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

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