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

上传人:资****亨 文档编号:133873628 上传时间:2020-05-31 格式:PPT 页数:37 大小:635.50KB
返回 下载 相关 举报
第4章 定时器及硬件中断(C55x DSP)_第1页
第1页 / 共37页
第4章 定时器及硬件中断(C55x DSP)_第2页
第2页 / 共37页
第4章 定时器及硬件中断(C55x DSP)_第3页
第3页 / 共37页
第4章 定时器及硬件中断(C55x DSP)_第4页
第4页 / 共37页
第4章 定时器及硬件中断(C55x DSP)_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《第4章 定时器及硬件中断(C55x DSP)》由会员分享,可在线阅读,更多相关《第4章 定时器及硬件中断(C55x DSP)(37页珍藏版)》请在金锄头文库上搜索。

1、第4章定时器及硬件中断 4 1定时器硬件结构原理4 2定时器及硬件中断实验 TMS320VC5509DSP有两个独立的20bit软件可编程通用减数计数定时器 它们可用于向CPU提供周期性的中断信号 或给DMA控制器发送周期同步事件 也可以用于给外部设备提供周期信号 还可以用于外部事件计数 20bit的通用定时器是减数计数器 它由两部分组成 4位预分频计数器 PSC 和16位主计数器 TIM 定时器结构框图如图4 1所示 4 1定时器硬件结构原理 图4 1TMS320C5509DSP通用定时器结构框图 预分频计数器PSC由时钟驱动 这个时钟可以是内部CPU时钟或外部时钟 当FUNC 11b时使用

2、外部时钟 从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位寄存器 若定

3、时器设定为自动装载模式 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位置

4、1 当ERRTIM 1时 复位DSP并重新初始化定时器 更多信息请参阅参考文献 4 5 图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 或WindowsNT

5、4 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 新建立工程新建工程文件 两个汇编

6、源文件和一个命令文件 文件名请读者自己命名 在其中一个汇编源文件中输入本章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寄存器和定时器寄存器变

7、化 3 在定时器中断服务程序处设置断点 在主菜单中选择Project Animate或按图标动画运行程序 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 时钟模块寄存器地址

8、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 xspamo

9、v 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

10、 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 bsa2

11、3 初始化bsa23 循环寻址首地址为led i mov 0 ar3 清ar3loop NOPbloop 等待中断 Timer0 mov ar3 ar2 定时器Timer0中断服务程序reti 中断返回 end 2 命令文件 stack200h sysstack200hMEMORY PAGE0 MMR origin 0000000h length 00000c0hSPRAM origin 00000c0h length 0000040hVECS origin 0000100h length 0000100hDARAM0 origin 0000200h length 0001E00hDARAM1 origin 0002000h length 0002000hDARAM2 origin 0004000h length 0002000hDARAM3 origin 0006000h length 0002000h SECTIONS vectors VECSPAGE0 bss DARAM0PAGE0 stack DARAM1PAGE0 sysstack DARAM1PAGE0 text DARAM2PAGE0 data DARAM3PAGE0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号