第4章 定时器及硬件中断(C55x DSP)_第1页
第4章 定时器及硬件中断(C55x DSP)_第2页
第4章 定时器及硬件中断(C55x DSP)_第3页
第4章 定时器及硬件中断(C55x DSP)_第4页
第4章 定时器及硬件中断(C55x DSP)_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章定时器及硬件中断,4.1定时器硬件结构原理4.2定时器及硬件中断实验,TMS320VC5509DSP有两个独立的20bit软件可编程通用减数计数定时器,它们可用于向CPU提供周期性的中断信号,或给DMA控制器发送周期同步事件,也可以用于给外部设备提供周期信号,还可以用于外部事件计数。20bit的通用定时器是减数计数器,它由两部分组成:4位预分频计数器(PSC)和16位主计数器(TIM)。定时器结构框图如图4-1所示。,4.1定时器硬件结构原理,图4-1TMS320C5509DSP通用定时器结构框图,预分频计数器PSC由时钟驱动,这个时钟可以是内部CPU时钟或外部时钟(当FUNC=11b时使用外部时钟,从TIN/TOUT引脚输入,当FUNC为其他值时使用内部CPU时钟)。每输入一个时钟,PSC减1。,每当PSC减到0,主计数器TIM减1,每当TIM减到0,定时器给CPU发出一个中断请求TINT,同时又发送一个同步事件TEVT给DMA控制器,还可以产生一个输出到定时器引脚(如果FUNC=01b)。定时器输出速率为,式中4,预分频寄存器PRSC由预分频周期寄存器TDDR和预分频器PSC两部分组成,当定时器设定为自动装载模式时(ARB=1),预分频器PSC减到0,并再有一个输入时钟输入时,预分频器PSC从预分频周期寄存器TDDR重新装载数据。,周期寄存器PRD和计数器TIM都为16位寄存器。若定时器设定为自动装载模式(ARB=1),当计数器TIM减到0时,就会从PRD重新装载数据。定时器控制寄存器TCR如图4-2所示,使用它的特定位可以实现对定时器进行配置、启动、停止、装载和重新装载等,表4-1是对定时器控制寄存器TCR的每位进行说明。,图4-2定时器控制寄存器TCR,表4-1定时器控制寄存器TCR说明,定时器引脚功能模式合法转换如图4-3所示,FUNC位的某些改变会产生一个错误并反映在ERRTIM位,例如:从FUNC=01b转换到FUNC=00b或11b;从FUNC=10b转换到FUNC=00b或11b,以及从FUNC=11b转换到任意值,这几种情况都会产生一个错误,使ERRTIM位置1。当ERRTIM=1时,复位DSP并重新初始化定时器。更多信息请参阅参考文献45。,图4-3引脚功能模式合法转换图,定时器初始化步骤如下:(1)停止定时器(TSS=1),定时器装载使能(TLB=1),定时器控制寄存器TCR的其他位设置成对应数值。(2)装载预分频计数周期寄存器PRSC。(3)装载主周期寄存器PRD。(4)关闭定时器装载(TLB=0),启动定时器(TSS=0)。,4.2.1实验目的了解C55xDSP定时器结构。学习C5509定时器初始化。了解C55xDSP中断。学习中断处理。,4.2定时器及硬件中断实验,4.2.2实验设备PC兼容机一台;操作系统为Windows2000(或WindowsNT4.0、Windows98、WindowsXP);计算机已经安装CCSv3.1集成环境软件。DSP仿真器ICETEK-5100USBV2.0A一个;DSP目标板ICETEK-VC5509-A一块。,4.2.3实验要求使用CCS集成仿真环境,完成建立工程、源文件、命令文件,保存和添加文件到工程,进行编译、链接、运行和调试等操作。使用观察窗口观察寄存器和存储器空间的内容等。,4.2.4实验步骤1.实验准备参照第2章(若使用的仿真器不同,请参照其他相关资料)对CCS硬件仿真进行设置;在断电情况下将仿真器和目标板相连,再将仿真器和计算机相连,给目标板接通电源,启动CCS。,2.新建立工程新建工程文件、两个汇编源文件和一个命令文件(文件名请读者自己命名),在其中一个汇编源文件中输入本章4.2.5小节程序清单参考中的定时器汇编源程序,在另一个汇编源文件中输入第2章中2.2.5小节中的SDRAM初始化程序,在命令文件中输入本章4.2.5小节命令文件的内容。保存之后把这些文件添加到工程。,3.编译工程在编译和链接工程文件过程中,如果有错误则先修改错误,直到无错误提示为止。编译成功后,装载可执行的输出文件。详细情况请参见第1章1.2.6小节。4.观察定时器寄存器窗口(1)打开CPU寄存器视窗,再打开定时器寄存器视窗,如图4-4所示。,图4-4定时器寄存器观察窗口,(2)单步运行程序,观察CPU寄存器和定时器寄存器变化。(3)在定时器中断服务程序处设置断点,在主菜单中选择ProjectAnimate或按图标动画运行程序。,4.2.5参考程序清单1.定时器汇编源程序.mmregs.def_c_int00.refsdram_init;引用外部变量,SDRAM初始化子程序入口led.set400001h;led数据地址tim0.set0 x1000;定时器寄存器TIM0,prd0.set0 x1001;定时器周期寄存器PRD0tcr0.set0 x1002;定时器控制寄存器TCR0prsc0.set0 x1003;定时器预定标寄存器sysr.set0 x07fdclkmd.set0 x1c00;时钟模块寄存器地址pdp_timer0.settim0/128STACK.usect.stack,200hSYSSTACK.usect.sysstack,200h.data,led_i.word1,2,4,8,4,2.sect“.vectors”rsv:;resetvectorb_c_int00;branchtoCentrypointNOP.align8nmi:.loop8nop.endloop,int0:.loop8nop.endloopint2:.loop8nop.endlooptint0:b_Timer0nop.align8.text,c_int00:amov#0,xdpamov#STACK+200h,xspamov#SYSSTACK+200h,xssp;initinterupt(中断初始化)bsetintm;禁止全局中断mov#1,ivpd;初始化DSP中断矢量指针ivpd=1mov#1,ivph;初始化DSP中断矢量指针ivph=1,mov#10h,ier0;初始化中断屏蔽寄存器ier0,tint0=1mov#10h,dbier0;调试中断使能寄存器dbier0=10hmov#0,ier1;清中断使能寄存器ier0mov#0ffffh,ifr0;清中断标志寄存器ifr0mov#0ffffh,ifr1;清中断标志寄存器ifr1callsdram_init;调用初始化SDRAM子程序,;定时器初始化mov#pdp_timer0,pdp;置外围I/O数据页指针mov#04f0h,port(tcr0);*tcr0=0 x04f0mov#0h,port(tim0);*tim0=0mov#0ffffh,port(prd0);*prd0=0 x0ffffmov#15h,port(prsc0);*prsc0=0 x15=21,mov#0e0h,port(tcr0);*tcr0=0 x00e0bclrintm;全局中断使能bsetAR3LC;置位AR3LC,AR3循环寻址amov#led,xar2;xar2指向ledmov#6,bk03;循环寻址长度为6amov#led_i,xar3;初始化xar3mov#led_i,bsa23;初始化bsa23,循环寻址首地址为led_i,mov#0,ar3;清ar3loop:NOPbloop;等待中断_Timer0:mov*ar3+,*ar2;定时器Timer0中断服务程序reti;中断返回.end,2.命令文件-stack200h-sysstack200hMEMORYPAGE0:,MMR:origin=0000000h,length=00000c0hSPRAM:origin=00000c0h,length=0000040hVECS:origin=0000100h,length=0000100hDARAM0:origin=0000200h,length=0001E00hDARAM1:origin=0002000h,length=0002000hDARAM2:origin=0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论