DSP原理与应用实验指导书.docx

上传人:b****5 文档编号:6430160 上传时间:2023-01-06 格式:DOCX 页数:10 大小:37.70KB
下载 相关 举报
DSP原理与应用实验指导书.docx_第1页
第1页 / 共10页
DSP原理与应用实验指导书.docx_第2页
第2页 / 共10页
DSP原理与应用实验指导书.docx_第3页
第3页 / 共10页
DSP原理与应用实验指导书.docx_第4页
第4页 / 共10页
DSP原理与应用实验指导书.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

DSP原理与应用实验指导书.docx

《DSP原理与应用实验指导书.docx》由会员分享,可在线阅读,更多相关《DSP原理与应用实验指导书.docx(10页珍藏版)》请在冰豆网上搜索。

DSP原理与应用实验指导书.docx

DSP原理与应用实验指导书

 

DSP原理与应用

实验指导书

胡鸿志编写

 

桂林电子科技大学

2009年9月

实验一CCS及实验箱使用入门

【实验目的】

熟悉DSP集成开发环境CCS,熟悉CCS中工程管理和程序编辑、汇编和链接的过程。

熟悉SEED-DTK系列DSP实验平台,掌握CCS中源文件管理、编辑和调试的方法。

【实验要求】

掌握CCS环境下软件工作及编译方法。

了解SEED-DTK实验平台的基本组成,熟悉SEED-DEC5416实验环境。

【实验内容】

1、利用SEED-DTK实验箱来完成工程管理,以及源文件管理、编译、汇编、链接和调试。

(1)安装、配置SEED-XDSUSB2.0仿真器。

(2)建立DSP工程

(3)建立DSP源文件

(4)学习使用CCS的调试工具

2、在CCS下开发DSP软件项目需要先建立一个工程文件,扩展名缺省为*.pjt,所有关于项目的信息都会存储在这个工程文件中;若用C语言开发,需要使用Project→AddFilestoProject…命令将C语言的标准支持库rts.lib或rts_ext.lib添加到工程文件中。

此外,还需要将链接器命令文件*.cmd添加到工程文件中。

执行Project→RebuildAll命令,对工程进行编译、汇编和链接,在Output窗口中将显示相关信息。

目标文件*.out生成成功后,执行菜单命令File→LoadProgram,选择*.out文件并打开,将生成的可执行程序加载到DSP中,CCS将自动打开一个“反汇编”窗口,显示加载程序的反汇编指令。

执行菜单命令Debug→Run运行程序。

【实验步骤】

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

2、将DSP仿真器的JTAG插头与SEED-DEC54xx单元的J1连接;

3、启动计算机后,打开SEED-DTK实验箱的电源。

观察SEED-DTK-101单元的+5V、+3.3V、+15V和-15V的电源指示灯,以及SEED-DEC54xx的D1以及SEED-DSK2812的D2是否均亮;若有不亮,断开电源,检查电源。

4、配置SEED-XDSUSB2.0仿真器。

5、进入CCS环境。

6、创建一个工程,添加附录汇编源文件TestXF.asm和链接器命令文件TestXF.cmd。

7、编译并调试,相关命令如下:

●设置断点

将光标放在需要设置断点的程序前,执行Debug→Breakpoints设置断点。

●复位

Debug→ResetCPU,复位DSP目标系统,初始化所有的寄存器,终止程序的执行。

Debug→Restart,将PC值恢复到程序的入口,该命令不开始程序的执行。

Debug→Gomain,将程序运行到主程序的入口地址处暂停。

●程序的执行

Debug→Run,从当前程序计数器(PC)执行程序,碰到断点时暂停。

Debug→Halt,终止程序执行。

Debug→Animate,动画运行程序。

Debug→Runfree,从当前程序计数器(PC)执行程序,忽略所有的断点。

Debug→RuntoCursor,程序执行到光标处。

●单步执行操作

Debug→StepInto,单步执行。

如果运行到调用函数处,将跳入到函数中单步执行。

Debug→StepOver,单步执行。

为了保护处理器的流水线操作,该指令后的若干条延迟指令或调用指令将同时被执行。

如果运行到函数调用处,将直接执行完整的函数功能,而不跳入函数内部单步执行。

Debug→StepOut,调处函数或子程序执行。

●内存、寄存器与变量操作

View→WatchWindow,检查和编辑C语言表达式和变量的值。

View→Registers→CPURegisters,显示DSP的CPU寄存器中的值。

View→Memory,显示指定的存储器中的内容。

8、执行File→Workspace→SaveWorkspace,保存调试环境。

【附录】

附录ATestXF.asm

.mmregs;预定义的寄存器

.defCodeStart;定义程序入口标记

.text;程序区

CodeStart:

SSBXXF;XF置1

RPT#999;重复执行1000次空指令产生延时

NOP

RSBXXF;XF清0

RPT#999;重复执行1000次空指令产生延时

NOP

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

.end

附录BTestXF.cmd

-oTestXF.out

-mTestXF.map

-eCodeStart

MEMORY

{

PAGE0:

PRAM:

org=0100h,len=0F00h

}

SECTIONS

{

.text:

>PRAMPAGE0

}

实验二定点除法实验

【实验目的】

熟悉CCS集成开发环境中TMS320C54x汇编程序的编写和调试方法。

掌握’C54x数据格式,以及定点算术运算的基本方法和指令。

【实验要求】

掌握’C54x系列DSP的定点算术运算方法,掌握定点除法的原理及实现。

熟练使用CCS对程序进行调试。

【背景知识】

TMS320C54xDSP中没有提供专门的除法指令实现16位定点整数除法,通常有两种方法可实现除法运算。

一种方法是除以某个数相当于乘以其倒数,所以先求出其倒数,然后相乘;这种方法适用于除以常数。

另一种是使用条件减法指令SUBC,重复16次减法完成除法运算。

使用SUBC指令进行除法运算,惟一限制是两个操作数都必须为正,所以需要先判断结果的符号,方法是将两个操作数相乘,保存累加器A或B的高16位以便判断乘积符号。

然后只做两个正数的除法,最后修正结果的符号。

为了实现两个整数相除,先将被除数装入A或B的低16位,接着重复执行SUBC指令,用除数重复减16次后,除法运算的商在累加器的低16位,余数在高16位。

如果|被除数|<|除数|,则先将被除数装入A或B的高16位,重复减的次数为15次。

TMS320C54xDSP中实现16位的小数除法与整数除法基本一致,也是使用条件减法指令SUBC来实现,但需要注意’C54x中小数的定点表示方法。

【设计任务】

1、编写程序,分别计算

的值;

2、编写和调用子程序,计算

的值;

3、定义和调用宏,计算

的值。

【思考题】

为什么当|被除数|<|除数|时,SUBC指令实现定点整数除法重复减的次数为15次,而不是16次?

实验三定时器实验

【实验目的】

通过学习定时器中断的设计方法,熟悉在汇编条件下如何编写中断服务程序,了解串行通信的过程,掌握长时间间隔的定时器的处理,掌握片内外设的设置方法。

【实验要求】

掌握汇编语言的程序结构,正确进行异步串口通信与定时器的设置,能与系统正确通信。

【背景知识】

中断指的是当某个事件发生时,暂停当前的操作,转向中断服务程序,执行完后再返回继续原来的操作。

这使得DSP能够处理多个任务。

最常用的中断有定时器中断和外部中断。

本实验采用的是定时器中断。

TMS320C5416中有一个可编程的片上定时器,总共包含三个可由用户设置的寄存器,并可以申请主机的中断。

这三个寄存器分别为TIM(定时设定寄存器)、PRD(定时周期寄存器)、TCR(定时控制寄存器)。

TIM、PRD及TCR均是16位的存储器映射寄存器,TIM的值由PRD来进行装载,并且作减一操作;PRD是用来重装TIM的值的;TCR包含了定时器的控制与状态信息。

定时器的所能定时的长度可通过公式

来计算,T为机器周期。

若需要更长的计时时间,则可以在中断程序中设计一个计数器,直到产生一定次数的定时中断后再执行相应的操作

【设计任务】

1、采用中断方法设计程序,实现方波发生器(占空比为50%),方波周期为4ms。

2、修改程序,实现周期为20s的方波发生器。

【设计步骤】

1、定时器及中断初始化

(1)中断允许寄存器IFR中的定时中断位TINT=1,清除未处理完的定时中断。

(2)停止定时器运行(TCR中的TSS=1)

(3)设定时器的定时长度(即加载PRD的值)

(4)允许定时器中断(TSS=0,TRB=1)

(5)运行定时器

(6)打开中断

  中断屏蔽寄存器IMR中的定时屏蔽位TINT=1,开放定时中断;状态控制寄存器ST1中的中断标志位INTM=0,开放全部中断。

2、编写方波发生器源程序注意周期的设定。

【思考题】

方波发生器也可以用延时的方法实现,与延时的方法相比,定时器法有什么优势?

实验四数字I/O实验

【实验目的】

掌握TMS320C541xDSP扩展数字I/O口的方法,了解SEED-DTK的硬件系统。

【实验要求】

通过本实验,了解DSP对I/O口的操作,完成对SEED-DTK实验平台中LED的控制。

【背景知识】

TMS320C541xDSP提供64K字的I/O空间(0000h~0FFFFh)。

I/O空间都在片外,作用是与片外设备连接。

使用PORTR和PORTW两条指令可对I/O空间寻址。

TMS320C5416的I/O空间必须通过外加缓冲器或锁存电路,配合外部I/O读写控制时序构成片外外设的控制电路。

其实现方法一般有两种:

其一为采用锁存器,如75LS273、74LS372之类的集成芯片;另一种是采用CPLD,在其内部做锁存器逻辑。

SEED-DTK实验平台采用CPLD实现。

本实验程序主要是实现将数据往一个I/O端口送,从而显示一种状态,来验证DSP对I/O口地址0x080002送数,通过观察发光二极管的变化,来验证其正确性。

SEED-DTK实验平台中LED控制口地址为0x08002(I/O空间),其说明如表4.1所示。

表4.1LED控制口

D7

D6

D5

D4

D3

D2

D1

D0

OUT7

OUT6

OUT5

OUT4

OUT3

OUT2

OUT1

OUT0

注:

向控制位写入’1’时,点亮相对应的LED灯。

【设计任务】

1、编写程序,循环点亮SEED-DTK实验平台上LEDD17~D24;

2、编写和调用子程序,实现各状态之间延时1s。

【思考题】

如何用定时器中断实现延时?

实验五串口通信实验

【实验目的】

了解DSP的MCBSP外设的使用,熟悉MCBSP的设置方法。

【实验要求】

通过本实验,熟悉对MCBSP的各个寄存器的功用与设置方法,掌握DSP对二次寄存的访问。

熟悉串行通信的编程方法,实现主机与DSP之间的串口通信。

【背景知识】

TMS320C54x提供高速、双向、多通道带缓冲串口(MCBSP)。

它是DSP的片上外设资源,它可以与其它的DSP、CODEC和带有SPI接口的器件进行通信。

在TMS320C5416上共有3个MCBSP,主要包括数据通路和控制通路两部分,通过7个引脚与外部器件相连。

对MCBSP的配置主要是通过3个16位寄存器SPCR[1,2]和PCR进行的。

而接收和发送寄存器RCR[1,2],X[1,2]分别配置接收和发送操作的各种参数。

   发送和接收的基本步骤为:

1、MCBSP串行口复位(两种复位方式)

●通过芯片复位端

复位。

时,引发的串行口发送器、接收器、采样率发生器复位。

芯片复位完成后,串行口仍然处于复位状态,

●利用串口控制寄存器的控制位复位。

接收控制寄存器SPCR1中

位可对串口接收器进行复位,发送控制寄存器SPCR2中的

位可分别对串口发送器和采样率发生器进行复位。

2、复位完成后,串行口初始化。

初始化的步骤为:

●对串口控制寄存器中的复位位置0,刚复位完毕,可不进行这一步操作。

●按串口复位要求,对MCBSP的寄存器进行编程配置。

●等待两个时钟周期,以保证适当的内部同步。

●按照写DXR的要求,给出数据。

●使串口使能。

●若要求内部帧同步信号,则设定

●等待2个时钟周期后,接收器和发送器激活。

【设计任务】

  编写程序,实现PC与DSP之间的串口通信。

实验六交通灯实验

【实验目的】

熟练掌握DSP的指令系统,以及TMS320C5416的硬件结构和应用程序设计。

掌握DSP扩展数字I/O口的方法。

【实验要求】

通过本实验,熟悉CCS集成开发环境,熟练掌握TMS320C5416数字I/O口的使用。

【背景知识】

SEED-DTK实验平台中交通灯控制口地址为0x08000(I/O空间),其说明如表6.1所示。

表6.1交通灯控制口

D11

D10

D09

D08

D07

D06

D05

D04

D03

D02

D01

D00

NR

NY

NG

ER

EY

EG

SR

SY

SG

WR

WY

WG

WG:

方向为西的绿灯控制位;WY:

方向为西的黄灯控制位;

WR:

方向为西的红灯控制位;SG:

方向为南的绿灯控制位;

SY:

方向为南的黄灯控制位;SR:

方向为南的红灯控制位;

EG:

方向为东的绿灯控制位;EY:

方向为东的黄灯控制位;

ER:

方向为动的红灯控制位;NG:

方向为北的绿灯控制位;

NY:

方向为北的黄灯控制位;NR:

方向为北的红灯控制位;

注:

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

【设计任务】

编写程序,在SEED-DTK实验平台上模拟实现交通灯控制。

出师表

两汉:

诸葛亮

  先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。

然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。

诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。

  宫中府中,俱为一体;陟罚臧否,不宜异同。

若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理;不宜偏私,使内外异法也。

  侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下:

愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。

  将军向宠,性行淑均,晓畅军事,试用于昔日,先帝称之曰“能”,是以众议举宠为督:

愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。

  亲贤臣,远小人,此先汉所以兴隆也;亲小人,远贤臣,此后汉所以倾颓也。

先帝在时,每与臣论此事,未尝不叹息痛恨于桓、灵也。

侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之、信之,则汉室之隆,可计日而待也

  臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。

先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。

后值倾覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。

  先帝知臣谨慎,故临崩寄臣以大事也。

受命以来,夙夜忧叹,恐托付不效,以伤先帝之明;故五月渡泸,深入不毛。

今南方已定,兵甲已足,当奖率三军,北定中原,庶竭驽钝,攘除奸凶,兴复汉室,还于旧都。

此臣所以报先帝而忠陛下之职分也。

至于斟酌损益,进尽忠言,则攸之、祎、允之任也。

  愿陛下托臣以讨贼兴复之效,不效,则治臣之罪,以告先帝之灵。

若无兴德之言,则责攸之、祎、允等之慢,以彰其咎;陛下亦宜自谋,以咨诹善道,察纳雅言,深追先帝遗诏。

臣不胜受恩感激。

  今当远离,临表涕零,不知所言。

 

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

当前位置:首页 > 党团工作 > 党团建设

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

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