dsp实验报告Word格式文档下载.docx

上传人:b****2 文档编号:3660527 上传时间:2023-05-02 格式:DOCX 页数:43 大小:151.49KB
下载 相关 举报
dsp实验报告Word格式文档下载.docx_第1页
第1页 / 共43页
dsp实验报告Word格式文档下载.docx_第2页
第2页 / 共43页
dsp实验报告Word格式文档下载.docx_第3页
第3页 / 共43页
dsp实验报告Word格式文档下载.docx_第4页
第4页 / 共43页
dsp实验报告Word格式文档下载.docx_第5页
第5页 / 共43页
dsp实验报告Word格式文档下载.docx_第6页
第6页 / 共43页
dsp实验报告Word格式文档下载.docx_第7页
第7页 / 共43页
dsp实验报告Word格式文档下载.docx_第8页
第8页 / 共43页
dsp实验报告Word格式文档下载.docx_第9页
第9页 / 共43页
dsp实验报告Word格式文档下载.docx_第10页
第10页 / 共43页
dsp实验报告Word格式文档下载.docx_第11页
第11页 / 共43页
dsp实验报告Word格式文档下载.docx_第12页
第12页 / 共43页
dsp实验报告Word格式文档下载.docx_第13页
第13页 / 共43页
dsp实验报告Word格式文档下载.docx_第14页
第14页 / 共43页
dsp实验报告Word格式文档下载.docx_第15页
第15页 / 共43页
dsp实验报告Word格式文档下载.docx_第16页
第16页 / 共43页
dsp实验报告Word格式文档下载.docx_第17页
第17页 / 共43页
dsp实验报告Word格式文档下载.docx_第18页
第18页 / 共43页
dsp实验报告Word格式文档下载.docx_第19页
第19页 / 共43页
dsp实验报告Word格式文档下载.docx_第20页
第20页 / 共43页
亲,该文档总共43页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

dsp实验报告Word格式文档下载.docx

《dsp实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《dsp实验报告Word格式文档下载.docx(43页珍藏版)》请在冰点文库上搜索。

dsp实验报告Word格式文档下载.docx

DATA.set60h;

doubleramdata

.sect"

.vectors"

reset:

B_c_int00

NOP

.space31*4*16

DELAY.macrosec_tenth;

延时sec_tenth/10秒

STMsec_tenth-1,AR5

loop1?

STM#09h,AR6

loop0?

STM#19999,AR7

BANZ$,*AR7-

BANZloop0?

*AR6-

BANZloop1?

*AR5-

.endm

.text

_c_int00:

LD#0h,DP

STM#3000h,SP

RSBXINTM

STM#07FFFh,SWWSR

SSBXXF;

XF=1

ST#1007h,CLKMD;

工作在20MHz

RPT#0FFh

NOP

STM#0ffffh,IFR

ORM#000h,IMR

RSBXSXM

ST#8100H,DATA

WRDENG:

PORTWDATA,FG_ADDR

DELAY#10

NOP

ST#4200H,DATA

ST#2400H,DATA

ST#1800H,DATA

RPT#10

ST#4200H,DATA

ST#8100H,DATA

STM#00H,DATA

;

;

ST#100H,DATA

ST#200H,DATA

ST#400H,DATA

ST#800H,DATA

ST#1000H,DATA

ST#2000H,DATA

ST#4000H,DATA

STM#8000H,DATA

ST#8000H,DATA

STM#100H,DATA

ST#8100H,DATA

BWRDENG

aaanop

baaa

.end

思考题:

有哪三种以上的寻址方式可以完成上述实验?

并描述其原理。

答:

共有以下四种寻址方式可以完成上述实验:

①绝对寻址

绝对寻址利用16位地址寻址存储单元,其特点是指令中包含一个固定地址。

16位地址可以用其地址标号或程序中定义的符号常数来表示。

由于绝对地址代码的位数为16位,所以绝对地址寻址的指令至少为2个字长

②累加器寻址

累加器寻址是将累加器的内容作为地址去访问程序存储单元,即将尅假期中的数作为地址,用来对存放数据的程序存储器寻址。

③直接寻址

直接寻址是利用数据指针和堆栈指针寻址,其特点是数据存储器地址由基地址和偏移地址共同构成,共16位。

基地址位于数据存储器地址的高9位,偏移地址位于数据存储器地址的低7位。

④间接寻址

间接寻址是利用辅助寄存器内容作为地址指针访问存储器。

TMS320C54x有8个16位辅助寄存器(AR0~AR7)。

每一个寄存器都可以用来寻址64千字数据存储空间中任何一个单元。

两个辅助存储器算术运算单元(ARAU0和ARAU1)可以根据辅助寄存器的内容进行操作,完成16位无符号数算术运算。

实验二数码显示实验

一、实验目的

熟练掌握DSP的各种指令;

进一步熟悉DSP的I/O访问方式的操作,通过I/O方式将数据显示到数码管上。

二、实验设备

计算机,DSP硬件仿真器,DSP实验开发平台。

注意:

将系统主板中“MCU/DSP选择档”选中MCU(往下拨),将“功能键6”拨上去,点击键盘中的MON键,MCU将对所用的LED管进行检测。

如果所有的LED管正常,将“MCU/DSP选择档”选中DSP(往上拨),将功能键1到7都拨下来,然后开始做实验。

注意在做实验时开始按了RST硬件复位后,实验不要再按RST键,以免由于DSP复位而失败。

三、实验原理

此实验是由DSP通过IO方式对数码管进行操作,即是向数码管送数据,高4位为数码管的段码,低4位为数码管的位码,DSP用的数据线是D8~D15,如要在第0位显示一个8,就只要送入80H,其次,该实验中要求熟练运用DSP的各种指令,能使显示数据出现左移或右移等。

四、实验程序框图

实验程序:

SM_ADDR.set1003h;

数码管的I/O地址

SM_DATA.set60h;

段码在数据线的高4位,位码在数据线的次高4位.

在CPLD模块中程序为DEMO程序的情况下,段码显示已译码,比如:

要显示7,

只要往数据线的高4位发7即可.位码为0-7,在次高位数据线对应的数值也为0-7.

LD#0h,DP;

设置数据页指针

STM#2000h,SP;

设置堆栈指针

SSBXXF

CALLLED07;

显示0到7

CALLLED8F;

显示8到F

LED8FST#8000h,SM_DATA

ST#07H,AR3

PORTWSM_DATA,SM_ADDR;

8-f

RPT#10000

ST#02fffH,AR6

calldelay

ADDM#1100H,SM_DATA;

送位码,屏蔽低8位数据

BANZWRDENG,*AR3-

RET

LED07NOP

STM#0H,SM_DATA

WRDENG1NOP;

0-7

PORTWSM_DATA,SM_ADDR

BANZWRDENG1,*AR3-

delaySTM#0f0h,AR7;

延时子程序

BANZdelay,*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空间复位值为111b。

实验三、交通灯实验

了解数据输出程序的设计方法;

模拟交通灯控制,能正确的模拟交通灯。

运用定时中断

二、实验设备

计算机,DSP硬件仿真器,DSP实验开发平台。

先将实验箱右侧的船型开关往“I”方向打开电源,然后将系统主板的开关S33往下拨接通+/-5V电源,然后将CPLD/FPGA模块上的电源开关S9往下(ON)拨,开关S10往下拨来选通主板上双色发光二极管(交通灯)等输出指示设备;

将系统主板中“MCU/DSP选择档”选中MCU(往下拨),将“功能键7”拨上去,点击键盘中的RST键,MCU将对所用发光二极管进行检测,如果所有的双色发光二极管正常,则将“MCU/DSP选择挡”选中DSP(往上拨),将功能键1到7都拨下来。

然后开始做实验,注意在做实验时,开始按了RST硬件复位后,实验中不要再按RST键,以免由于DSP复位而失败。

三、实验原理及说明

掌握DSP的定时器、I/O访问原理,用I/O口控制红绿黄灯的开关。

ex8"

LED_ADDR.set1001h

STATUS0.set60h

STATUS1.set61h

STATUS2.set62h

STATUS3.set63h

STATUS4.set64h

STA2_PRE_0.set65h

STA2_PRE_1.set66h

STA4_PRE_0.set67h

STA4_PRE_1.set68h

.sect"

B_c_int00

.space4*127

.text

_c_int00

SSBXINTM

SSBXSXM

STM#07FFFh,SWWSR;

IO总线外部等待时间14个周期

STM#0h,CLKMD;

20MHz工作

tstBITFCLKMD,#1h

BCtst,TC

STM#1007h,CLKMD

ST#0FFFFh,IFR

ST#0AA00H,STATUS0

LOOPBPORTWSTATUS0,LED_ADDR;

全部红灯

DELAY#100;

延时1秒

circleST#6600H,STATUS1

PORTWSTATUS1,LED_ADDR;

南北红灯、东西绿灯

DELAY#200;

延时20秒

STM#2h,BRC

RPTBflash1

ST#6600H,STA2_PRE_0

PORTWSTA2_PRE_0,LED_ADDR

DELAY#30

ST#2200H,STA2_PRE_1

PORTWSTA2_PRE_1,LED_ADDR

flash1NOP;

南北绿灯闪3次、东西红灯

ST#0EE00H,STATUS2

PORTWSTATUS2,LED_ADDR;

南北黄灯、东西红灯

DELAY#30;

延时3秒

ST#9900H,STATUS3

PORTWSTATUS3,LED_ADDR;

RPTBflash2

ST#09900H,STA4_PRE_0

PORTWSTA4_PRE_0,LED_ADDR

DELAY#30

ST#08800H,STA4_PRE_1

PORTWSTA4_PRE_1,LED_ADDR

南北红灯、东西绿灯闪3次

flash2NOP

ST#0BB00H,STATUS4

PORTWSTATUS4,LED_ADDR;

南北红灯、东西黄灯

Bcircle

.end

六、实验思考

如果在程序运行过程中遇到硬件中断,如何保护保持原有的现场?

将程序计数器PC值(返回地址)保存到数据存储器的堆栈顶部。

在中断响应时,程序计数器扩展寄存器(XPC)不会压入堆栈的顶部,也就是说,它不会保存在堆栈中。

因此,如果ISR位于和中断向量表不同的页面,用户必须在分支转移到ISR之前将XPC压入堆栈,远程返回指令FRET(E)可以用于从ISR返回。

实验四、同步串口

了解同步串口工作原理;

了解AD50工作原理。

计算机,DSP硬件仿真器,DSP实验开发平台,耳机,麦克风。

先将实验箱右侧的船型开关往“I”方向打开电源,然后将系统主板的开关S33往下拨接通+/-5V电源,然后将CPLD/FPGA模块上的电源开关S9往下(ON)拨。

三、实验要求

通过DSP的同步串口能向AD50发送控制字和数据,接收AD50发送的数据。

四、实验原理及说明

同步串口实验,主要是通过5402的同步串口访问A/D芯片,使学生了解同步串口工作原理。

该实验所需的硬件主要是DSP、DRAM、TMS320AD50、TLC2272,在实验过程中如果TLC320AD50C工作不正常,请按复位键(MON键或RST)对实验仪器硬件复位。

编写DSP同步串口程序访问AD50,将麦克风的语音信号经过TLC2272(双路低噪声)滤波,通过AD50的A/D转换后,将模拟信号转换为数字信号,再将数字信号发送到AD50的D/A端口。

将麦克风(红色)插入语音输入插座,耳机(黑色)插入语音输出插座。

运行程序。

要在耳机里听到麦克风所输入的声音。

五、实验程序框图

中断服务程序

ex4"

BSP.set0;

当前使用McBsp1

McBsp内存映射寄存器

SPSA0.set038h

SPSD0.set039h

DRR10.set021h

DRR20.set020h

DXR10.set023h

DXR20.set022h

SPSA1.set048h

SPSD1.set049h

DRR11.set041h

DRR21.set040h

DXR11.set043h

DXR21.set042h

McBspSubaddressedRegisters

SPCR1.set00h

SPCR2.set01h

RCR1.set02h

RCR2.set03h

XCR1.set04h

XCR2.set05h

SRGR1.set06h

SRGR2.set07h

MCR1.set08h

MCR2.set09h

RCERA.set0ah

RCERB.set0bh

XCERA.set0ch

XCERB.set0dh

PCR.set0eh

.ifBSP=0

SPSA.setSPSA0

SPSD.setSPSD0

RDRR.setDRR10

RDXR.setDXR10

.endif

.ifBSP=1

SPSA.setSPSA1

SPSD.setSPSD1

RDRR.setDRR11

RDXR.setDXR11

WR_SUB_REG.macroval,addr;

写McBsp控制寄存器

stmaddr,SPSA

nop

stmval,SPSD

.endm

RD_SUB_REG.macroaddr,acc;

读McBsp控制寄存器

stm#:

addr:

SPSA

ldmSPSD,acc

WAITTRX.macro;

等待串口中断

WAITR?

RD_SUB_REGSPCR1,A

and#1<

<

1,A

bcWAITR?

AEQ

.endm

PROGREG.macroprogword;

与AD50二次通讯

stm#01h,RDXR

WAITTRX

stm#:

progword:

RDXR

.endm

wait.macro

STM#0008h,AR0

RPT*AR0

.endm

RESETbd_c_int00

stm#2000h,SP

.space19*4*16

BRINT0brecv

nop

BXINT0btrans

.space10*4*16

BRINT1brecv

nop

BXINT1btrans

.space4*4*16

ld#0h,DP

ssbxINTM

ssbxSXM

st#2491h,SWWSR

st#0ffe0h,PMST

st#0f007h,CLKMD

stm#4000h,AR1

stm#4000h,ar2

mcbsp_init;

初始化McBsp串口

rsbxCPL

nop;

cpllatency

nop;

ld#0,DP

ssbxINTM

ssbxSXM

WR_SUB_REG

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2