第26章 通用定时器.docVIP

  • 2
  • 0
  • 约 7页
  • 2017-10-07 发布于重庆
  • 举报
第26章 通用定时器

第26章 通用定时器 MC9328MX1包括两个相同的通用32位定时器,这种定时器带有可编程预定标器、比较和捕捉寄存器。使用外部事件能捕捉每个定时器计数器值,定时器计数器值能设置为在每个输入脉冲的前沿和后沿触发捕捉事件。当定时器到达编程值时,定时器也能产生中断。每个定时器有一个8位的预定标器,产生一个源自PERCLK1的可编程时钟频率。产生捕捉边沿的脉冲可以短至20ns。两个脉冲间的最小时间为两个PCLK周期。通用定时器框图如图26-1所示。 图26-1 通用定时器方框图 定时器具有如下特征: 频率为32.768kHz时,最大周期为512×65536s;频率为38.4kHz时,最大周期为436×65536s。 100MHz时分辨率为10ns。 时钟输入具有可编程来源,包括外部时钟。 触发边沿可编程的输入捕捉能力。 具有可编程模式的输出比较。 自由运行和重新启动模式。 软件复位功能。 26.1 操作 预定标器的输入时钟可以是系统主时钟(1分频或16分频),也可以由定时器的输入引脚TIN得到,或是32kHz时钟(由引脚CLK32得到)。输入时钟的具体来源由定时器控制寄存器(TCTL1和TCTL2)中的时钟源字段确定。定时器预定标寄存器(TPRER1和TPRER2)用于设定对输入时钟的分频倍数以驱动定时器的主计数器,分频倍数可以是1~256之间的任何值。当选择CLK32为时钟源时,即使PLL处于睡眠模式(此模式下,来自PLL的PERCLK1为关闭状态),定时器仍可工作。 通过对相应TCTLx寄存器中的自由运行/重启(FRR)位进行设置,每个定时器可以工作于重启模式或自由运行模式。在重启模式下,当计数值达到预设比较值时,计数器复位为0定时状态寄存器中的比较事件(COMP)位的值置1,此时如果相应TCTLx寄存器中的中断请求使能(IRQEN)位值为1,定时器将产生一个中断请求,计数过程重新开始,当需要产生一个周期性的事件或者音频信号时,此种工作模式相当有用。在自由运行模式下,比较功能的工作方式同重启模式下相同,所不同的是,当计数值达到比较值时,计数器继续计数而不会复位至0当计数值达到0xFFFFFFFF时,计数器跳回0继续计数。 每个定时器中含有一个32位的捕获寄存器,当沿检测器检测到定时器输入端(TIN)有预设跳变时,捕获寄存器将对计数器进行“快照”。触发捕获操作的跳变类型可通过对相应TCTLx寄存器中捕获沿(CAP)字段的设置进行选择。产生捕获沿的脉冲可以短到20ns。两个脉冲之间的最小时间间隔为两个PCLK周期。 当一个捕获事件或比较事件发生时,定时器状态寄存器中的相应状态位(CAPT或者COMP)将被置1。如果捕获功能处于使能状态或者TCTLx寄存器中的IRQEN位值为1,定时器将发出一个中断请求。另外,复位时自动运行定时器被禁止。 如果TCTLx寄存器中的软件复位(SWR)位的值被置1,整个模块将立刻复位。复位信号保持时间为96MHz系统时钟周期的3倍。例如,若系统时钟周期为10ns,则复位信号将保持30ns并随后自动释放。 26.1.1 通用定时器的引脚配置 图26-1显示了用于通用定时器模块的引脚。这些引脚与器件上的其它功能复用,必须进行正确配置以用于通用定时器操作。表26-1列出了通用定时器的引脚配置情况。 注: 用户必须确保GPIO中的数据方向位针对正确的操作进行了正确的设置。请参见32.5.1节,“数据方向寄存器”得到更详细的信息。 表26-1 定时器引脚配置 引脚 设置 配置过程 TIN GPIO端口A[1]的主要功能 ①清除端口A的GIUS_A寄存器的位1 ②清除端口A的GPR_A寄存器的位1 TMR2OUT GPIO端口D[31]的主要功能 ①清除端口D的GIUS_D寄存器的位31 ②清除端口D的GPR_D寄存器的位31 26.2 编程模型 通用定时器模块中的每个定时器中均包括有6个用户可访问的32位寄存器。表26-2列出了这些寄存器以及它们的地址。 表26-2 通用定时器模块寄存器内存映射 描述 名称 地址 定时器1控制寄存器 TCTL1 0 定时器1预定标寄存器 TPRER1 0 定时器1比较寄存器 TCMP1 0 定时器1捕获寄存器 TCR1 0x0020200C 定时器1计数寄存器 TCN1 0 定时器1状态寄存器 TSTAT1 0 定时器2控制寄存器 TCTL2 0 定时器2预定标寄存器 TPRER2 0 定时器2比较寄存器 TCMP2 0 定时器2捕获寄存器 TCR2 0x

文档评论(0)

1亿VIP精品文档

相关文档