东南大学DSP第一次实验报告Word文档下载推荐.docx

上传人:b****3 文档编号:17756012 上传时间:2022-12-09 格式:DOCX 页数:22 大小:640.08KB
下载 相关 举报
东南大学DSP第一次实验报告Word文档下载推荐.docx_第1页
第1页 / 共22页
东南大学DSP第一次实验报告Word文档下载推荐.docx_第2页
第2页 / 共22页
东南大学DSP第一次实验报告Word文档下载推荐.docx_第3页
第3页 / 共22页
东南大学DSP第一次实验报告Word文档下载推荐.docx_第4页
第4页 / 共22页
东南大学DSP第一次实验报告Word文档下载推荐.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

东南大学DSP第一次实验报告Word文档下载推荐.docx

《东南大学DSP第一次实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《东南大学DSP第一次实验报告Word文档下载推荐.docx(22页珍藏版)》请在冰豆网上搜索。

东南大学DSP第一次实验报告Word文档下载推荐.docx

软件集成开发坏境(CodeComposerSnidio33):

完成系统的软件开发,进行软件

和硬件仿真调试.它也是硬件调试的辅助于•段。

开发系统aCETEK5100USB):

实现硬件仿真调试时与破件系统的通信•控制和读取硬件系统的状态和数据。

评估模块(ICETEKF28335.A等):

提供软件运行和调试的平台和用户系统开发

的参照。

CodeCoiiq)oserStudio3.3主要完成系统的软件开发和调试。

它提供一整套的程序编制■

维护、编译.调试环境,能将汇编语言和C语肓程序编译连接生成COFF(公共0标文件)格

式的可执行文件,并能将程序下載到目标DSP上运行调试。

用户系统的软件部分可以由CCS建立的工程文件进行管理.工程一般包含以卜•儿种文

ft:

源程序文件:

C语言或汇編语肓文件eASM或*.C)

头文件CTH)

标准C语言程序

(2)标准C语言程序

CCS支持使用标准C诺言开发DSP应用程序.当使用标准C语言編制的程序时.其

源程序文件名的后缀应为.c(如:

FPU.C)。

CCS在编译标准C语言程序时,首先将其编译成相应汇编语言程序•再进一步编译成冃标0$卩的町执行代码。

最后生成的是coff(公共目标文件)格式的可下载到DSP中运行的文件,其文件名后缀为.oiit。

由于使用C语言编制程序•其中调用的标准C的库函数由专门的库提供,在编译连接时编译系统还负资构建C运行环境。

所以用户工程中需要注明使用C的支持库。

(3)命令文件的作用

命令文件(X件名后«

为《1】

(1)为链接程序提供程序和数据在貝体DSP锁件中的位S分配信息。

通过编制命令文件,我们町以将某些特定的数据或程序按照我们的意图放置在DSP所管理的内存中。

命令文件也为链接程序提供了DSP外扩存储器的描述•在程序中使用CMD

文件描述破H牛存储区,可以只说明使用部分,但只要是说明的,必须和锁件匹配,也就是只要说明的存储区必须是存在的和叮用的。

(4)内存映射(map)文件的作用

一般地,我们设计、开发的DSP程序在调试好后・要固化到系统的ROM中。

为了更精确地使用ROM空间,我们就需要知道程序的兴小和位置,通过建立目标程序的map文件可以了解

DSP代码的确切信息。

当需要更改程序和数据的小和位置时■就要适当修改cmd文件和

源程序,再重新生成map文件來观察结果。

另外,通过观察map文件,町以掌握DSP存储器的使用和利用情况,以便进行存储器方而的优化工作。

(5)浮点运算

TMS320F28335是一款32位浮点通用数字信号处理芯片,它具冇存储空间人、运算

精度高等特点•

4-实验步骤

1.实验准备

连接实脸箱,检查电源线、JTAG仿真线、USB线等是否连接好,然后打开电源。

2•i殳置CodeComposerStudio3.3

双击心动SetupCCStudiov33>

在AvailableFactoryBoards栏里选择F283xx的Emulator

开发板型号(),然后点击Save&

Quit.C动CCS。

3•启动CCS。

4・添加工程

点击菜单栏ProjectVOpen,打开工程文件Lab202-float5.编译源文件、下我町执行程序

⑴单击菜单Project"

、“RebuildAU”。

⑵执行File->

LoadProgram.在随后打开的对话框中选择刚刚建立的out文件•完成后•系

统自动打开一个反汇编窗H“Disassembly"

6•浮点运算实验

打把yl和y2添加到观察®

h运行程序.观察U和y2结果。

然后选择菜单栏的DEug中的Real-timeModeO再在WatchWindow中单击右键.选择ContinuousRefresho然后按F5・

或者Debug菜单•下的Rum运行程序・观察yl,y2的数值的变化。

实验结果如下:

(1)n接运行

初始时刻yl=y2=0・一段时间后,yl.y2的值均发生变化。

理论上来说,t>

0时,

y2的值陶始终保持不变Ily2=13.28,而yl每单位时间增加13.28。

Hwe1

Value

Typ«

1Radix1

QRB

0x00000000

po・・.

htx

0STP

po.,

x

QROH

po…

hex

QRIH

0R2H

P6.

0R3H

P6・

QMH

po・・

QRSH

QR6H

$R7H

0yl

8.268386e+07

float

Qy2

1328

Byl

8.268386tt07

float1

13.28

fLc«

t

・flOftt

n

r

1

图1tl时刻yl和y2的值

Name|

Value1Type|

Radix1

QR£

po.

eSTF

P6

pc

hftX

0RIH

QR3H

QR4HQRSH

QR7H

Oyl

WatchLoc&

$处Natch1

图2t2时刻yl和y2的值

从图1和图2町以看出,y2始终等于13.28不变•yl的值一直在堆加.与理论一致。

(2)单步运行

添加如下图所示断点

1&

Exup“2833・FPILc

匚忙「X

cil»

10;

ci2=.6;

xl=7;

22=7.3;

bl=■4.2;

b2•8.9;

―f

yl=Bl/xl+bl;

y2=+b2;

while

(1)

f

yl+-y2;

,,TWa57处刃"

2力V"

1

}

intreod_3ignnls(1nt*input)

1f

11

…在此取采黑栽擔徨号放繪入缓冲区丄冲"

,仃

r*tum(1J;

}

,八A57aww.

4

图3添加断点

初始时刻yl=y2=0・单步运行如卞:

V^ue

1丁yp*

Rftdix1

QXI

OxCOOCOOCO

hix

QST?

Orrnamora

hr

•JtCH

foigr

«

RIH

OXCOOCOOCO

poiRUr

QO

(oinUr

gOt

}oi€Ur

QX4][

OkCOOCOOCO

fOinttft

QHEM

peiMor

hftK

0MM

poiLler

Qm

pointer

Qzl

5628E71

flo&

l

Hoat

Q沱

0G

Hoftl

eri

5628571

£

lD<

Q虫

00

104.t

floAt

P3

金UJg卜Locob刪Hitch1

图4执行到第一个断点处yl和y2变化值

ITyp.IE.iix

QKB

OxOCOOOJOO

Lex

0STF

poinlet

QKOK

O^flXOOCOOO

OxOCOOCOOO

2H

Loz

QESK

(bdXOOCOOO

QMK

etsK

pointv

Uz

QK6rf

tex

OxOCQOCOOO

ktz

T1

5.628571

flctt

tt

]3.28

fl»

at

lc&

y2

】3・28

Heat

lxt

矗IHabhLocal;

&

Hatch1

图5

执行到第二个断点处yl和y2的变化值

Kam«

1Value

1Typ<

0JtE

0x30030030

QSTF

0x30000000

poinUr

Q3tCH

00030030

inl<

Ux

QXIK

OQOCDOCOO

QJt2H

0x30000030

$X3H

QS4H

9J£

H

QQfmxoo

0xeH

oxjomoojo

poinltr

QX7H

000000)0

Ltx

Qrl

J8907

Gott

y2

13,28

Goat

l”t

n1

Id.90357

fbd

r2

flxt

%kJSchLocas余Match1

图6执行到第三个断点处yl和y2的变化值

Ntire

1yg

1Xtdiz1

0O

DzOOOOQOOO

p・int・r

Mx

OSTF

OxOOOOGOOD

p•inter

K<

0KOH

OxOODOGOOD

p^intn

0HH

DxOODOGOOD

OxCDOOOaiO

p^xnln

Q13H

0,8000000

pfintn

h・x

0R4H

OxCOOOGOOO

ptinlir

0&

SH

O.COOOQ8D

Xoc

dI6H

OtCOOOCOOD

ORTH

OxCOOOOCDD

pwinter

Xtx

32.18857

lcat

□oat

W

13.2B

Ooftt

Qyl

32,18857

Vyz

n.zB

CIc&

tloat

rs

#WachUote&

Matck1|

图7再一次执行whileO

从实验结果町以看出,yl和y2的变化情况与理论结果一致。

7.文件输入能出

卜•面介绍如何从PC机上加载数据到DSP上。

用于利用已知的数据流测试算法。

在完成卞面的操作以前,先介绍CodeComposerStudio的Probe(探针)断点,这种断点允许用户在指定位置提取/注入数据・Probe断点可以设置在程序的任何位置•.当程序运行到Probe断点时.与Probe断点相关的爭件将会被触发,当事件结束后,程序会继续执行。

在这一节里Probe断点触发的爭件是:

从PC机存储的数据文件中的一段数据加载到DSP的缓冲区中。

注:

在CCS3.3以上版本中Probe断点被合并到防胡I断点中断几

在真实的系统中,read_signals函数用于读取A/D模块的数据并放到DSP缓冲区中。

这里•代替A/D模块完成这个工作的足Probe断点。

当执行到曲数read_signals时.Probe断点完成这个工作。

(1)将代码段中被注解掉的read_signals(input);

前的注释符号删除•ffi新编译卞载°

(2)在程序彳jread_signals(input);

上单击鼠标右键选择"

Togglesoftwarebreakpoint"

・设

豐软件断点。

(3)再在同一行上单击鼠标右键■选择“softwarebreakpoint”,“edit”来设g断点.此时

打开了一个新的窗II。

并修改相关内容。

I•忆IX

Tk*夕OitahrvKk^Pin*bvlan^

图8设置Pmbe断点并修改相关设置

此时,已经配置好了Pinbe断点和与之关联的爭件•进一步的结果在下面实验中显示。

8•图形功能简介

使用CCS的图形功能检验上一节的结果。

首先进行卜•面设置操作:

/F^»

y3frIPSblUKBQlaloF/CPU.l-T・Sy?

S8-CodoCotpn<

cStudio

<

/P2S335ZPS510fiBulatoi/CrnIIlS320C28siCod*CoapotfriStudit

*3-liCTfrufir.,.'

>

rwFiflB

BGraphPropertyDialog

IDispl^yType

SiTim

A

ICr^phTiUt

Input

N

1StartAddress

irLp_I>

uffer

|Page

Dm

1AcquisitionBufferSize

100

■IndexTncrement

■DisplayDataSize

DSrDdtftType

116"

bitsignedinteger

Q-value

fhplin(R<

t<

(Hz)

PlotDate.From

LefttoRisht

ft*shift«

dD&

tftDisplay

Y“

.=/

Autoscale

Oit

DCyjuG

AxesDispl$y

Oil

TimDisplayUnit

5

V

r…S2K…]Cancel1

Kelp1

图9设S图形功能

在弹出的图形窗11中单•击鼠标右键,选择"

ClearDisplay"

然后按Alt+F5运行程序•观察input甜H的内容。

图10inputis11的正弦波形

基于DSP系统的实验一一指示灯和拨码开关

一.实验目的

1.了解ICETEK-F28335-A评估板在TMS32OF28335DSP外部扩展存储空间上的扩展。

2•了解ICETEK-F28335-A评估板上指示灯和拨码开关扩展原理。

3.学习在C语言中便用扩展的控制寄存器的方法。

2-实验设备

计算机,ICETEK-F28335.A实验箱(或ICETEK仿真器+ICETEK-F28335-A评估板

+相关连线及电源)。

3.实验原理

1.TMS320F28335DSP的存储器扩展接I】

存储器扩展接「1是DSP扩展片外资源的主要接【1・它提供了一组控制信巧和地址、数据线.町以扩展各类存储器和存储器、寄存器映射的外设。

JCETEK-F28335.A评估板在扩展接门上除了扩展了片外SRAM夕卜,还扩展了指示灯、

DIP开关和D/A设备。

具体扩展地址如下:

0x180004-0x180005:

D/A转换控制寄存器

0x180001:

板上DIP开关控制寄存S

0x180000:

板上指示灯控制寄存器

■与ICETEK・F28335.A评估板连接的ICETEK-CTR显示控制模块也使用扩展空间控

制主要设备,相关寄存器地址如下表:

名称

地址

功能

属性

CTRGR

0x208000

企!

甘如¥

存養

CTRLCDCR

0x208002

液晶刃泯寄心益

CTRLCDCMDR

0x208001

液為命令寄心益

CTRLCDLCR

0x208003

液晶左、卜W拎:

制當心器

CTRLCDRCR

0x208004

泱品右半Jjf拧制住佟器

CTRLR

0x208007

轴肋拧总寄心器

CTRLA

0x208005

发比一枚管控剳住存器

CTRKEY

谜盈数丸冋汝奇心器

R

CTRCLKEY

汇:

除筑£

{奇存茶

2.指示灯与拨码开关扩展原理

4.实验步骤

1.打开工程文件

丁程文件为:

Lab301-Led

2.添加代码,编译、卜•載程序。

完成LED工程中led.c里的三个要求^即TASK1、TASK2.TASK3。

其中TASK3应注总:

DIP的端

【】地址定义.并II可以通过修改LED4DIP两者之间的对应关系,来修改拨码开关与LED

灯的对应关系,请自行尝试。

3.运行程序观察结果

5-实验结果

1.测试LED

//LED=1;

//LED=2;

LED=6;

//提示^分别测试这些代码点亮了哪些LED.令助丁•理解

LED=1时第一个灯亮,LED=2时第二个灯亮,LED=6时中间两个灯亮

2.TSAKbLED灯以递增的方式点亮

LED程序:

ffdefineLED(•(unsignedshortint*)0x180000)

for(;

;

)//递增点亮

LED=0x01;

Delay(lOOO);

LED=0x02:

Delay(lOOO):

LED=0x04:

LED=0x08;

Delay(lOOO);

/*for(;

;

)〃递减点亮

LED=0x01:

LED=0x02;

LED=0x08:

开关程序:

#defineSW(*(unsignedshortint*)0x100001)//添加丨的定义

LED=SW:

町知:

映射在扩展存储器空间地址上的指示灯寄存器在设置时是低4位有效的・数据的%殳低位对应指示灯D1,次低位对应D2,•…依次类推。

映射在扩展存储器空间地址上的拨码开关控制寄存器在回读时是低4位冇效的,数据的址低位对应拨码开关1,次低位对应2,•…依次类推。

JJ

eal11meCsp.co*.&

水一F283354ft叫PW

Ifffffi

L12941

wTpTSSri^

图5.1实验现象

ICETEK-F28335-A评估板上的指示灯控制寄存器是町读可写的,请问用什么办法M

以回读指示灯状态?

答:

ftdefineLED(*(unsignedshortint*)0x180000)

unsignedintLIGHT;

〃定义变量

LIGHT=LED:

再将LIGHT添加到观察窗,选择菜单栏中Debug的Real-timeMode.在WatchWindow中

选IfContinuousRefresh.并选择16进制观察。

运行程序,就町以观蔡到指示灯的状态。

4.

学会C语言中断程序设汁,以及运用中断程序控制程序流程。

计算机,ICETEK-F28335-A实验箱(或ICETEK仿真器+ICETEK-F28335-A系统板+相关

连红及电源)O

1.通用定时器介绍及共控制方法

TMS320F28335A内部有三个32位通用定时器(TIMERO1/2),定时器1和2被保留给

实时操作系统(DSPBIOS)用,只有定时器0町以提供给用户使用。

2•中断响应过程

a.接受中断请求。

必须由软件中断(从程序代码)或锁件中断(从一个引脚或一个基

丁・芯片的设备)捉出请求去暂停当前主程序的执行。

b.响应中断。

必须能够响应中断请求。

如果中断是町屏蔽的,则必须满足一定的条件,

按照一定的顺序去执行。

而对于非可屏蔽中断和软件中断,会立即作出响应。

C.准备执行中断服务程序并保存寄存器的值0

d・执行中断服务子程序。

调用相应得中断服务程序ISR,进入预先规定的向量地址,并

且执行已写好的ISR。

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

当前位置:首页 > 法律文书 > 调解书

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

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