5509A_DSP通用定时器使用详解
5星 · 超过95%的资源 需积分: 9 66 浏览量
更新于2024-09-13
收藏 185KB PDF 举报
5509A_DSP通用定时器
5509A_DSP通用定时器是DSP系统中的一个重要组件,主要用于实现定时和计数功能。在本文中,我们将详细介绍5509A_DSP通用定时器的使用和配置。
一、寄存器介绍
在5509A_DSP通用定时器中,有四个寄存器用于配置和控制定时器:
1. TIM:主计数寄存器,用于存储当前的计数值。
2. PRD:主周期寄存器,用于存储定时器的周期值。
3. PRSC:定时器预定标寄存器,用于存储预定标值和主周期值。
4. TCR:定时器控制寄存器,用于控制定时器的状态和行为。
二、定时器中断频率
定时器中断频率是指定时器在每个周期内触发中断的次数。如果DSP没有使用锁相环,Inputclockrate为外接晶振的频率。
三、定时器自动重新加载
通过设置TCR寄存器中的ARB位,可以配置定时器自动重新加载。在此模式下,两个计数寄存器中的值将在主计数寄存器中的值到达0之后从周期寄存器自动重载,使定时器持续工作。
四、定时器引脚功能
通过设置TCR寄存器中的FUNC位,可以定义定时器引脚的功能:
* 00:高阻态
* 01:定时器输出
* 10:通用输出,这个输出信号的电平反映TCR中DATOUT位的值
* 11:外部时钟输入,该引脚从DSP的外部时钟源接收一个时钟信号
五、初始化定时器
初始化定时器需要按照以下步骤进行:
1. 确定定时器已经被停止,即TCR中TSS==1;允许加载定时器,即TCR中TLB==1。
2. 向PRSC寄存器中的TDDR(9-6bit)位写入期望的预定标计数值。
3. 向PRSC寄存器中的PRD(3-0bit)位写入期望的主计数值。
4. 关闭定时器载入(TLB=0)并打开定时器(TSS=0),当定时器启动之后,主计数器(TIM)保留了PRD的值,预定标计数器(PSC)保留了TDDR的值。
六、关闭/开启定时器
通过控制TCR中的TSS位,可以关闭(TSS=1)或开启(TSS=0)定时器。
七、定时器引脚功能合法变迁流程图
在DSP复位后,在FUNNC变迁前,TIN\TOUT上的外部时钟源至少需要持续4个时钟周期。
八、DSP复位后的定时器状态
在DSP复位后,定时器的状态为:
* 定时器被停止(TSS=1)
* 预定标计数器的值为0
* 主计数器的值为0xFFFFh
* 定时器被设置执行(ARB=0,不自动重载)一次而不是多次
* 定时器不会被闲置指令强制设置成闲置状态(IDLEEN=0)
* 仿真过程中的软件中断会使定时器立即停止(SOFT=FREE=0)
* 定时器使用内部时钟源,且定时器引脚呈高阻态(FUNC=00)
5509A_DSP通用定时器是一个功能强大且灵活的定时器模块,通过配置和控制寄存器,可以实现多种定时和计数功能。
2022-09-24 上传
2022-09-22 上传
2022-09-22 上传
2022-09-21 上传
2022-09-24 上传
2022-09-19 上传
浮萍1990
- 粉丝: 0
- 资源: 2
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍