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

上传人:b****3 文档编号:16661050 上传时间:2022-11-25 格式:DOCX 页数:23 大小:528.45KB
下载 相关 举报
dsp实验报告Word文档格式.docx_第1页
第1页 / 共23页
dsp实验报告Word文档格式.docx_第2页
第2页 / 共23页
dsp实验报告Word文档格式.docx_第3页
第3页 / 共23页
dsp实验报告Word文档格式.docx_第4页
第4页 / 共23页
dsp实验报告Word文档格式.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

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

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

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

sine.c),选择 

→Save

4.创建其他源程序(如.cmd)可重复上述步骤。

(二) 

创建工程文件

打开 

CCS,点击 

Project-->

New,创建一个新工程,其中工程名及路径可任意指定。

在 

Project 

中填入工程名,Location 

中输入工程路径,点击完成。

点击 

add 

files 

to 

project,添加工程所需文件。

在弹出的对话框中的下拉菜单中分别选择.c点击打开,添加源程序 

sine.c

5. 

同样的方法可以添加文件 

sine.cmd、rts.lib 

到工程中

(三) 

工程编译与调试

1. 

→Build 

all,对工程进行编译,如正确则生成 

out 

若是修改程序,可 

以使用 

命令,进行编译连接,它只对修改部分做编译连接工作。

可节省编译与连接的时间。

编译通过,生成.out 

文件。

2. 

→load 

program,在弹出的对话框中载入debug文件夹下的.out 

可执行文件。

3. 

debug 

→Go 

Main 

回到 

程序的入口 

4.使用 

F5 

快捷键,运行程序,在Stdout 

观察窗中查看程序运行结果,并记录。

五、实验结果

图1相关源程序

图2 

HelloWorld主程序与输出

图3幅值可变正弦波界面

六、心得体会:

要认真听老师讲课,这样才会做实验,如果不认真听课,做实验的时候就做不好。

要注意培养动手能力。

如果程序有错误,在调试的时候要有耐心。

实验二数字I/O实验

一.实验目的

1.熟悉CCS的开发环境;

2.掌握DSP扩展数字I/O口的方法;

3.了解SEED-DEC6713的硬件系统交通灯实现程序;

二.实验准备

(一)DSP系统中数字I/O的实现:

DSP系统中一般只有少量的数字I/O资源,而一些控制中经常需要大量的数字量的输入与输出。

因而,在外部扩展I/O资源是非常有必要的。

在扩展I/O资源时一般占用DSP的I/O空间。

其实现方法一般有两种:

其一为采用锁存器像74LS273、74lS373之类的集成电路;

另一种是采用CPLD在其内部做锁存逻辑,我们采用的是后者。

SEED-DEC6713模板提供标准化的存储器扩展总线,以方便用户扩展其专用的电

路。

SEED-DEC6713的存储器扩展总线,包含4个存储空间

,每个存储空间

有20-位地址线、32-位数据线。

SEED-DEC6713的这4个存储空间

被映射到’C6713的

空间中,具体的映射关系如下表所示:

扩展总线

SBEN

EMIF

EA[21:

19]

字节地址†

xxxB

0xA0000000~0xA03FFFFF

1

100B

0xB0200000~0xB027FFFF

x

101B

0xB0280000~0xB02FFFFF

110B

0xB0300000~0xB037FFFF

111B

0xB0380000~0xB03FFFFF

空间被配置为32-位存储器时的逻辑地址

实验箱I/O板映射到SEED-DEC6713模板的EDSP_CE3空间,接口方式为16-位。

所以将DSPC6713EMIFCE3#空间配置为16-位异步接口模式,地址映射关系如下:

实验箱I/O板对应的起始地址为:

0xB01C0000(字地址);

SEED-DEC6713控制MBOARD上CPLD板的偏移地址为:

0xB01C000A;

向此地址写1,使能控制功能。

TRAFFICLED的偏移地址为:

0x00000002;

即TRAFFICLED的地址为:

0xB01C0002;

(二)SEED-DTK6713系统中数字IO所占的资源如下:

1.交通灯控制口地址为:

0x6000000(I/O空间);

其说明如下:

D11

D10

D09

D08

D07

D06

D05

D04

D03

D02

D01

D00

SR

SY

SG

WR

EG

EY

WY

ER

WG

NR

NY

NG

WG:

方向西的绿灯控制位;

WY:

方向西的黄灯控制位;

WR:

方向西的红灯控制位;

SG:

方向南的绿灯控制位;

SY:

方向南的黄灯控制位;

SR:

方向南的红灯控制位;

EG:

方向东的绿灯控制位;

EY:

方向东的黄灯控制位;

ER:

方向东的红灯控制位;

NG:

方向北的绿灯控制位;

NY:

方向北的黄灯控制位;

NR:

方向北的红灯控制位;

当以上各位置“1”时,点亮各控制位所代表的交通灯状态的LED灯。

2.LED控制口地址为:

0xB01C0004(IO空间):

D7

D6

D5

D4

D3

D2

D1

D0

OUT7

OUT6

OUT5

OUT4

OUT3

OUT2

OUT1

OUT0

向控制位OUT[7:

0]写入“1”时,点亮相应位置的LED灯。

注:

8个LED灯是位于SEED-CPLD板上的,其控制线是通过DTK_IO单元模块转接的,然后经SEED-CPLD单元模块驱动后再点亮LED灯的。

三.实验程序功能与结构说明

1.在数字IO调试程序中,主要包含以下文件:

1)IO.c:

这是实验的主程序,包含了系统初始化,并完成控制交通灯按照所选择的不同模式输出显示,以及LED灯按照可输入的8位二进制数显示结果。

2)DEC6713.C:

对SEED-DEC6713各项资源操作的函数集,主要包含系统初始化函数,对CPLD的各个控制函数。

3)DEC6713_DTK.c:

主要包含对IO口操作的各函数。

4)Vec.asm:

包含定时器中断的中断向量表

5)SEED_DEC6713.cmd:

声明了系统的存储器配置与程序各段的连接关系。

6)DEC6713.gel:

系统初始化程序

四.实验步骤

本次实验程序的文件夹为光盘下03.Examplesofprogram\04.SEED_DTK-EPD实验程序目录下的3.3.1IO的文件夹拷贝到C:

\CCSstudio_V2.2。

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

2.将DSP仿真器的JTAG插头与SEED-DEC6713单元的J2相连接;

3.启动计算机,当计算机启动后,打开SEED-DTK6713的电源。

观察SEED-DTK-IO单元的+5V,+3.3V,+15V,-15V的电源指示灯以及SEED_DEC6713的电源指示灯D1、

D3是否均亮;

若有不亮的,请断开电源,检查电源。

4.打开CCS,进入CCS的操作环境

5.装入IO.pjt工程文件,添加DEC6713.gel文件开始进行调试

6.打开IO.c文件,到第29行,修改TestCommand的宏定义。

TestCommand是交通灯操作控制选项。

可以为1、2、3、4、5这5个数。

1为自动运行(南北通行一段时间后,自动变为东西通行,依次循环);

2为夜间模式(各方向都为黄灯);

3为交通灯东西通;

4为交通灯南北通;

5为禁行(各方向都为红灯)。

在编写程序的过程中要用到函数voidDEC6713_DTK_rset(Int16regnum,Uint16regval),此函数在DEC6713_DTK.c中有定义,主要功能是对不同的IO地址写入相应的数值,从而达到控制交通灯和LED灯亮或灭的目的,第一个参数为地址偏移量,第二个参数为控制字。

另外IO.c文件中给出了函数voiddelay(intperiod),通过调用此函数可以延迟一定的时间。

7.装载程序IO.out

8.运行,观察。

在程序运行过程中,可直接在WatchWindow里修改TestCommand的值,即将每一种运行方式所对应宏定义的值直接赋值给TestCommand,即可改变运行方式。

例如在程序运行过程中,若想将运行方式改为夜间模式,就请将TestCommand赋值为2(0小AA16)。

如下图所示:

9.重新到第6)步开始尝试其他情况或者退出实验。

五.实验结果与反思

当输入不同的数字,对应的运行状态与相应的灯状态一致。

实验已经给出了主干程序,根据流程图,补充类似的状态下不同灯对应的IO接口,应该提前准备,理解程序,同时注意与老师和同学的交流,发现自己的不足。

实验三定时器实验

1.了解TMS320VC6713的定时器。

2.熟悉定时器各寄存器的配置。

3.掌握TMS320VC6713的中断结构和对中断的处理流程。

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

二.实验要求

1.DSP的初始设置;

DSP中断向量表的建立;

定时中断的编写;

2.熟悉中断的结构及用中断程序控制程序流程,掌握定时器的应用。

三.实验背景知识:

(一)通用TIMER简介

TMS320C6713片内集成了2个32BIT的通用TIMER,TIMER的原理框见理论知识的介绍和相应教材的内容。

这些时钟有两种信号模式,可以用内部或外部时钟源做为时钟计数。

这些时钟有两个PIN脚:

输入和输出PIN脚,可以用做时钟输入和时钟输出;

也可以用做GPIO。

在SEED-DEC6713中,2个TIMER配置为:

lTIMER0配置为外部扩展空间或内部使用;

lTIMER1配置为外部扩展空间或内部使用;

本实验采用的定时器是TIMER1。

(二)CMD文件简介

cmd文件用于DSP代码的定位。

由3部分组成:

1)输入/输出定义:

.obj文件:

链接器要链接的目标文件。

.lib文件:

链接器要链接的库文件。

.map文件:

链接器生成的交叉索引文件。

.out文件:

链接器生成的可执行代码;

链接器选项。

2)MEMORY命令:

描述系统实际的硬件资源。

3)SECTIONS命令:

描述"

段"

如何定位。

(三)vecs.asm文件简介

vecs.asm是DSP的中断向量表文件。

中断服务程序的地址(中断向量)要装载到存储器的合适区域。

一般中断向量表文件是采用汇编语言编写;

在文件中一般汇编指令.sect来生成一个表。

这个表包含中断向量的地址和跳转指令。

因为中断读物的标志符在汇编语言模块外部使用,所以标志符用.ref或.global。

(四)GEL文件简介

GEL文件的功能同cmd文件的功能基本相同,用于初始化DSP。

但它的功能

比cmd文件的功能有所增强,GEL在CCS下有一个菜单,可以根据DSP的对象不同,设置不同的初始化程序。

以下面的例子介绍一下GEL文件的构成。

例:

#defineDEC6713_CTL0x90080000#defineDEC6713_INT0x90080001#defineDEC6713_STA0x90080002

StartUp();

开始函数

{

//定义DEC6713_CTL寄存器//定义DEC6713_INT寄存器//定义DEC6713_STA寄存器

GEL_MapReset();

;

存储空间复位

GEL_MapAdd(0x0000,0,0x7fff,1,1);

定义程序空间0000-7fff可读写

GEL_MapAdd(0x8000,0,0x7000,1,1);

定义程序空间8000-f000可读写

GEL_MapAdd(0x0000,1,0x1000,1,1);

定义数据空间0000-f000可读写

GEL_MapAdd(0xffff,2,1,1,1);

定义i/o空间0xffff可读写

GEL_MapOn();

存储空间打开

GEL_MemoryFill(0xffff,2,1,0x40);

在i/o空间添入数值40h

}

四.实验程序功能与结构说明

1.在Timer实验调试程序中,主要包含以下文件:

1)DEC6713_Timer.c:

这是实验的主程序,包含了系统初始化,定时器中断初始化,定时器中断程序等。

2)DEC6713.c:

3)vecs.asm:

包含定时器中断的中断向量表。

4)seed_dec6713.cmd:

5)dec6713.gel:

2.程序流程图

定时器中断程序流程图:

cnt=cnt+1

cnt>

TIMER_CNT

YES

关闭定时器1

打印“Done…”

NO

打印“Count:

主程序流程图

CSL初始化

系统时钟设置

定时器中断初始化

定时器各寄存器配置

使能定时器中断

使能定时器1

Cnt<

=TIMER_CN

等待进入中断退出

程序的主要功能:

利用定时器定时触发中断,中断程序完成输出“COUT:

n”的功能,完成一定的中断次数后,退出程序。

五.实验步骤

将光盘下03.Examplesofprogram\04.SEED_DTK-EPD实验程序目录下的3.2.5Timer的文件夹拷贝到C:

4.打开CCS,进入CCS的操作环境。

5.装入Timer.pjt工程文件,添加DEC6713.gel文件,编辑程序源代码,编译、连接生成

out文件。

在做这次实验之前,要事先复习一下有关课堂上所讲的定时器的知识,以便能顺利的编写该次实验程序。

本次实验中要求在main()函数中编写中断程序,main()函数在Timer.c文件中,前面已经给出了主程序和中断函数的流程图。

本次实验中使用中断INT14,在vect.asm中已经设置好,不需要自己设置。

程序中有些变量已经定义,可以直接使用这些定义好的变量,或者自己定义其他名称的变量。

本次实验程序的编写主要是完成一些函数的调用,所调用的函数大部分是CSL函数,CSL(片级支持库)提供了一系列应用程序接口,用于配置和控制DSP片上外设。

本次实验中主要用到了中断(IRQ)和定时器TIMER)两个模块的CSL函数。

这些函数在csl_timer.h和csl_irq.h中有声明,对于csl函数,主要知道它的功能和使用方法就可以,不用知道其函数内部的具体实现过程。

下面是本次实验中要用到的csl函数,关于更多的函数介绍请查阅ccs的帮助文件。

模块

函数名称、功能及示例

参数意义

TIMER_HandleTIMER_open(int

devNum,Unit32flags)

打开一个定时器设备

devNum为设备号,本次实验中为

TIMER_Handle

TIMER_DEV1

temp_handle;

flags为打开标志,本次实验中为

TIMER

temp_handle=

TIMER_OPEN_RESET

TIMER_open(TIMER_DEV1,

函数

TIME_OPEN_REST)

Uint32

TIMER_getEventId(TIMER_Handle

hTimer)

hTimer为定时器句柄

为定时器设备指定IRQ事件标志ID

例子:

TimerEventId=

TIMER_getEventId(hTimer);

Void

TIMER_configArgs(TIMER_Handle

ctl为控制寄存器值,设置定时器的工作模

hTimer,Uint32ctl,Uint32prd,

式,本次实验中已经给出了定义好的寄存

Uint32cnt)

器值TimerControl直接使用即可,查看其

设置定时器(工作模式,计数周期等)

定义可以知道设置的工作模式,对于寄存

例子:

TIMER_configArgs(LTimer,

器中每个控制位的含义可以查看帮助文

0x000002c0,

0x00010000,

档,路径为:

help->

user

0x00000000)

manuals->

Hardware

Documentation->

spru190->

Timers

prd为周期寄存器值,设置寄存器的计数

周期

cnt为计数寄存器,设置当前的计数值

TIMER_start(hTimer)

启动定时器

TIMER_start(temp_htimer)

TIMER_pause(TIMER_Handle

暂停定时器

TIMER_pause(temp_htimer)

TIMER_close(hTimer)

关闭一个已打开的定时器设备

TIMER_close(temp_htimer)

VoidIRQ_setVecs(void*vectors)

设定中断向量表基地址

Vectors指向中断向量表的指针

IRQ

该函数的调用程序中已经给出

IRQ_setVecs((void*)0x800000000)

VoidIRQ_globalEnable()

使能全部可屏蔽中断

VoidIRQ_nmiEnable()

使能NMI中断

VoidIRQ_map(Uint32EventId,

Intintnumber)

EventId为事件ID

为一个中断映射逻辑事件

Intnumber为中断号,本次实验为14

IRQ_map(IRQ_EVT_TINT0,12)

VoidIRQ_reset(Uint32eventId)

关闭及清除中断

eventId为事件ID

IRQ_reset(eventId)

VoidIRQ_enable(Uint32

EventId)

使用IER寄存器使能特定事件,

IRQ_enable(IRQ_EVT_TINT0)

以上表格中的函数更为详细的介绍在ccs软件中的help菜单中可以找到。

具体使用为help

->

contents->

ChipSupportLibrary或者help->

usermanuals->

DSPFoundationSoftware->

spru401

注意:

中断响应程序在函数interruptvoidc_int14(void){}中编写即可。

6.装载程序Timer.out,进行调试。

7.打开timer.c,在中断程序中“timereventhandler();

”设置断点。

8.运行程序,程序会停在断点处,表明已进入定时器中断。

此时观察CCS下方的“Stdout”

窗口,会看到“

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

当前位置:首页 > 工程科技 > 能源化工

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

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