文档库 最新最全的文档下载
当前位置:文档库 › DSP实验指导书探素

DSP实验指导书探素

DSP实验指导书探素
DSP实验指导书探素

DSP原理及应用实验指导书

实验一:熟悉CCS,编写一个以C语言为基础的DSP程序

一、实验目的

1.认识TMS320LF2407 DSP实验开发系统的硬件结构。

2.了解TMS320LF2407 DSP应用程序的开发调试流程。

3.学习使用CCS3.3调试TMS320LF2407 DSP程序。

4.学习用标准C语言编制程序:了解常用的C语言程序设计方法和组成部分。

二、实验设备

PC兼容机一台,操作系统为Windows2000(或Windows98,Windows XP,以下默认为Windows2000),CCS3.3编译软件,TMS320LF2407 DSP实验开发板和仿真器。

三、实验原理

1.标准C语言程序:

CCS支持使用标准C语言开发DSP应用程序。当使用标准C语言编制程序时,其源文件名的后缀应为.C(如:volume.c)。

CCS在编译标准C语言程序时,首先将其编译成相应汇编语言程序,再进一步编译成目标DSP的可执行代码。最后生成的是COFF格式的可下载到DSP 中运行的文件,其文件名后缀为.out。

由于使用C语言编制程序,其中调用的标准C的库函数由专门的库提供,在编译链接时编译系统还负责构建C运行环境。所以用户工程中需要注明使用C 的支持库。

2.命令文件的作用:

命令文件(文件后缀为.cmd)为链接程序提供程序和数据在具体DSP硬件中的位置分配信息。通过编制命令文件,我们可以将某些特定的数据或程序按照我们的意图放置在DSP所管理的内存中。命令文件也为链接程序提供了DSP外扩存储器的描述。在程序中使用CMD文件描述硬件存储区,可以只说明使用部分,但只要是说明的,必须和硬件匹配,也就是只要说明的存储区必须是存在的和可使用的。

3.内存映射(map)文件的作用:

一般的,我们设计、开发的DSP程序在调试好后,要固化到系统的ROM 中,为了更精确的使用ROM空间,我们就需要知道程序的大小和位置,通过建立目标程序的map文件可以了解DSP代码的确切信息。当需要更改程序和数据的大小和位置时,就要适当修改才cmd文件和源程序,再重新生成map文件来观察结果。另外,通过观察map文件,可以掌握DSP存储器的使用和利用情况,以便进行存储器方面的优化工作。

四、实验步骤

1.设置CCS通过仿真器连接开发板硬件环境进行软件调试和开发:

(1)双击桌面上图标“Code Composer Studio Setup ”,进入CCS设置窗口,如图一所示。

(2)在中间系统可用配置驱动中选择“F2407 XD510 Emulator”双击或右键加

入系统。

图一 CCS 设置窗口

(3)在系统当前配置中右击“F2407 XD510 Emulator ”选择属性,按图二所示

配置仿真器驱动,下一步直到完成。

图二 仿真器驱动设置

(4)在系统当前配置中右击“CPU_1”选择属性,配置GEL 文件。(默认选择f2407A.gel 即可)

(5)选择“保存和退出”,系统提示“是否在退出后启动CCS ?” (6)单击“否”,完成系统的配置工作。如图三所示

系统当前驱动配置

系统可用驱动配置

驱动配置详细信息

图三退出CCS设置界面

2.初始化仿真器。双击打开桌面文件夹“TDS510USB2EMULATOR”,打开“TDS510USB_reset.bat”初始化仿真器,按任意键退出。(如果是第一次使用仿真器,则需先运行“TDS510USB_probe.bat”在运行“TDS510USB_reset.bat”以初始化。)

3双击桌面上图标“Code Composer Studio ”进入CCS 3.3编译环境,点击“debug->connect”,连接目标板。(如果不能正常进入CCS,则断电仿真器,初始化,重复此步骤。)

4建立新的工程文件:

图二新建工程

选择菜单中“Project>New”(项目>新建),弹出图二所示对话框。依次输

入工程名、存储路径、输出文件格式(选择可执行的.OUT)、目标板芯片

(TMS320C24XX)。点击确定即可。

注:工程文件名不支持中文,存储路径也不支持中文。

2.设置工程文件:

“Project>Build Options”,此处可以修改编译、连接属性。

3.编辑输入源程序:

(1)选择菜单命令“File>New>Source File”(文件>新建>源文件)时,工作区内会出现一个如图三所示的文本编辑窗口,作为创建源文件的编辑窗口,它的标题栏中显示“Untitled1”,表示源文件尚未命名。

图三文本编辑窗口

在图三中,若欲为即将输入的源文件预先命名,那就选用菜单命令“File>Save As”(文件>另存为),随即会出现一个如图四所示的文件“保存为”对话框。

图四另存为对话框

在图四中所示的“文件名”条形框内输入文件名“Frist”,并且它的存放目录与工程文件存放目录确保一致。保存类型选择“.C”然后点击“保存”按钮,对话框消失,文本编辑窗口的标题栏中换成了刚定义的文件名“Frist”并将以扩展名“.C”保存。

在Frist.C中输入下述程序:

int x=1,y=2,z;

main()

{

while(1)

{

z=x+y;

}

}

(2)如同第(1)步操作,建立空的程序窗口。

输入连接命令文件内容,并以.CMD格式保存到工程文件夹中。

-stack 160

-o ex.out

-m ex.map

/*Main.obj Define.obj */

-l rts2xx.lib

MEMORY

{

PAGE 0: VECS: origin = 0x8000, length 0x040

PAGE 0: PROG: origin = 0x8860, length 0x6000

PAGE 1: B0 : origin = 0x200, length 0x100

PAGE 1: B1 : origin = 0x300, length 0x100

PAGE 1: DATA: origin = 0x0860, length 0x0780

}

SECTIONS

{

.vectors : {} >VECS PAGE 0 /* 中断向量表*/

.text : {} >PROG PAGE 0 /* 可执行代码和字符串*/

.cinit : {} >PROG PAGE 0

.data : {} >DATA PAGE 1 /* 初始化变量和常数表*/

.bss : {} >DATA PAGE 1 /* 保留全局变量和静态变量空间*/

.const : {} >DATA PAGE 1 /* 字符串和switch表*/

.switch : {} >PROG PAGE 0 /* 包含.switch语句建立的表格*/

.stack : {} >DATA PAGE 1 /* 为系统堆栈分配存储器*/

.system : {} >DATA PAGE 1 /* 为动态存储器函数分配存储器空间*/

}

4.把源文件加载到工程文件中:

点击源文件文件夹>右键>加载源文件

6.编译源文件、下载可执行程序:

(1)单击菜单:“Project>Rebuild All”生成可执行的.OUT文件。

(2)执行“File->Load Program”、指定COFF文件路径(生成的.OUT文件路径,新建工程文件中),点击下载。点击“Debug->Run”(F5)即可以运行程序。(3)在源程序中双击变量名,再单击鼠标右键,选择“Add to Watch Window”,则可以观看x,y,z的值的变化。(也可以在菜单中“Memory”中“Address”项中输入&x,单击“OK”完成设置,窗口中X的当前取值显示在第一个地址之后。

五、程序流程图

六、实验结果

通过实验可以发现,CMD文件可以安排程序和数据在DSP内存资源中的分配和位置,MAP文件中描述了程序和数据所占用的实际尺寸和地址。

C语言编制的程序,在经过编译器编译后,需要连接若干C标准程序辅助运行,以下是运行流程:

1.程序入口为_C_int00,执行标准C库中的程序,负责初始化C环境。

2.程序最终转到用户编制的主函数运行、

3.程序在主函数中的无限循环中持续运行。

七、提高部分

π+的值。

请修改程序完成计算())

sinπ

cos(

7.1

3.2

实验二:按键与走马灯程序实验

一、实验目的

1.熟悉基本的TMS320LF240X系列的汇编语言。

2.了解实验开发系统的基本I/O硬件电路的控制方法。

3.进一步熟悉设计并调试程序的基本方法。

二、实验设备

PC兼容机一台,操作系统为Windows2000(或Windows98,Windows XP,以下默认为Windows2000),CCS3.3软件,TMS320LF2407 DSP实验开发板和仿真器。

三、实验原理

输入/输出端口(简称I/O口)是DSP芯片内部电路与外部世界交换信息的通道。输入端口负责从外界接收检测信号、键盘信号等各种开关量信号;输出端口负责向外界输送由内部电路产生的处理结果、显示信息、控制命令、驱动信号等。本实验利用TMS320LF2407芯片做基本的I/O控制接口。

所有的I/O和复用引脚的功能可通过9个16为控制寄存器来设置。寄存器可以分两类:(1)I/O口复用控制寄存器(MCRx):用来控制选择I/O引脚作为特殊功能还是一般I/O 引脚功能。

(2)数据和方向控制寄存器(PxDATDIR):当引脚作为普通I/O口时,利用该寄存器控制数据方向。

四、实验步骤

1.设置CCS,并启动软件:见实验一。

2.打开工程文件:

“Project>Open>.../ex3_LED>EX.pjt”浏览main.c文件的内容,理解各语句的作用。

3.编译并下载程序:见实验一。

4.运行程序并观察结果:

5.退出CCS。

五、程序流程图

开始

系统初始化

设置IOPB0~6为I/O模式

定时器初始化

按键

图程序流程图

六、实验硬件原理图

图硬件原理图

七、实验结果

最边上一个LED不断的闪烁(这个LED在后面其他的程序中都被定义成在定时器中断中闪烁),其余的4个LED均处于熄灭状态。

现在将按键轻按一下,只有LED1闪烁;

按二下,只有LED2闪烁;

按三下,只有LED3闪烁;

按四下,只有LED4闪烁;

按五下,四个LED循环依次闪烁。

若再按键,则如此反复循环。

八、提高部分

请修改程序实现:

(1)按一下,只有LED1闪烁;按二下,LED1和LED2闪烁;按三下,LED1、LED2和LED3闪烁;按四下,LED1、LED2、LED3和LED4闪烁;按五下,实现“追灯”操作。若再按键,则如此反复循环。

(2)以中断的方式实现按键操作。

实验三:SCI串口通讯实验

一、实验目的

1.了解DSP与PC机之间串行异步通信接口的应用。

2.了解串行通信的设置,以便正确实现与PC机(上位机)的通信。

3.通过实验了解串行数据的接收及传送。

二、实验设备

PC兼容机一台,操作系统为Windows2000(或Windows98,Windows XP,以下默认为Windows2000),CCS3.3软件,TMS320LF2407 DSP实验开发板和仿真器。

三、实验原理

计算机与外界所进行的信息交换经常被人们称为数据通信(简称通信)。通信的基本方式又可分为并行通信和串行通信两种。串行通信的实现,在制式、种类、形式、规范、标准、编码、检错、纠错、帧结构、组网方式、调制方式、主要用途等许多方面,存在着多种类型、变化、选择和解决方案,其中之一有美国电子工业协会推荐标准RS-232,它是用来实现与串行通信功能相关的技术和规范。

RS-232接口采用25针的链接器DB-25或9针链接器DB-9,其每一条插针的信号功能都是标准的,对于各种信号的电平规定也是标准的,因而便于各种数字设备之间的兼容和互相链接。其基本的信号定义如表8.1所列。

表8.1 RS-232接口的信号定义

DB-25脚位DB-9脚

信号名

方向含义

2 3 4 5 6 7 8 20 22 1 3

2

7

8

6

5

1

4

9

TXD

RXD

RTS

CTS

DSR

SG

DCD

DTR

RI

输出

输入

输出

输入

输入

输入

输出

输入

数据发送端

数据接收端

请求发送(计算机要求发送数据)

清除发送(MODEM准备接收数

据)

数据设备准备就绪

信号地

数据载波检测

数据终端准备就绪(计算机)

响铃指示

保护地

大多数的电脑设备都具有RS-232接口,尽管它的性能指标并非很好,但其在广泛的市场支持下依然常胜不衰。就使用而言,RS-232也确实有其优势:仅需3根线(TXD、RXD和SG)便可在两个数字设备之间全双工的传送数据。

TMS320LF2407内部集成SCI模块。SCI模块采用的是一种在标准规范基础上简化了的、无握手信号的、二线式的串行通信方式,使得占用芯片引脚资源的数量降低到最低限度。

TMS320LF2407的SCI具有异步和同步通信能力,其异步通信能力主要用于与其它计算机系统或DSP系统进行远程通信,而同步通信能力则主要用于本DSP 电路系统之内的片外器件串行扩展。

SCI可以定义三种工作方式:全双工异步方式、半双工同步主控方式和半双

工同步从动方式。在DSP 应用项目的开发过程中,如何利用更少的DSP 引脚实现更多信息吞吐?如何利用更简练的电路和更廉价的器件实现更丰富功能?始终是我们孜孜以求的努力目标。为此,本实验利用PC 机的超级终端程序,经过异步串行通讯端口COM 与TMS320LF2407芯片的串行通信模块接口,进行双向异步通信的实验。本例的应用方案将会对同学们有一定的启发和实用价值。 四、实验步骤

1.采用标准DB9串口直连线将PC 串口和目标板串口相连。打开PC 上的串口调试软件“sscom3

2.exe ”。默认COM1,9600N,8,1。选择按16进制接收和发送。 2设置CCS ,并启动软件:见实验一。 3打开工程文件:

“Project>Open>.../ex4_SCI>EX.pjt ”浏览main.c 文件的内容,理解各语句的作用。

4编译并下载程序:见实验一。 5运行程序并观察结果: 6.退出CCS 。

五、实验硬件原理图

六、程序流程图

SCITXD/IOPA025SCIRXD/IOPA1

26

U1

TMS320LF2407

C1

+5V

C1+1C1-3C2+4C2-5T1IO 13T1OO 14T2OO

7

T2IO 8T2I 10T2O

9

T1O 13T1I 11

GND 15C4+6C3+2VCC 16U2

MAX232C2

C3

C4

+5V D1

1

62738495J1

RS-232R2

R3

R1

图 TMS320LF2407与MAX232接口电路

开始

系统初始化

设置引脚功能

SCI初始化

定时器初始化

开中断

循环

七、实验结果

在串口调试助手中马上可以看到上部的接收显示区不断接收到数据57(为16进制)。在串口助手的下部的发送区填入56,选中自动发送,数据即可通过串口发送到目标板。

打开View->Watch window,在下面弹出的Watch区域中填入SCI_RXDATA,x 即可按十六进制方式显示变量SCI_RXDATA的值。如果正常,应可以看到该变量的值为0x56。如果是十进制则因为86。

八、提高部分

修改程序实现在串口调试助手中发送部分发送“DSP2407”,在串口接收部分接收到你发送的“DSP2407”。

实验四:PWM 电机控制实验

一、实验目的

1.学习使用C 语言编制中断程序,产生不同占空比的PWM 信号。

2.熟悉2000系列事件管理模块。

3.学会直流电机的控制原理和控制方法。 二、实验设备

PC 兼容机一台,操作系统为Windows2000(或Windows98,Windows XP ,以下默认为Windows2000),CCS3.3软件,TMS320LF2407 DSP 实验开发板和仿真器。

三、实验原理

1. 每个240X 器件都包含两个事件管理模块EV A 和EVB ,每个时间管理器模块包括通用定时器、比较单元、捕获单元,以及正交编码脉冲电路。

2. 直流电机控制:

直流电动机是最早出现的电动机,也是最早能实现调速的电动机。近年来,直流电动机的结构和控制方法都发生了很大的变化。随着计算机进入控制领域,以及新型的电力电子功率元器件的不断出现,使采用全控型的开关功率元件进行脉宽调制(PWM )控制方式已成为绝对主流。

PWM 调压调速原理

直流电动机转速n 的表达式为:φ

K IR

U n -=

其中,U 为电枢端电压;I 为电枢电流;R 为电枢电路总电阻;φ为每级磁通量;K 为电动机结构参数。

所以直流电机的转速控制方法可分为两类:对励磁通进行控制的励磁控制法和对电枢电压进行控制的电枢控制法。其中励磁控制法在低速时受磁极饱和的限制,在高速时受换向火花和换向器结构强度的限制,并且励磁线圈电感较大,动态响应较差,所以这种控制方法用得很少。现在,大多数应用场合都使用电枢控制法。绝大多数电流电机采用开关驱动方法。开关驱动方式是使半导体功率器件工作在开关状态,通过脉宽调制PWM 来控制电动机电枢电压,实现调速。 四、实验步骤

1.设置CCS ,并启动软件:见实验一。

2.打开工程文件:

“Project>Open>.../ex8_PWM>EX.pjt ”浏览main.c 文件的内容,理解各语句的作用。

3.编译并下载程序:见实验一。

4.在6J1口连接直流电机,通电,连接目标板。

5.运行程序并观察结果:

6.退出CCS 。

五实验硬件原理图

六、程序流程图

开始

系统初始化

设置引脚功能

设置XPWM

PWM初始化

开中断

循环

七、实验结果

可以看到电机开始转动。本例程中PWM的频率是1KHZ,输出的是两路带死区的PWM波形对。用户只需要改变参数XPWM即可改变电机的转速和方向。

该参数设置如下:

XPWM=2400,最大值2500;

当XPWM=0~900时,逆时针方向旋转,值越小,转速越快。

当XPWM=1600~2500时,顺时针方向旋转,值越大,转速越快。

当XPWM=900~1600时,电机两端电压太低,基本上不足以起转。

八、提高部分

修改程序实现:

(1)电机的慢启动和制动。(启动时,随时间给定的PWM值慢慢增加,制动时,随时间给定的PWM值慢慢变小,适当的延迟)。

(2)连接实验箱的蜂鸣器,通过改变PWM的频率让蜂鸣器发出不同频率的声音,甚至播放音乐。

相关文档