- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 定时器及硬件中断; TMS320VC5509 DSP有两个独立的20 bit软件可编程通用减数计数定时器,它们可用于向CPU提供周期性的中断信号,或给DMA控制器发送周期同步事件,也可以用于给外部设备提供周期信号,还可以用于外部事件计数。20 bit的通用定时器是减数计数器,它由两部分组成:4位预分频计数器(PSC)和16位主计数器(TIM)。定时器结构框图如图4-1所示。; ; 预分频计数器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-1 定时器控制寄存器TCR说明;;;;; 定时器引脚功能模式合法转换如图4-3所示,FUNC位的某些改变会产生一个错误并反映在ERRTIM位,例如:从FUNC = 01b转换到FUNC = 00b或11b;从FUNC = 10b转换到FUNC = 00b或11b,以及从FUNC = 11b转换到任意值,这几种情况都会产生一个错误,使ERRTIM位置1。当ERRTIM = 1时,复位DSP并重新初始化定时器。更多信息请参阅参考文献[4][5]。;; 定时器初始化步骤如下: (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.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所示。;; (2) 单步运行程序,观察CPU寄存器和定时器寄存器变化。 (3) 在定时器中断服务程序处设置断点,在主菜单中选择Project→Animate或按图标 动画运行程序。;4.2.5 参考程序清单 1. 定时器汇编源程序 .mmregs .def _c_int00 .ref sdram_init ;引用外部变量,SDRAM初始化子程序入口 led .set 400001h ;led数据地址 tim0 .set 0x1000 ;定时器寄存器TIM0;prd0 .set 0x1001 ;定时器周期寄存器PRD0 tcr
原创力文档


文档评论(0)