- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DSP原理及应用实验报告
成绩 指导老师 日期
李兴春 2014/6/26
五 邑 大 学 实 验 报 告
实验课程名称: DSP原理及应用
院系名称: 信息工程学院
专业名称: 电子信息工程
实验项目名称:1、 TMS320VC5402定时器实验
2、基于DSPLib的FFT程序设计
班级: 130718 学号:
报告人: 刘万里
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)、输入/输出定义:
.obj 文件:链接器要链接的目标文件。
.lib 文件:链接器要链接的库文件。
.map 文件:链接器生成的交叉索引文件。
.out 文件:链接器生成的可执行代码;链接器选项。
(2)、MEMORY 命令:描述系统实际的硬件资源。
(3)、SECTIONS 命令:描述段如何定位。
3、中断向量表文件
中断服务程序的地址(中断向量)要装载到存储器的合适区域。一般用中断向量表文件编制中断向量表,中断向量表文件多采用汇编语言编写;在文件中一般用汇编指令.sect 来生成一个表,表中各中断占4个字。这个表包含中断向量的地址和跳转指令。因为中断跳转地址的标志符在汇编语言模块外部使用,所以标志符用.ref 或.global定义。
4、GEL文件
GEL文件有两大作用:(1)配置CCS工作环境。(2)直接访问目标处理器(包括软硬件访真器),在这是主要使用GEL文件的初始化DSP。以下面的例子介绍一下GEL 文件的构成。
程序流程图和源程序代码
程序流程图如下:
源程序代码如下:
#include timer.h //将定时器的寄存器定义包含进来
int t0_count;
void main()
{
/**********因为改变PLL的倍频系数前,必须先设置为分频*************/
*CLKMD=0x0000; //PLL的分频方式
while(*CLKMD0x0001); //等待PLL的分频方式设置成功
/***************************************************************/
*CLKMD=0x47ff; //设置PLL为倍频方式,并设置倍频系数为5,即5*20MHz=100MHz
*PMST=0x00a0; //中断向量指针为0x01,工作在微计算机方式(允许使能并寻址片内ROM),使能CLKOUT时钟
t0_count=250;
*ST1=*ST1|0x0800; //INTM=1,即关闭所有可屏蔽中断
*TCR=0x0010; //停止定时器,方便对定时器进行配置
*PRD=9999; //定时器的周期
*TIM=9999; //定时器的初始值
*TCR=0x669; //定时周期=CLKOUT*(TDDR+1)*(PRD+1)=(1/100M)*(9+1)*10000=1ms
*IFR=8; //清除定
您可能关注的文档
- dek印刷机调机教材.pdf
- DelphiAPP开发入门(六)ObjectPascal语法初探.pdf
- delphi的数学单元.doc
- Delphi安装卸载OCX控件的方法.doc
- Density Matrix Methods for Semiconductor Coulomb Dynamics.pdf
- Department of Economics, University of Warwick,.pdf
- Department of Applied Economics and Statistics.pdf
- DependencyBased Automatic Evaluation for Machine Translation.pdf
- Department of Economics,.pdf
- Design a Secure and Practical Metering Scheme.pdf
文档评论(0)