第4章 定时器及硬件中断(C55x DSP)

上传人:gu****n 文档编号:243138442 上传时间:2024-09-16 格式:PPT 页数:37 大小:1MB
返回 下载 相关 举报
第4章 定时器及硬件中断(C55x DSP)_第1页
第1页 / 共37页
第4章 定时器及硬件中断(C55x DSP)_第2页
第2页 / 共37页
第4章 定时器及硬件中断(C55x DSP)_第3页
第3页 / 共37页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,第,4,章 定时器及硬件中断,第,4,章 定时器及硬件中断,4.1,定时器硬件结构原理,4.2,定时器及硬件中断实验,TMS320VC5509 DSP,有两个独立的,20 bit,软件可编程通用减数计数定时器,它们可用于向,CPU,提供周期性的中断信号,或给,DMA,控制器发送周期同步事件,也可以用于给外部设备提供周期信号,还可以用于外部事件计数。,20 bit,的通用定时器是减数计数器,它由两部分组成:,4,位预分频计数器,(PSC),和,16,位主计数器,(TIM),。定时器结构框图如图,4-1,所示。,4.1,定时器硬件结构原理,图,4-1 TMS320 C5509 DSP,通用定时器结构框图,预分频计数器,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,实验目的,了解,C55x DSP,定时器结构。 学习,C5509,定时器初始化。了解,C55x DSP,中断。学习中断处理。,4.2,定时器及硬件中断实验,4.2.2,实验设备,PC,兼容机一台;操作系统为,Windows 2000(,或,WindowsNT,4.0,、,Windows 98,、,Windows XP),;计算机已经安装,CCS v3.1,集成环境软件。,DSP,仿真器,ICETEK-5100USB V2.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,.ref,sdram_init,;,引用外部变量,,SDRAM,初始化子程序入口,led,.set 400001h,;led,数据地址,tim0,.set 0x1000,;,定时器寄存器,TIM0,prd0,.set 0x1001,;,定时器周期寄存器,PRD0tcr0,.set 0x1002,;,定时器控制寄存器,TCR0prsc0,.set 0x1003,;,定时器预定标寄存器,sysr,.set 0x07fd,clkmd,.set 0x1c00,;,时钟模块寄存器地址,pdp_timer0 .set tim0/128STACK .,usect,.stack,200hSYSSTACK .,usect,.,sysstack,200h.data,led_i,.word 1,2,4,8,4,2,.sect “.vectors”,rsv,: ; reset vector,b _c_int00 ;branch to C entry point,NOP,.align 8,nmi,:,.loop 8,nop,.,endloop,int0:.loop 8,nop,.,endloop,int2:.loop 8,nop,.,endloop,tint0:b_Timer0,nop,.align 8.text,c_int00:,amov,#0,xdp,amov,#STACK+200h,xsp,amov,#SYSSTACK+200h,xssp;init,interupt,(,中断初始化,),bset,intm,;,禁止全局中断,mov,#1,ivpd;,初始化,DSP,中断矢量指针,ivpd,=1,mov,#1,ivph;,初始化,DSP,中断矢量指针,ivph,=1,mov,#10h,ier0,;,初始化中断屏蔽寄存器,ier0,,,tint0=1,mov,#10h,dbier0,;,调试中断使能寄存器,dbier0=10h,mov,#0,ier1,;,清中断使能寄存器,ier0,mov,#0ffffh,ifr0,;,清中断标志寄存器,ifr0,mov,#0ffffh,ifr1,;,清中断标志寄存器,ifr1call,sdram_init,;,调用初始化,SDRAM,子程序,;,定时器初始化,mov,#pdp_timer0,pdp,;,置外围,I/O,数据页指针,mov,#04f0h,port(tcr0),;*tcr0 = 0x04f0,mov,#0h,port(tim0),;*tim0 = 0,mov,#0ffffh,port(prd0),;*prd0 = 0x0ffff,mov,#15h,port(prsc0),;*prsc0 = 0x15=21,mov,#0e0h,port(tcr0);*tcr0 = 0x00e0,bclr,intm,;,全局中断使能,bset,AR3LC ;,置位,AR3LC,,,AR3,循环寻址,amov,#led,xar2;xar2,指向,led,mov,#6,bk03;,循环寻址长度为,6,amov,#led_i,xar3;,初始化,xar3,mov,#led_i,bsa23;,初始化,bsa23,,循环寻址首地址为,led_i,mov,#0,ar3,;,清,ar3loop:,NOP,b,loop;,等待中断,_Timer0:,mov,*,ar3+,*ar2;,定时器,Timer0,中 断服务程序,reti,;,中断返回,.end,2.,命令文件,-stack 200h,-,sysstack,200h,MEMORY,PAGE 0:,MMR : origin = 0000000h, length = 00000c0h,SPRAM : origin = 00000c0h, length = 0000040h,VECS :origin = 0000100h, length = 0000100h,DARAM0 : origin = 0000200h, length = 0001E00h,DARAM1 : origin = 0002000h, length = 0002000h,DARAM2 : origin = 0004000h, length = 0002000h,DARAM3 : origin = 0006000h, length = 0002000h,SECTIONS.vectors : VECS PAGE 0 .,bss,: DARAM0 PAGE 0 .stack: DARAM1 PAGE 0 .,sysstack,: DARAM1 PAGE 0 .text : DARAM2 PAGE 0 .data: DARAM3 PAGE 0,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!