DSP实验报告 10.docx

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

DSP实验报告 10.docx

《DSP实验报告 10.docx》由会员分享,可在线阅读,更多相关《DSP实验报告 10.docx(82页珍藏版)》请在冰点文库上搜索。

DSP实验报告 10.docx

DSP实验报告10

实验注意事项:

1、实验箱电源的开关顺序。

开电源的时候,插上总电源,再打开5v的LED电源,最后才是芯片的3.3v电源。

关电源是要先关芯片电源,5v电源次之。

最后才关闭总电源。

2、应尽量不触摸实验箱。

否则有可能使某管脚之间短路。

特别是DSP芯片。

3、不玩耍感测技术的实验仪器。

4、实验完成之后,收拾好台面,把各实验器件放好,盖上实验箱。

5、请做好课前预习。

包括实验目的,实验原理和实验过程等。

理解程序流程,某些程序须在原有的基础上修改,使程序更完善。

 

实验教程

(第一部分)

实验一基础实验

一、实验目的

1.熟悉CCS开发环境;

2.了解DSP54XEVM板的硬件环境;

二、实验内容

1.打开或新建工程文件(.pjt);

2.查看了解工程的文件(.c,.cmd,.asm,.h,.lib等文件格式);

3.编译工程文件;(BUILD),汇编联接后生成DSP的可执行文件(.out);

4.使用FILE菜单中的LOADPROGRAM命令调入可执行文件(.out)

5.程序运行(RUN)或单步运行程序;

6.打开view菜单中的CPURegisters观察DSP54XEVM板存储器值和DSP寄存器值;

7.打开view菜单中的memory,设定要观察的单元地址,观察DSP54X的内存值。

8.打开view菜单中的watchwindows窗口,观察变量值的变化

9.打开debug菜单中的breakpoints在程序中建立断点,观察程序运行到断点是变量值、存储器的变化;

10.在程序的空函数处设置探针,程序运行到探针这个地方,会从计算机上读取正弦波的数据。

经过处理之后,在view菜单中的graph中观看波形。

三、实验要求

打开运行一个小程序,熟悉CCS工程的文件结构,熟悉CCS各个功能的使用,并掌握DSP54X的工程建立、编译方法。

自己编写一个小程序,进一步熟悉DSP的CCS开发平台。

四、实验环境

计算机、DSP仿真器,DSP54XEVM板,CCS软件,EVM54X库文件

五、实验步骤

1.将DSP仿真器与计算机USB口连接好;

2.将DSP仿真器JTAG头插入DSP5416EVM板JTAG上;

注意:

千万不要带电插拨。

3.打开计算机电源,当计算机启动完毕后,打开电源仿真器和DSP54XEVM板电源,板上3.3V、1.8V电源指示灯均亮,若不亮,请立即关闭EVM板电源,检查连线和电源电压;(注意电源的开关顺序)。

4.双击桌面上CCS图标,进入CCS操作环境;

 

5.新建工程文件(.pjt)

按鼠标确定

 

工程文件名及路径(文件名和路径可任意命名,但必须是唯一的)

按鼠标确定

 

已新建一个名为a.pjt的工程文件,路径为E:

\a\

 

添加源文件到工程中(源文件可为*.c,*.cmd,*.s,……)

按鼠标确定

 

添加c文件到工程中

按鼠标确定

添加源文件完毕

添加其他源文件到工程中,可重复上述步骤。

若想从工程中移出一个源文件,

按鼠标右键确定

 

若想了解一个源文件的属性,

按鼠标右键确定

 

6.新建源文件

按鼠标确定

 

已创建一个未命名的源文件

 

编写源程序并保存

按鼠标确定

 

保存源程序名为a.c,路径为E:

\a\

按鼠标确定

创建其他源程序(*.s,*.cmd……),可重复上述步骤,

 

7.编译(Build)文件,产生一个名为a.out的可执行文件

在Build程序前的option设置

按鼠标确定

 

选中“LoadProgramAfterBu”,编译后,执行文件自动装载到EVM板上的程序区。

 

按鼠标确定

 

8.装载(load)可执行文件(*.out)

按鼠标确定

 

9.观察CPU寄存器

CPU各寄存器的值

外围各寄存器的值

CPU各寄存器的值

 

10.调试(debug)

按鼠标确定复位CPU

按鼠标确定跳转到主程序

 

按F5运行,F8单步运行且进入子程序中,F9设置断点,F10单步运行,

按F9设置断点,按F5运行到该行

按F10单步运行到下一行

更多的内容详见帮助文件。

(用鼠标双击“Help”)

六、问题与思考:

1、自己写一个程序,在stdout窗口输出“Hello World”,应该注意什么问题?

2、写一个工程,实现产生一个方波的程序,并在图形观察窗口观察这个图形。

(你可以实现把这个方波的数据存储到fanbo.dat的文件中吗?

3、总结CCS的工程文件和C/C++工程文件结构的不同。

实验二汇编寻址方式

一、实验目的

1.了解DSP结构;

2.熟悉CCS开发环境;

3.熟悉DSP54XEVM板的硬件环境;

4.掌握DSP54X汇编寻址方式;

5.熟悉汇编语言的逻辑和算术运算。

二、实验内容

1.DSP54X汇编初始化程序;

2.DSP54X各种汇编寻址方式的源程序;

3.DSP54X汇编语言的逻辑和算术运算源程序。

三、实验要求

运行程序,通过CCSViewCPURegisters,观察各寄存器的值,

通过CCSViewMemory,观察片内各数据地址的值,

上述各值应与源程序的结果一致。

四、实验环境

计算机、DSP仿真器,DSP54XEVM板,CCS软件,

五、实验步骤

1.参看实验指导书实验一的实验步骤加载、编译并运行程序。

2.观察CPU的寄存器以及存储空间的值的变化。

 

六、实验框图

主程序1初始化程序

延时

DSP初始化

 

设置DP指针

立即寻址

设置SP指针

绝对地址寻址

关闭中断

累加器寻址

设置SWWSR

直接寻址(DP指针)

设置CLKMD

直接寻址(SP指针)

结束

间接寻址

寄存器寻址

堆栈寻址

双操作数寻址

程序存储器到数据存储器的复制

(数据块移动)

 

结束

 

主程序2初始化程序

延时

DSP初始化

 

设置DP指针

加法运算

设置SP指针

减法运算

 

关闭中断

乘法运算

 

除法运算

 

设置SWWSR

平方运算

 

设置CLKMD

结束

逻辑与运算

 

逻辑或运算

 

逻辑异或运算

双操作数寻址

结束

 

七、实验结果

程序1

1.立即数寻址

执行前执行后

A=xxxxA=0x1234

(0x2105)=xxxx(0x2105)=0x5678

2.累加器寻址

执行前执行后

A=xxxxA=0x1f01

(DP)=0x40(DP)=0x40

(0x1f01)=0x5679(0x1f01)=0x5678

(0x2002)=xxxx(0x2002)=0x5678

3.直接寻址(DP指针)

执行前执行后

CPL=0CPL=0

DP=0x40DP=0x40

(0x2003)=xxxx(0x2003)=0x3210

4.直接寻址(SP指针)

执行前执行后

CPL=0CPL=1

SP=0x47feSP=0x47fe

(0x4801)=xxxx(0x4801)=0x9876

5.间接寻址

执行前执行后

AR0=xxxxAR0=0x3107

(0x3107)=xxxx(0x3107)=0x9876

6.绝对寻址(数据区)

执行前执行后

DP=0x40DP=0x40

(0x2000)=0x8000(0x2000)=0x8000

(0x2104)=0x7711(0x2000)=0x8000

(0x2105)=0x5678(0x2000)=0x5678

(0x2001)=0x7603(0x2000)=0x5678

7.绝对寻址(程序区)

执行前执行后

DP=0x40DP=0x40

(0x2000)=0x8000(0x2000)=0x8000

(0x1f00)=0x000e(0x2000)=0x8000

(0x2001)=0x5678(0x2000)=0x5678

(0x1f01)=0x7711(0x2000)=0x5678

8.堆栈寻址

执行前执行后

SP=0x47feSP=0x47fd

(0x47fd)=0x061b(0x47fd)=0x8888

9.程序区到数据区数据复制

执行前执行后

AR0=0x2107AR0=0x4000

(0x1000)=0xxxx(0x4000)=(0x1000)

(0x1001)=0xxxx(0x4001)=(0x1001)

(0x10fe)=0xxxx(0x40fe)=(0x10fe)

(0x10ff)=0xxxx(0x40ff)=(0x10ff)

10.双操作数寻址

执行前执行后

A=0x0001A=0x0c4c10c0

AR2=0x2106AR2=0x2107

AR3=0x3107AR3=0x3108

T=0x8888T=0x1234

FRCT=1FRCT=0

(0x2106)=0x1234(0x2106)=(0x1234)

(0x3107)=0x5678(0x3107)=(0x5678)

程序2

1.加法操作:

执行前执行后

DP=0x40DP=0x40

A=0x43A=0x98

(0x2000)=0x55(0x2000)=0x55

(0x2001)=0xxxx(0x2001)=0x98

2减法操作:

执行前执行后

DP=0x40DP=0x40

A=0xa2A=0x6a

(0x2002)=0x38(0x2002)=0x38

(0x2003)=0xxxx(0x2003)=0x6a

 

3.乘法操作:

执行前执行后

DP=0x40DP=0x40

A=0x6aA=0x1b5aa

T=0x421T=0x421

(0x2003)=0x6a(0x2003)=0x6a

(0x2004)=0xxxx(0x2004)=0xb5aa

(0x2005)=0xxxx(0x2005)=0x1

4.除法操作:

执行前执行后

DP=0x40DP=0x40

A=0x1000A=0x4007c

(0x2006)=0x1000(0x2006)=0x1000

(0x2007)=0x21(0x2007)=0x21

(0x2008)=0xxxx(0x2008)=0x007c(商)

(0x2009)=0xxxx(0x2009)=0x4(余)

5.平方操作:

执行前执行后

DP=0x40DP=0x40

A=0xxxxA=0x19a10

(0x200a)=0x144(0x200a)=0x144

(0x200b)=0xxxx(0x200b)=0x9a10

(0x200c)=0xxxx(0x200c)=0x0001

3.逻辑与操作:

执行前执行后

A=0xffffA=0x00ff

4.逻辑或操作:

执行前执行后

A=0xff00A=0xffff

5.逻辑异或操作:

执行前执行后

A=0xff00A=0xffff

八.思考题

1.哪种寻址模式最简单?

为什么?

哪种寻址模式最难?

为什么?

2.请编写一个程序实现算式运算(1248+56)×8÷4=?

,尽量使用不同的寻址方式实现。

 

实验三快速傅立叶变换(FFT)

一、实验目的

1.加深对DFT算法原理和基本性质的理解;

2.熟悉FFT的算法原理和FFT子程序的应用;

3.学习用FFT对连续信号和时域信号进行频谱分析的方法;

4.了解DSP针对FFT算法的特殊寻址方式。

二、实验内容

1、初始化DSP

2、编写位码倒置程序

3、编写蝶形运算程序

4、编写功率谱计算程序

5、FFT调用程序

三、实验要求

对输入数据进行FFT变换,并计算功率谱计算,并将功率谱结果用CCS的View->Graph显示。

四、实验环境

计算机、DSP5416EVM板,CCS1.2版软件,EVM54库文件

五、实验原理

●FFT快速算法的特点

●FFT的时间抽取法和蝶形运算的原理

●DSP位码倒置的实现

六、实验步骤

1、参看实验指导书实验一的实验步骤。

2、通过CCS的View—〉Graph—〉Time/Frequency察看输出功率谱。

 

七、实验框图

DSP初始化

FFT数据输入

位码倒置程序

第一级蝶形运算

第二级蝶形运算

第三级至log2N级蝶形运算

求功率谱运算

用CCS仿真察看波形

 

FFT输入波形fft_data参数设置

 

FFT输入波形fft_data

 

FFT输出波形fft_out参数设置

 

FFT输出fft_out波形

八.思考题

1.

用CCS仿真察看波形

自己编写程序,实现两个向量的卷积。

,在图形显示窗口显示结果。

实验四I/O寻址及硬件中断实验

一、实验目的

1.熟悉CCS开发环境;

2.熟悉DSP54XEVM板的硬件环境;

3.了解DSP54X中断原理及中断向量表建立;

4.了解LED显示原理;

5.掌握DSP54XI/O寻址方式。

二、实验内容

1.DSP初始化;

2.中断寄存器初始化;(EINT1)

3.中断向量表;(详见附录B)

4.外部中断1服务程序;

5.信号灯控制程序。

三、实验要求

通过I/O总线输出信号灯控制信号,由外部中断模拟急救车到达。

正常情况下,东西、南北方向信号灯红绿黄交替变换,当有急救车到达时(由按键产生外部中断),东西、南北方向信号灯全变红,以便急救车通过,急救车通过后(查询按键状态),东西、南北方向信号灯又恢复为急救车到达前的状态。

资源

中断源:

EINT1

I/O总线地址:

0X5FFF(详见库函数说明)

交通灯逻辑关系:

东西方向红、南北方向绿

东西方向红、南北方向绿闪烁

东西方向红、南北方向黄

东西方向红、南北方向红

南北方向红、东西方向绿

南北方向红、东西方向绿闪烁

南北方向红、东西方向黄

四、实验环境

计算机、DSP仿真器,DSP54XEVM板,CCS软件,EVM54库文件

五、实验步骤

参看实验指导书实验一的实验步骤。

 

六、实验框图

初始化

主程序

DSP初始化

调初始化程序

外部中断1使能

GPIO.0设置为输入

东西红、南北绿,并延时n秒

东西红、南北绿灯闪烁m次

LCD初始化、清屏

设置LCD显示

东西红、南北黄

并延时p秒

交通灯显示使能

结束

东西红、南北红

并延时q秒

中断服务程序

东西绿、南北红

并延时n秒

关闭外部中断1

东西红、南北红

东西绿灯闪烁

m次、南北红

Y

GPIO.0=1?

东西黄、南北红

并延时p秒

N

GPIO.0=0?

东西红、南北红

并延时q秒

Y

N

注:

1.GPIO.0与EXINT1管脚相连,用于按键消抖,第一次

恢复中断前的状态

外部中断1使能

按键时,进入中断服务程序,再按键时,须查询GPIO.0

状态.可退出中断服务程序.

2.交通灯显示使能

结束

即向I/O地址0XEFFF写0XFFFF.

 

七.思考题

1.什么是中断源?

2.如何登记中断?

3.未能响应中断,必须设置什么?

4.什么条件会影响中断响应时间?

实验五定时器及中断实验

一、实验目的

1.熟悉CCS开发环境;

2.熟悉DSP54XEVM板的硬件环境;

3.了解DSP54X定时器工作原理;

4.了解DSP54X中断原理及中断向量表建立;

5.了解数码LED显示原理(动态扫描);

6.掌握键盘扫描原理;

7.掌握DSP54XI/O寻址方式;

8.掌握长整型数的运算;

9.掌握中断优先级设置;

11.掌握全局变量、局部变量的概念。

二、实验内容

1.DSP初始化;

2.定时器0初始化;

3.中断寄存器初始化;

4.中断向量表;(详见附录B)

5.定时器中断服务程序(LED扫描驱动程序);

6.键盘扫描驱动程序;

7.外部中断1中断服务程序;

三、实验要求

 通过定时器启动中断,在中断服务程序中扫描数码LED显示,由扫描键盘得到不同的键值,根据不同的键值完成正计数、倒计数、停止、复位等功能。

外部中断可终止计数。

资源

驱动程序见附录。

键盘I/O地址(0X3FFF);(详见库函数说明)

数码LED的I/O地址:

段地址=0X1FFF,位地址=0X2FFF

A#键=0x01h(正计数),

B#键=0x02h(倒计数),

C#键=0x03h(复位)。

LED显示段码:

0=00H,1=01H,2=02H,3=03H,4=04H,5=05H,6=06H,7=07H,

8=08H,9=09H,A=0AH,B=0BH,C=0CH,D=0DH,E=0EH,F=0FH

空=1FH(详见附录库文件说明)。

注意:

做该实验时,须闭合开关K2,给LED供电。

四、实验环境

计算机、DSP仿真器,DSP54XEVM板,CCS软件,EVM54库文件,

五、实验步骤

  把程序编译加载到仿真器中(过程见实验1)。

1.对照实验的原理图,了解硬件结构,了解程序的原理和流程。

2.运行程序,观察程序执行的结果(按A正计数,按B倒计数)。

3.自己修改、添加程序,实现按某键时计数停止,按C#键时清除(具体见后面的问题与思考)。

六、实验框图

键盘原理图

C5C4C3C2C1

K1k2k3k4k5

CPLD2

DSP

5416

R4

总线R3

R2

R1

K16k17k18k19k20

 

该原理图表示4X5的矩阵键盘,共20个键,各键值的读取方法为:

1.设置第一行为低(R1=0),其它行为高(R2=R3=R4=1),选通一行;

2.读5位列数据,并暂存;

3.延时消抖(100ms);

4.再读5位列数据,并同上次的数据比较,若相同,则为有效键;

5.若5位数据全1,则无键按下;

6.根据行、列关系,确定键值,

7.重复上述过程,可读出所有键值。

DSP由I/O总线寻址方式向CPLD2读写数据,

键盘I/O地址=0X3FFF,

向(0X3FFF)写数据可选通行;

(0X3FFF)=0XFE,选通第一行(R1);

(0X3FFF)=0XFD,选通第二行(R2);

(0X3FFF)=0XFB,选通第三行(R3);

(0X3FFF)=0XF7,选通第四行(R4);

读(0X3FFF)为列数据;

(0X3FFF)=0XFE,第一列(C1);

(0X3FFF)=0XFD,第二列(C2);

(0X3FFF)=0XFB,第三列(C3);

(0X3FFF)=0XF7,第四列(C4);

(0X3FFF)=0XEF,第五列(C5)

数码LED显示原理

该原理图表示6位8段数码LED显示原理,为动态扫描显示,扫描频率大于50HZ,在每一时刻,只有1位数码被选通,位地址=0X2FFF,段地址=0X1FFF

位数据=0X20H,0X10H,0X08H,0X04H,0X02H,0X01H,

段数据=0X00H—0X1FH(详见库函数说明)。

 

初始化

主程序

DSP初始化

调初始化程序

定时器0初始化

定时器0,

外部中断1使能

读键值并延时(100ms)消抖

是空键

Y

LCD初始化、设置LCD显示

N

数码LED显示使能

由不同的键值调

不同的子程序

结束

 

EXIT1中断程序

T0中断程序

清标志寄存器

调LED显示库函数

设置LCD显示

位码计数器+1

结束

N

计数值=6?

Y

位码计数器=0

 

结束

 

正计数子程序

调延时程序

长型计数器+1

N

N

标志寄存器=0?

计数值=1000000?

Y

Y

结束

长型计数器=0

长型数转换为BCD送显示缓存器

 

七、问题和思考:

1、所提供的程序并不能在计数时实现暂停或清除。

在正计数和倒计数的子程序中加入键盘扫描程序,修改主程序,使其实现在正计数、倒计数时可以自由地暂停和清除。

2、小挑战:

你可以实现按某个健时正计数,再按这个键时倒计数,如此反复的程序吗?

3、想一想还有什么有趣的实验,看自己能不能实现。

 

实验六A/D-D/A实验

一、实验目的

1.熟悉CCS开发环境;

2.熟悉DSP54XEVM板的硬件环境;

3.了解A/D芯片TLV2544原理;(详见附录)

4.了解D/A芯片TLV5638原理;(详见附录)

5.了解DSPMcBSP串口原理;

6.掌握DSPMcBSP串口作I/O设置;

7.掌握DSP54XI/O寻址方式;

8.掌握长型浮点数概念。

二、实验内容

1.DSP初始化;

2.LCD初始化;

3.LCD显示驱动;

4.A/D芯片TLV2544初始化;

5.D/A芯片TLV5638初始化;

6.DSPMcBSP串口2初始化为I/O模式;

7.按A/D、D/A芯片时序,用DSP构建SPI协议;

资源:

(详见库函数说明)

ADC--TLV2544ID和DAC--TLV5638CD共用McBSP2,一个外部中断3。

具体如下:

TLV2544(A/D)SDO-------BSP_DR2

SDI--------BSP_DX2

SCLK-----BSP_CLK2

CS---------BSP_FSR2

EOC--INT3

TLV5638(D/A)DIN--BSP_DX2

SCLK-BSP_CLK2

CS---BSP_FSR2

三、实验要求

设置串口2为I/O模式,用DSP构建SPI协议:

1.输入直流信号,启动A/D采样,将采样数据显示在LCD上,比较采样数据与计算值应一致;(在EVM板上有3个按键,可分别产生0.8V,1.2V,1.6V直流电压),并修改原来程序,使扩展到可以在C

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

当前位置:首页 > 初中教育 > 语文

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

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