DSP实验报告
Digital Signal Processing Experimental Report
实验一:TMS320VC5402定时器实验
实验二:DSP 基于DSPLib的FFT程序设计
实验三:DSP 基于DSPLib的滤波器程序设
指导老师:
班级:140703
姓名:
学号:
2016年5月
TMS320VC5402定时器实验
一实验目的
了解DSP汇编程序与C语言程序的构成;
了解DSP程序各段的含义;
熟悉如何编写中断服务程序;
掌握片内定时器的设置方法;
5. 掌握长时间间隔的定时器的处理
二实验内容
DSP的初始设置;
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 文件:链接器生成的可执行代码;链接器选项。
MEMORY 命令:描述系统实际的硬件资源。
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程序中的swi
DSP实验 来自淘豆网m.daumloan.com转载请标明出处.