ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:234KB ,
资源ID:9848048      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9848048.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DSP实验.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

DSP实验.docx

1、DSP实验DSP原理与应用实验报告 实验名称: 定时器实验 实验时间: 第十二周星期日5-6节 实验地点: YF107 姓 名: 白 瑶 学 号: 08500511 班 级: 0120808班 指导教师: 代少升 陈昌川 重庆邮电大学通信与信息工程学院电子信息工程DSP原理与应用一、 实验目的:1. 通过实验熟悉VC5509A的定时器; 2. 掌握VC5509A定时器的控制方法; 3. 掌握 VC5509A 的中断结构和对中断的处理流程; 4. 学会 C 语言中断程序设计,以及运用中断程序控制程序流程。二、 实验设备:计算机,ICETEK-VC5509-A 实验箱(或 ICETEK 仿真器+I

2、CETEK-VC5509-A实验箱(或 ICETEK 仿真器+ICETEK-VC5509系统板+相关连线及电源。三、 实验原理:1. 通用定时器介绍及其控制方法TMS320VC5509A 内部有两个 20 位通用定时器(GP):每个通用定时器包括:一个 16 位的减计数的计数器 TIM;一个 16 位的定时器周期寄存器 PRD;一个 16 位的定时器控制寄存器 TCR;一个 16 位的定时器预定标寄存器 PSCR;PSCR寄存器说明:2-10PSCR: 4 位的预定标值,与TIM 共同组成 20 位的定时计数器。TDDR: 预定标周期寄存器(在需要时重装入 PSC 的值)。TCR 寄存器说明。

3、2.中断响应过程外设事件要引起 CPU 中断,必须保证:IER 中相应使能位被使能,IFR 相应中断也被使能。在软件中,当设置好相应中断标志后,开中断,进入等待中断发生的状态;外设(如定时器)中断发生时,首先跳转到相应中断高级的服务程序中(如:定时器 1 会引起 TINT中断) ,程序在进行服务操作之后,应将本外设的中断标志位清除以便能继续中断,然后返回。3. 中断程序设计程序中应包含中断向量表,VC5509A默认向量表从程序区 0 地址开始存放,根据 IPVD 和IPVH 的值确定向量表的实际地址。 注意观察程序中 INTR_init()函数的定义部分,其中 IPVD 和 IPVH 的值都为

4、0x0d0;同时观察配置文件 ICETEKVC5509-AE.cmd 中的 VECT 段描述中 o=0x0d000。向量表中每项为 8 个字, 存放一个跳转指令, 跳转指令中的地址为相应服务程序入口地址。第一个向量表的首项为复位向量,即 CPU复位操作完成后自动进入执行的程序入口。服务程序在服务操作完成后,清除相应中断标志,返回,完成一次中断服务。4. 定时器中断实验程序流程图5.1 定时器结构框图5.2 时钟部分定时器的工作时钟可以来自DSP内部的CPU时钟,也可以来自从TIN/OUT管脚输入的外部时钟。具体时钟源的选择和TIN/TOUT脚的功能由控制寄存器TCR中的FUNC字段确定,如下图

5、所示:由表可见,C5509的定时器有4种工作模式:当FUNC=00时,TIN/TOUT为高阻态,时钟源为CUP时钟。该模式为复位后的缺省模式。当FUNC=01时,TIN/TOUT为定时器输出,时钟源为CPU时钟。此时,TIN/TOUT作为三个定时器事件中的一个,可以输出时钟信号或脉冲信号。当FUNC=10时,TIN/TOUT为通用输出,时钟源为CPU时钟。此时,TIN/TOUT作为通用输出(General Output),其电平有控制寄存器TCR中的DATOUT字段确定。当FUNC=11时,TIN/TOUT为时钟源输入,定时计数器将在其上升沿递减。5.3 计数器部分C5509定时器的计数器分为

6、两类,一类用于定时器工作,一类用于CUP设置定时长度。它的定时长度为20bit:4bit的预定标器和16bit的主计数器。其中,4bit的预定标值由预定寄存器PRSC中的TDDR定义;16bit主计数器的值由定时周期寄存器PRD定义。相关寄存器的格式如下表所示:定时器主计数寄存器TIM假定定时器的工作时钟周期为clockin,则定时长度T可用下式计算: T=clockin*(PRD+1)*(TDDR+1)预定标寄存器PRSC定时器周期寄存器PRD定时控制寄存器TCR定时器配置C程序流程:5.4 实验程序分析 本实验设计的程序是在上指示灯实验基础上修改得来,由于指示灯实验 控制指示灯闪烁的延时控

7、制是用循环计算方法得到的,延时不精确也不均匀,采用中断方式可以实现指示灯的定时闪烁,时间更加准确。实验程序的工程中包含了两种源代码,主程序采用 C 语言编制利于控制,中断向量表在 vector.asm汇编语言文件中,利于直观地控制存储区分配。在工程中只需将它们添加进来即可,编译系统会自动识别分别处理完成整合工作。 实验程序的 C 语言主程序中包含了内嵌汇编语句,提供一种在需要更直接控制 DSP 状态时的方法,同样的方法也能提高 C 语言部分程序的计算效率。四、 定时器实验步骤:1. 实验设备: 连接实验设备;关闭实验箱上扩展模块和信号源电源开关。 2. 设置Code Composer Stud

8、io 3.3在硬件方式下运行 3. 启动Code Composer Studio 3.3 4. 打开工程文件:打开菜单“Perject”的“Open”项 5. 编译下载程序 6. 运行程序,观察结果 7. 改变TIMER_init()函数里*prd0 = 0x0ffff 为 “=0x0fff ”;重复步骤5,6 观察实验现象 8. 退出CCS五、程序代码#include myapp.h/ 定义指示灯寄存器地址和寄存器类型#define LBDS (*(unsigned int *)0x400001)void INTR_init( void );void TIMER_init(void);int

9、 nCount;int flag_time;main() nCount=0; PLL_Init(40); SDRAM_init(); LBDS=0; INTR_init(); TIMER_init(); while ( 1 ) void interrupt Timer() nCount+; nCount%=16; if ( nCount=0 ) LBDS=1;void INTR_init( void ) IVPD=0xd0; /cpu将16bite的中断矢量指针与5bite的矢量序号级联一起1011 0000 00000 000 /然后左移3bite形成中断适量地址 IVPH=0xd0; IE

10、R0=0x10; DBIER0=0x10; IFR0=0xffff; asm( BCLR INTM);void TIMER_init(void) ioport unsigned int *tim0; ioport unsigned int *prd0; ioport unsigned int *tcr0; ioport unsigned int *prsc0; tim0 = (unsigned int *)0x1000; prd0 = (unsigned int *)0x1001; tcr0 = (unsigned int *)0x1002; prsc0 = (unsigned int *)0

11、x1003; / *tcr0 = 0x04f0; /定时器0控制寄存器,关闭定时器,自动重载打开,定时器拷贝打开 *tcr0 = 0x0Cf0; /定时器0控制寄存器,关闭定时器,自动重载打开,定时器拷贝打开 *tim0 = 0; /定时器0主计数器 *prd0 = 0x0ffff; /定时器0周期寄存器 *prsc0 = 2; /定时器0周期及计数寄存器 *tcr0 = 0x00e0; /定时器0控制寄存器,定时器启动 / *tcr0 = 0x08e0; /定时器0控制寄存器,定时器启动六、 实验结果:1、指示灯在定时器的定时中断中按照设计定时闪烁。2、使用定时器和中断服务程序可以完成许多需要定时完成的任务,比如 DSP 定时启动 A/D 转换,日常生活中的计时器计数、空调的定时启动和关闭等。3、在调试程序时,有时需要指示程序工作的状态,可以利用指示灯的闪烁来达到,指示灯灵活的闪烁方式可表达多种状态信息。七、实验心得通过本次实验,让我对DSP这门课程在应用软件上有了基本的操作知识,以及通过对定时器控制C语言编程的编写,已经基本掌握了定时器的基本原理以及中断基本原理,并能够很好的进行设计,达到对软硬件结合使用。

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

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