DSP实验报告0705110637精.docx

上传人:b****5 文档编号:7722659 上传时间:2023-01-26 格式:DOCX 页数:15 大小:522.60KB
下载 相关 举报
DSP实验报告0705110637精.docx_第1页
第1页 / 共15页
DSP实验报告0705110637精.docx_第2页
第2页 / 共15页
DSP实验报告0705110637精.docx_第3页
第3页 / 共15页
DSP实验报告0705110637精.docx_第4页
第4页 / 共15页
DSP实验报告0705110637精.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

DSP实验报告0705110637精.docx

《DSP实验报告0705110637精.docx》由会员分享,可在线阅读,更多相关《DSP实验报告0705110637精.docx(15页珍藏版)》请在冰豆网上搜索。

DSP实验报告0705110637精.docx

DSP实验报告0705110637精

学生实验报告

课程名称:

学生学号:

所属院部:

(理工类)

DSP技术及应用专业班级:

07电子信息工程1班0705110637学生姓名:

薛建宏

信息技术学院指导教师:

姜志鹏

2010——2011学年第1学期

金陵科技学院教务处制

实验报告书写要求

实验报告原则上要求学生手写,要求书写工整。

若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。

纸张一律采用A4的纸张。

实验报告书写说明

实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。

各院部可根据学科特点和实验具体要求增加项目。

填写注意事项

(1)细致观察,及时、准确、如实记录。

(2)准确说明,层次清晰。

(3)尽量采用专用术语来说明事物。

(4)外文、符号、公式要准确,应使用统一规定的名词和符号。

(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。

实验报告批改说明

实验报告的批改要及时、认真、仔细,一律用红色笔批改。

实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。

实验报告装订要求

实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:

1、CCS使用入门实验学时:

2学时同组学生姓名:

郝文君实验地点:

B406实验日期:

2010-10-14实验成绩:

批改教师:

批改时间:

一、实验目的和要求

(一)、实验目的

(1)熟悉DSP集成开发环境CCS的界面

(2)掌握CCS设计平台的常用功能

(3)掌握用CCS设计并调试DSP程序的流程

(二)、实验要求

(1)注意掌握CCS开发DSP应用程序的步骤;

(2)理解提供的汇编语言源程序的功能。

(3)调试程序要记录调试过程中出现的问题及解决办法;

(4)编写程序要规范、正确,上机调试过程和结果要有记录,并注意调试程序集成环境的掌握及应用,不断积累编程及调试经验;

(5)实验后按实验报告规范要求给出本实验的实验报告。

二、实验仪器和设备

PIII计算机,装有ccs2.2或更高版本软件、DSP实验箱(包括仿真器)

三、实验过程

(一)教师演示讲解CCS的使用

1、介绍SEED-DTKDSP实验箱的概况,演示DSP实验箱与PC机的连接方法。

2、介绍CCS软件的界面与菜单。

3、演示CCS调试程序的一般过程,讲解CCS常用功能。

3

(二)让学生按照步骤进行操作1、操作步骤如下:

以参考程序exam1.asm为例,练习CCS调试过程:

(1)单击CCSSETUP图标,打开后,选择C516DeviceEmulator,关闭对话框,再点击确定,然后就正式打开了CCSSETUP。

(2)创建一个新工程:

Project菜单中选择New命令,在弹出的对话框中填入工程名、存放路径与目标CPU型号,本实验选择C54X。

(3)新建文件,输入参考程序如下:

.mmregs

.text

CodeStart:

;程序入口SSBXXF;XF置1CALLDelay;调用延时程序RSBXXF;XF清0CALLDelay;调用延时程序

BCodeStart;跳转到程序开头循环执行

***************************************************************延时子程序:

Delay

*用两级减一计数器来延时。

调整AR1和AR2的大小LED闪烁的频率不同**************************************************************Delay:

STM#999,AR1;循环次数1000LOOP1:

STM#4999,AR2;循环次数5000

LOOP2:

BANZLOOP2,*AR2-;如果AR2不等于0,AR2减1,再判断BANZLOOP1,*AR1-;如果AR1不等于0,AR1减1,跳转到LOOP1RET.end

.defCodeStart

4

(4)保存该文件为exam1.asm;

(5)右击exam1,选择“addFiletoProject”,再打开“exam1.asm”;(6)新建文件,输入并保存链接命令文件exam1.cmd,参考内容如下:

MEMORY{

page0:

PRAM:

org=0100hlen=0F00h/*定义程序存贮区,起始0100H,长度0F00H*/}SECTIONS{

.text:

>PRAMpage0/*将.text段映射到page0的param区*/

}

(7)向工程中添加文件:

在Project菜单中单击AddFilestoProject,在弹出的的目录中选择待加入的文件exam1.cmd。

(8)汇编、链接程序:

执行菜单Project/RebuildAll,汇编后将产生一个exam1.out文件。

(9)加载程序:

执行File/LoadProgram,选择exam1.out并打开,即可将可执行文件加载到DSP仿真器中,此时CCS将自动打开一个反汇编窗口。

该窗口中的黄色小箭头表示当前PC指向的代码行。

(10)执行菜单VIEW/Register/CPURegister命令,打开观察窗口观察以便观察CPU类各寄存器的值。

(11)运行程序:

执行Debug/Run,观察SEED-DTK实验箱的D3,应有闪烁现象,适当修改程序,该LED闪烁的频率将有所变化。

观察CPUMMR窗口各寄存器的值。

(12)程序编译过程中若有错误,根据CCS给出的错误提示进行修改,本程序中给出了错误,由学生进行修改。

(三)根据学生的实验情况适当增加其他程序调试方法的讲解。

四、实验结果与分析

五、实验心得

5

实验项目名称:

2、CCS的汇编语言程序设计与调试实验学时:

2学时同组学生姓名:

郝文君实验地点:

B406实验日期:

2010-10-14实验成绩:

批改教师:

批改时间:

一、实验目的和要求

(一)、实验目的

(1)熟悉C54x系列DSP芯片的汇编语言指令。

(2)掌握用汇编语言设计程序的方法。

(3)熟悉用CCS调试程序的过程。

(二)、实验要求

(1)实验课前事先编写实验要求的程序。

.

(2)输入提供的汇编语言参考程序,用CCS对其进行调试;

(3)调试程序要记录调试过程中出现的问题及解决办法;

(4)编写程序要规范、正确,上机调试过程和结果要有记录,并注意调试程序集成

环境的掌握及应用,不断积累编程及调试经验;

(5)实验后按实验报告规范要求给出本实验的实验报告。

二、实验仪器和设备

至少PIII计算机,装有ccs2.2或更高版本软件

三、实验过程

(一)教师简单回顾所需知识并演示较一个简单程序的调试过程。

1、简单回顾.bss等常用汇编伪指令的含义。

2、回顾CCS的操作步骤。

3、以一个实现连加的汇编程序为例,重点演示该汇编程序的调试过程。

该汇编程序的参考内容如下:

.title“exam2.asm”

.mmregs

.bssx,5

.bss

.text

Stm

Stm

Ld

loop:

y,1#x,ar1#4,ar4#0,aAddBanzStl.end*ar1+,aloop,*ar4-a,@y

(二)学生操作

1、思考该程序在实际调试时需要加入哪些语句才能得到正确结果?

为什么?

2、为程序exam2.asm加入设置堆栈、堆栈初始化的指令,并仿照教师的演示过程调试该程序,通过观察存储器与寄存器的值检查运行结果。

3、编写并调试一段程序,对数组进行初始化

(1)使x[5]={0,0,0,0,0}

(2)使x[5]={0,1,2,3,4}

4、学生根据各自的能力调试自选的其他程序。

5、操作步骤如下:

以参考程序exam2.asm为例,练习CCS调试过程:

(1)单击CCSSETUP图标,打开后,clearC516DeviceEmulator,然后inputc5402Devicesimulator关闭对话框,再点击确定,然后就正式打开了CCSSETUP。

(2)创建一个新工程:

Project菜单中选择New命令,在弹出的对话框中填入工程名、存放路径与目标CPU型号,本实验选择C54X。

(3)新建文件,输入参考程序如下:

.title“exam2.asm”

.mmregs

.bss

.bssx,5y,1

stack.usect“stack”,10h

.text

STM#stack+10h,sp

STM#x,ar1

STM#4,ar4

LD#0,a

loop:

Add*ar1+,aloop,*ar4-Banz

Ld#y,DP

Stl.enda,@y

(4)保存该文件为exam2.asm;

(5)右击exam2,选择“addFiletoProject”,再打开“exam2.asm”;

(6)新建文件,输入并保存链接命令文件exam2.cmd,参考内容如下:

MEMORY

{

page0:

PRAM:

org=0100hlen=0F00h

page1:

DARAM:

org=0080hlen=000Fh

/*定义程序存贮区,起始0100H,长度0F00H*/

}

SECTIONS

{

.text:

>PRAMpage0/*将.text段映射到page0的param区*/

.bss:

>DARAMpage1

}

(7)向工程中添加文件:

在Project菜单中单击AddFilestoProject,在弹出的的目录中选择待加入的文件exam2.cmd。

(8)汇编、链接程序:

执行菜单Project/RebuildAll,汇编后将产生一个exam2.out文件。

(9)加载程序:

执行File/LoadProgram,选择exam2.out并打开,即可将可执行文件加载到DSP仿真器中,此时CCS将自动打开一个反汇编窗口。

该窗口中的黄色小箭头表示当前PC指向的代码行。

(10)执行菜单VIEW/Register/CPURegister命令,打开观察窗口观察以便观察CPU类各寄存器的值。

(11)运行程序:

执行Debug/Run,观察SEED-DTK实验箱的D3,应有闪烁现象,适当修改程序,该LED闪烁的频率将有所变化。

观察CPUMMR窗口各寄存器的值。

(12)程序编译过程中若有错误,根据CCS给出的错误提示进行修改,本程序中给出了错误,由学生进行修改。

6、p139例3-1

********************************************

**example.asmy=a1*x1+a2*x2+a3*x3+a4*x4**

********************************************

.title"example.asm"

.mmregs

STACK.usect"STACK",10h

.bssa,4

.bssx,4

.bssy,1

.def_c_int00

.data

table:

.word1,2,3,4

.word8,6,4,2

.text

_c_int00:

STM#0,SWWSR

STM#STACK+10h,SP

STM#a,AR1

RPT#7

MVPDtable,*AR1+

CALLSUM

end:

Bend

SUM:

STM#a,AR3

STM#x,AR4

RPTZA,#3

MAC*AR3+,*AR4+,A

STLA,@y

RET

.end

(三)根据学生的实验情况适当增加其他程序调试方法的讲解。

四、实验结果与分析

五、实验心得

实验项目名称:

3、使用探测点与文件I/O实验学时:

2学时

同组学生姓名:

郝文君实验地点:

B406

实验日期:

2010-10-21实验成绩:

批改教师:

批改时间:

一、实验目的和要求

(一)、实验目的

(1)掌握用CCS设计并调试DSP程序的流程

(2)掌握探测点与文件I/O的使用方法

(3)掌握从文件读入数据到内存的方法

(4)掌握CCS波形、图像输入输出的步骤

(二)、实验要求

(1)注意掌握CCS开发DSP应用程序的步骤;

(2)输入提供的C语言参考程序,用CCS对其进行调试;

(3)调试程序要记录调试过程中出现的问题及解决办法;

(4)编写程序要规范、正确,上机调试过程和结果要有记录,并注意调试程序集成环

境的掌握及应用,不断积累编程及调试经验;

(5)实验后按实验报告规范要求给出本实验的实验报告。

二、实验仪器和设备

PIII计算机,装有ccs2.2或更高版本软件

三、实验过程

(一)教师讲解演示CCS探测点与文件I/O的使用过程

1、探测点即探针断点(ProbePoint的原理

探针可以从PC机的文件中读取数据,它是开发算法的一个有效工具。

其作用概括为:

(1)将来自PC主机文件的输入数据传送到目标系统的缓存器中供算法使用。

(2)将来自目标系统缓存器中的输出数据传送到PC主机的文件中供分析。

(3)用数据更新窗口,如图形窗口。

2、演示通过探测点实现数据输入并查看图形的步骤。

(二)让学生按照演示步骤练习有关操作。

练习使用探测点与文件I/O,操作步骤:

1.按project选择openc盘下的ti中的tutorial中的sim54xx中的volume1.c,将

其拷贝到myproject中,打开volume1.c及其相应的命令链接文件volume.cmd、头文件、库文件、中断向量表等文件。

点击工具栏按钮或选择Project→RebuildAll。

2.选择File→LodeProgram并选取volume.out,然后点击Open。

3.在ProjectView窗口中,双击volume.c文件。

4.将光标置于主函数中的dataIO(这一行上。

DataIO函数起占位符作用。

现在,它是

一个很好的与探针断点相连接的地方,以便于从PC机文件输入数据。

5、点击工具栏按钮(ToggleProbePoint),则光标所在行变为兰色高亮。

6、选择File→FileI/O,在FileI/O对话窗中可选择输入和输出文件。

7、在FileInput栏中,点击AddFile。

8、选择sine.dat文件。

注意:

在文件类型框中可以选择数据格式,sine.dat文件包含正弦波形的16进制值。

9、点击Open,将该文件添加到FileI/O对话框的列表上,接着出现sine.dat文件控制

窗口(CCS窗口可以覆盖它)。

在运行程序时,可用这个窗口开始、停止、重复、或快速前进

来控制数据文件。

10、在FileI/O对话框中,将Address修改为inp_buffer,Length修改为100,选中Wrap

Around。

11、点击AddProbePoint,Break\Probe\ProfilePoints对话窗的ProbePoint

栏就

会出现。

12、加亮(对话框中)显示的第五步的断点设置。

13、点击Connect栏尾处的下箭头,在其下拉菜单中选择FILEINC\\sine.dat文件。

14、点击Replace。

ProbePoint列表将显示探测点已连接到sine.dat文件。

15、Page选择Data,Address输入inp_buffer.Length输入0X64,然后点击OK。

FileI/O

对话框则显示文件现已被连接到探测点。

16、在FileI/O对话框,点击OK。

17、选择View→Graph→Time/Frequency。

18.在弹出的GraphPropertyDialog对话窗中,将GraphTitle,StartAddress,

AcquisitionBufferSize,DisplayDataSize,DSPDataType,Autoscale和MaximumY-value的属性改变为如下图所示。

向下滚动或调整dialog框的大小可看到所有的属性。

19、点击OK,出现输入缓存的一个图形窗。

20.窗口中右击鼠标,从弹出的菜单中选择ClearDisplay。

21.再次选择View→Graph→Time/Frequency。

22.改变GraphTitle的属性为OutputBuffer,改变StartAddress的属性为Out_buffer,其余的设置都不变。

23.点击OK,又出现一个图形窗,在该图形窗内右击鼠标,从弹出的菜单中选择ClearDisplay。

24.选择view→WatchWindow

25.Watch窗中右击鼠标,并从弹出菜单中选择watch1。

26.在name区敲入gain并随便单击一下,在Value中输入10。

27.如果程序已暂停,点击工具栏按钮(Aminate,重新开始运行程序。

四、实验结果与分析

五、实验心得

实验项目名称:

4、定时器与中断实验实验学时:

2学时同组学生姓名:

郝文君实验地点:

B406实验日期:

2010-10-21实验成绩:

批改教师:

批改时间:

一、实验目的和要求

(一)、实验目的

(1)熟悉用CCS设计并调试程序的流程

(2)掌握定时器等片内外设的寄存器的含义及其设置方法

(3)掌握C54X中断系统的原理

(4)掌握长时间时间间隔的定时器的处理方法

(二)、实验要求

(1)注意掌握CCS开发DSP应用程序的步骤;

(2)编写一个简单的定时器中断程序,利用定时器定时,使与XF引脚相连的LED

灯亮灭,用CCS对其进行调试;

(3)调试程序要记录调试过程中出现的问题及解决办法;

(4)编写程序要规范、正确,上机调试过程和结果要有记录,并注意调试程序集

成环境的掌握及应用,不断积累编程及调试经验;

(5)做完实验后给出本实验的实验报告。

二、实验仪器和设备

PIII计算机,装有ccs2.2或更高版本软件

三、实验过程

(一)、教师简单回顾定时器原理与中断的原理

1、定时器由三个寄存器组成:

TIM、PRD、TCR,

TIM:

定时器寄存器,用于装载周期寄存器的数值并自动减1

PRD:

周期寄存器,用于装载定时周期的寄存器

TCR:

定时器控制寄存器,包含定时器的控制状态位。

TCR的D6~D9位名字叫PSC,TCR

的D3~D0名字叫TDDR。

定时器实际就是16位的减1计数器,它有两级计数:

(1)对CPU时钟CLKOUT计数,每来一个CLKOUT周期,PSC的内容减1。

在PSC减到0前,TIM内容不变。

(2)当PSC的内容减为0时,TIM寄存器内容减1。

一直到TIM减为0时,表示定时时间到,这时CPU发出中断信号,称为定时器中断,用TINT表示。

当TIM减为0时,PRD的内容又重新装入TIM,开始下一次定时。

(3)定时器定时长度计算公式:

Tt=T*(1+TDDR*(1+PRD2.长时间时间间隔的编程思路:

有时定时的长度不能满足需要,比如DSP工作频率160Mhz时,定时最大值约为6ms,如果需要更长的定时,就要在定时器中断子程序中再加一个计数器,直到产生一定次数的定时中断后再执行相应的操作。

3、中断是指:

CPU终止正在执行的程序,转去执行一个请求中断的内部或外部的中断服务程序,待处理完毕后,又返回到被终止的源程序处继续执行。

这一过程称为中断;中断系统是指:

为实现中断功能而设置的各种硬件和软件。

C54xDSP既支持软件中断,也支持硬件中断。

当同时有多个硬件中断出现时,C54xDSP按照中断优先级别的高低对它们进行服务。

C54xDSP的中断可以分成两大类:

第一类是可屏蔽中断。

这些都是可以用软件来屏蔽或开放的硬件和软件中断。

第二类是非屏蔽中断。

这些中断是不能够用软件指令屏蔽的,C54x对这一类中断必须予以响应,并从主程序转移到中断服务程序。

C54xDSP的非屏蔽中断包括所有的软件中断,以及两个外部硬件中断(复位和RS。

NMI(3)与中断有关寄存器有中断标志寄存器(IFR:

它的D3位是TINT0,是定时器0的中断标志位中断屏蔽寄存器(IMR:

它的某一位为0时,表示屏蔽该中断(4)中断方式控制位INTM:

是CPU状态寄存器ST1中的D11位INTM=1表示关闭所有可屏蔽中断、INTM=0开放所有可屏蔽中断

(二)让学生按照设计步骤调试程序实验操作步骤:

(1)创建一个新工程:

Project菜单中选择New命令,在弹出的对话框中填入工程名、存放路径与目标CPU型号,本实验选择C54X。

(2)新建文件,输入实验要求的参考程序(程序中的斜体部分暂不使用):

.title"timer.asm".mmregs16

.def_c_int00.defTINT0_ISRCounterSet.set1000PERIOD.set49999.asgAR1,Counter_c_int00:

STMSTMSTMSTMSTMSTM#CounterSet,Counter#0000000000010000B,TCR#PERIOD,TIM#PERIOD,PRD#0000001111001110B,TCR#0008H,IMRRSBXINTMEnd:

NOPBEndTINT0_ISR:

PSHMST0BANZNext,*CounterSTM#CounterSet,CounterBITF*AR2,#1BCsetXF:

SSBXSTBResetXF:

ResetXF,TCXF#1,*AR2NextRSBXXFST#0,*AR2ST0Next:

POPMRETE.end(3)保存该文件为timer.asm;(4)向工程中添加文件:

在Project菜单中单击AddFilestoProject,在C:

\ti\c5400\cgtool\lib\lnk.cmd,打开该文件,记住它安排.text段从程序存储器的0080H开始存放。

(5)编译、链接程序:

执行菜单Project/RebuildAll,汇编结果在将汇编信息输出窗口中给出。

编译后将产生一个timer.out文件。

(6)加载程序:

执行File/LoadProgram,选择timer.out并打开,即可将可执行文17

件加载到DSP软件仿真

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

当前位置:首页 > 高等教育 > 其它

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

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