五邑大学-TMS320VC5402定时器实验(DSP报告作业-)

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

五邑大学实验报告

实验课程名称:

院系名称:信息工程学院

专业名称:电子信息工程

实验项目名称:1、 TMS320VC5402定时器实验

2、基于DSPLib的FFT程序设计

3、基于DSPLib的滤波器程序设计

班级:学号:

报告人:

一、TMS320VC5402定时器实验

一实验目的

1. 了解DSP汇编程序与C语言程序的构成;

2. 了解DSP程序各段的含义;

3. 熟悉如何编写中断服务程序;

4. 掌握片内定时器的设置方法;

5. 掌握长时间间隔的定时器的处理

二实验内容

1. DSP的初始设置;

2. DSP中断向量表的建立;

3. 定时器的使用;

设实验板时钟频率为20MHz,编程实现以下要求:

1、TMS320C5402的时钟频率为100 MHz

2、TMS320C5402XF端输出一个周期为500ms的方波,周期性地点亮LED

3、采用定时中断方法实现

4、用C语言编程,画出程序流程图并给出源代码。

5、上机调试。

三实验背景知识

1 通用TIMER 简介

TMS320VC5402 的定时器的说明:

VC5416 中有两个可编程的片上定时器,总共包含有三个可由用户设置的寄存器,并可以申请主机的中断。这三个寄存器分别为TIM、PRD、TCR。这些寄存器与对应的存贮空间地址如下表所示:

时间寄存器(TIM)是一个16 位的存贮器映射寄存器,它的值由周期寄存器来进行装载,并且做减一操作。

周期寄存器(PRD)是一个16 位的存贮器映射寄存器,它是用来重装时间寄存器(TIM)寄存器的值的。

定时器控制寄存器(TCR)是一个16 位的存贮器映射寄存器,包含了定时器的控制与状态信息。

2、CMD 文件简介

cmd 文件用于DSP 代码的定位。由3 部分组成:

1、(1)输入/输出定义:

.obj 文件:链接器要链接的目标文件。

.lib 文件:链接器要链接的库文件。

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

.out 文件:链接器生成的可执行代码;链接器选项。

(2) MEMORY 命令:描述系统实际的硬件资源。

(3.) SECTIONS 命令:描述"段"如何定位。

下面例子则可说明其基本格式:

-o (可缺省)

-m (可缺省)

-stack 100 (可缺省)

(可缺省)

-l (可缺省)

MEMORY {

PAGE 0:

RESEVE: org = 00h len = 0x80

PAGE 0:

PROG1: org = 0x0100 len = 0x1200

PAGE 0:

VECT: org = 0x0080, len = 0x80

PAGE 1:

RESEVE1: org = 00h len = 0x1300

PAGE 1:

DARAM2: org = 0x1300 len = 0x400

PAGE 1:

DARAM1: org = 0x1700 len = 0x2900

}

SECTIONS{

.text : > PROG1 PAGE 0

.cinit : > PROG1 PAGE 0

.switch: > PROG1 PAGE 0

.vectors:> VECT PAGE 0

.const: > DARAM1 PAGE 1

.bss : > DARAM1 PAGE 1

.stack : > DARAM2 PAGE 1

.system: > DARAM2 PAGE 1

.data : > DARAM2 PAGE 1

}

下面介绍一下CMD 文件中常用的程序段名与含义

.cinit 存放C 程序中的已初始化的变量初值和常数表;

.const 存放C 程序中的字符常量和用const 声明的常量;

.text 存放C 程序的代码;

.bss 为C 程序中的未初始化的全局和静态变量保留存储空间;

.far 为C 程序中用far 声明的全局和静态变量保留空间;

.stack 为C 程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果;

.sysmem 用于C 程序中malloc、calloc 和realloc 函数动态分配存储空间

.vectors 用于自定义的“.vectors”段,这里是中断向量表

.switch 用于C程序中的switch语句

.data 已初始化的数据段

3 中断向量表文件

中断服务程序的地址(中断向量)要装载到存储器的合适区域。一般用中断向量表文件编制中断向量表,中断向量表文件多采用汇编语言编写;在文件中一般用汇编指令.sect 来生成一个表,表中各中断占4个字。这个表包含中断向量的地址和跳转指令。因为中断跳转地址的标志符在汇编语言模块外部使用,所以

标志符用.ref 或.global定义。

4、GEL文件

GEL文件有两大作用:(1)配置CCS工作环境。(2)直接访问目标处理器(包括软硬件访真器),在这是主要使用GEL文件的初始化DSP。以下面的例子介绍一下GEL 文件的构成

#define PRD0 0x0025u

#define TCR0 0x0026u

#define PRD1 0x0031u

#define TCR1 0x0032u

StartUp()

{

GEL_MapOn(); /*存储空间打开*/

GEL_MapReset(); /*存储空间复位*/

GEL_MapAdd(0x80u,0,0x3F80u,1,1); /* 定义程序空间0x80-0x3FFF 可读写*/

GEL_MapAdd(0x4000u,0,0xC000u,1,1);/* 定义程序空间0x4000-0xFFFF 可读写 */

/* 定义数据空间0-0xFFFF 可读写 */

GEL_MapAdd(0x0u,1,0x60u,1,1); /* MMRs */

GEL_MapAdd(0x60u,1,0x3FA0u,1,1); /* DARAM */

GEL_MapAdd(0x4000u,1,0xC000u,1,1); /* External */

}

实验流程图:

相关文档
最新文档