AM5728 定时器模块详解教程

上传人:汽*** 文档编号:496803585 上传时间:2023-11-24 格式:DOCX 页数:22 大小:47.13KB
返回 下载 相关 举报
AM5728 定时器模块详解教程_第1页
第1页 / 共22页
AM5728 定时器模块详解教程_第2页
第2页 / 共22页
AM5728 定时器模块详解教程_第3页
第3页 / 共22页
AM5728 定时器模块详解教程_第4页
第4页 / 共22页
AM5728 定时器模块详解教程_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《AM5728 定时器模块详解教程》由会员分享,可在线阅读,更多相关《AM5728 定时器模块详解教程(22页珍藏版)》请在金锄头文库上搜索。

1、AM5728 定时器模块22.1定时器概述该设备包括系统软件使用的几种类型定时器,包括16个GP定时器、一个看门狗定时器和 一个32khz同步定时器(COUNTER_32K)。图22-1是设备定时器的高级框图。图22-1。计时器的概述看门狗计时器采用32 kHz时钟。32 kHz同步定时器,仅在上电时重置,为操作系统(OS)提 供一个稳定的定时源,存储自产品上电周期以来的相对时间。15个GP定时器,用于向系 统软件生成基于时间戳的中断或用作脉宽调制(PWM)信号源。22.2通用定时器22.2.1通用定时器概述设备有16个GP定时器:TIMER1 TIMER16。TIMER1(1ms tick)

2、:其事件捕获引脚与32KHz时钟相连,可以用来测量系统时钟输入,并 检测其频率在19.2、20或27 MHz之间。它包含一个特定的函数,用于为操作系统生成精 确的tick中断,并且它属于PD_WKUPAON域TIMER2和TIMER10:(1ms定时器):它们包括一个特定的函数来生成精确的时钟中断到操 作系统,TIMER2 和 TIMER10 属于 PD_L4PER 域TIMER3/4/9/11/13/14/15/16:它们属于 PD_L4PER 域TIMER12 属于 PD_WKUPAON 电源域TIMER5TIMER8:属于 PD_IPU 模块每个定时器(除了 TIMER12)可以从系统时

3、钟(19.2,20,或27mhz)或32khz时钟时钟。时钟 源的选择是在电源、复位和时钟管理(PRCM)模块级别进行的。TIMER12只能从内部振荡器 (片上振荡器)进行计时。更多信息请参见3.6.3.1,PRM时钟源。每个计时器通过设备IRQ_CROSSBAR提供一个中断。每个定时器通过PWM输出或事件捕获输入引脚(外部定时器触发)连接到外部引脚。图22- 2是GP定时器的概述。图22-2。GP计时器概述22.2.1.1 GP定时器特性以下是GP定时器控制器的主要特点:4级(L4)从接口支持:- 32位数据总线宽度-支持32/16位访问-不支持8位访问-10位地址总线宽度-不支持突发模式-

4、支持写非记账事务模式溢出、比较和捕获时产生的中断自由运行32位向上计数器比较和捕获模式Autoreload 模式启动/停止模式可编程分频时钟源(2 n其中n = 0:8)专用的捕获模式输入触发器和专用的输出触发器/PWM信号专用GP输出信号,使用TIMERi_GPO_CFG信号实时读写寄存器(计数时)产生 32.768-Hz 功能时钟的 1-ms tick (only TIMER1, TIMER2, TIMER10)22.2.2 GP定时器环境22.2.2.1 GP Timer 系统外部接口每个计时器可以发送或接收外部(芯片外)系统的刺激。在该设备中,所有计时器都配置为输 出PWM脉冲或接收外

5、部事件信号作为触发器来捕获当前计时器计数oTIMER1也被配置为 接收事件触发器输入(GPT1_EVENT_CAPTURE)与内部32 kHz时钟相连。该事件信号测 量系统时钟输入,检测其频率在19.2、20或27 MHz之间。GP定时器的外部系统接口如图22-3所示,GP定时器的输入输出说明如表22-1所示。22.2.3 GP定时器集成在设备上集成GP定时器的场景如图22-4所示。图22-4o GP计时器集成如表22-2 表22-4所示。表22-2o集成的属性22.2.4 GP定时器功能介绍每个GP定时器都包含一个自由运行的向上计数器,在溢出时具有自动加载功能。计时器计 数器可以动态读取和写

6、入(计数时)。每个GP定时器包括比较逻辑,以允许在可编程计数 器匹配值上发生中断事件。专用输出信号可以在溢出或匹配事件上脉冲或切换。这提供了时 间戳触发信号或PWM信号源。专用输入信号可用于触发自动定时器计数器捕获或可编程输 入信号转换的中断事件。可编程时钟分频器(预分频器)允许降低定时器输入时钟频率。所 有内部定时器中断源合并到一个模块中断线和一个唤醒线。每个内部中断源可以通过一个专用的位来独立地启用和禁用IRQSTATUS_SET和 IRQSTATUS_CLR寄存器的中断特性,以及一个专用的位IRQWAKEEN TIMER1、TIMER2 和TIMER10的唤醒寄存器。此外,这些计时器还实

7、现了一种机制来生成精确的滴答中断。 对于所有其他内部中断源都可以通过IRQENABLE_SET和IRQENABLE_CLR寄存器。对 于设备中实现的每个GP定时器,有两种可能的时钟源:32-kHz时钟系统时钟输入时钟源的选择在PRCM配置中的寄存器中完成(参见第22.2.1节,GP定时器概述)。 每个GP定时器支持三种功能模式:定时器模式捕获模式比较模式在核心重启后,捕获和比较模式默认是禁用的。22.2.4.1 GP定时器框图图22-5是普通GP计时器的框图,图22-6是带有1-ms tick gen eration模块的GP定时器 的框图。图三。TIMER3至ITIMER9和TIMER11至

8、ITIMER16的框图22.2.4.2 TIMER1、TIMER2、TIMER10 电源管理在PRCM模块级,当满足关闭PRCM模块中的功能或接口输出时钟的所有条件时(见第 3.1.1.1.4节,时钟域级时钟管理),PRCM模块自动启动硬件握手协议,以确保GP定时 器准备好关闭其时钟。即,PRCM模块向GP定时器断言空闲请求。虽然这种握手是一种硬件功能,并且不受软件控制,但是GP定时器确认PRCM空闲请求的方式可以通过TIOCP_CFG3:2 IDLEMODE位域进行配置。IDLEMODE的设置及确认模式如表22-5所示。表 22-5o IDLEMODE 设置22.2.4.2.1唤醒功能如果T

9、IOCP_CFG 3:2 IDLEMODE位字段设置smart-idle模式或smart-idle唤醒模式,贝V 定时器评估其内部能力,以关闭接口时钟。当没有进一步的内部活动(没有挂起的中断源: 匹配、溢出或定时器捕获事件)时,空闲确认信号被断言,定时器进入睡眠模式,如果在智 能空闲唤醒模式下配置,则准备发出唤醒请求。唤醒请求生成过程如图22-7所示。有关GP定时器时钟的更多信息控制,3.6节,时钟管 理功能介绍,在第3章,电源,复位和时钟管理。对于TIMER1、TIMER2和TIMER10,定时器唤醒启用寄存器允许屏蔽生成唤醒请求的唤 醒事件的预期源。在PRCM模块发送一个空闲模式请求之前,

10、寄存器与接口时钟同步编程。唤醒事件的预期来源是溢出(TCRR)、定时器匹配(TCRR和TMAR的比较结果与计数器值 匹配)和计时器捕获(在TIMER_EVENT_CAPTURE上检测到正确极性的外部脉冲转换)。当发出唤醒事件时,在定时器状态寄存器(IRQSTATUS)中设置相关的中断状态位。当 设置的状态位被1覆盖时,将重置挂起的唤醒事件。注意:必须重置状态位才能重新进入空闲模式。22.2.4.3其他GP定时器的电源管理PRCM模块级别的,当满足关闭PRCM模块的功能或接口输出时钟的所有条件时(参见 3.1.1.1.4时钟域级时钟管理),PRCM模块自动启动硬件握手协议,以确保GP定时器准备

11、好关闭其时钟。即,PRCM模块向GP定时器断言空闲请求。虽然这种握手是一种硬件功能,并且不受软件控制,但是GP定时器确认PRCM空闲请求 的方式可以通过TIOCP_CFG3:2 IDLEMODE位域进行配置。IDLEMODE的设置及确认模式如表22-6所示。表 22-6。IDLEMODE 设置22.2.4.3.1唤醒功能如果 TIOCP_CFG 3:2 IDLEMODE 位字段设置 smart-idle 模式或 smart-idle 唤醒模式,则定时器评估其内部能力,以关闭接口时钟。当没有进一步的内部活动(没有挂起的中断 源:匹配、溢出或定时器捕获事件)时,空闲确认信号被断言,定时器进入睡眠模

12、式,如 果在智能空闲唤醒模式下配置,则准备发出唤醒请求。仅当IRQWAKEEN2:0位字段启用 计时器唤醒功能时,才会发送此唤醒请求。图22-8显示了唤醒请求的生成。有关GP定时器时钟的更多信息控制,参见第3章“电 源、复位和时钟管理”中的第3.6节“时钟管理”功能描述。图22-8。唤醒请求生成当唤醒事件被发出时,相关的中断状态位在计时器状态寄存器(IRQSTATUS)中被设置。当 设置状态位被1覆盖时,挂起的唤醒事件将被重置。注意:必须重置状态位才能重新进入空闲模式。22.2.4.4软件复位两个比特可以产生GP定时器的软件复位:TIOCP_CFG 0 SOFTRESETTSICR1 SFT对

13、于这两个位,所有读访问都返回0。TIOCP_CFG0 SOFTRESET位允许重新设置功能域和接口域。TSICR1 SFT bit允许重置GP定时器的功能部分。在访问或使用GP定时器之前,本地主机必须确保通过读取TIOCP_CFG0 SOFTRESET 位来释放两个内部复位。该位监视内部复位状态。22.2.4.5 GP定时器中断计时器可以发出溢出中断、定时器匹配中断和定时器捕获中断。每个内部中断源可以在中断 启用寄存器中独立地启用和禁用(IRQSTATUS_SET用于TIMER1/2/10和 IRQENABLE_SET用于其他计时器),并在中断禁用寄存器中禁用(IRQSTATUS_CLR用于

14、TIMER1/2/10和IRQENABLE_CLR用于其他计时器)。当中断事件被发出时,相关的中断 状态位在定时器状态寄存器(IRQSTATUS)中被设置。22.2.4.6定时器模式功能定时器是一个向上的计数器,可以在任何时候通过定时器控制寄存器(TCLR0 ST位)启动 和停止。定时器计数器寄存器(TCRR)可以在停止或动态(计数时)加载。TCRR可以由一个新 的计时器值的TCRR写访问直接加载。TCRR还可以通过触发寄存器(TTGR)的写访问, 用保存在定时器加载寄存器(TLDR)中的值加载。无论TTGR的写入值如何,都会加载 TCRR。当TCRR read访问停止或动态捕获时,可以读取T

15、CRR的值。当断言模块复位时, 定时器停止,计数器值设置为0。释放复位后,定时器保持在停止位置。在一次触发模式下(TCLR1 AR位设为0),计数溢出后停止计数器(计数器值保持为0)。 当启用自动加载模式(TCLR1 AR位设置为1)时,计数溢出后将TLDR的值重新加载TCRR。注意安全不要将溢出值(0xFFFF FFFF)放入TLDR寄存器中,因为它可能导致不需要的结果。 如果在定时器interrupt-enable寄存器中设置了 overflow interrupt-enable位(对于 TIMER1/2/10, IRQSTATUS_SET1 OVF_EN_FLAG 位设置为 1,对于其他计时器, IRQENABLE_SET1OVF_EN_FLAG位设置为1),那么在溢出时可以发出中断。一个专用 的输出引脚(定时器PWM)可以通过TCLR11:10 (PT和TRG位)在TCLR12 PT位进行编 程,以产生一个正脉冲(预分频器持续时间)或在溢出发生时反转当前值(切换模式)。TCLR12 PT位选择脉冲/切换调制(TCLR11:10 TRG位字段选择触发模式)。TCRR定时值如图22-9所示。图22-9。TCRR时间值2

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

当前位置:首页 > 学术论文 > 其它学术论文

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