定时器和计数器可能是MCU设计中普遍的外设。几乎任何应用程序都可以使用定时器或计数器来通过简单的定时器或计数器中断替换重复或循环CPU操作来提高性能,降低功耗或简化设计。但是,您可能没有使用过某些的计时器/计数器单元,现在可以使用的一些功能可以进一步改善您的设计。本文将快速回顾一些可用于改进设计的新定时器/计数器功能,其中包括来自流行MCU系列的说明性示例,特别强调自主操作和电机控制的功能。
定时器和计数器模式:从简单到
定时器和计数器以一些非常简单的操作模式开始,以替换用于计数外部事件的公共程序循环,用于计时内部和外部操作以及用于收集关键MCU的各种统计信息操作。 Maxim MAXQ612 MCU的功能说明了一些常见的计数模式,下面的图1显示了一些示例。图底部的表格显示了定时器B的三种常见自主操作模式,MAXQ612定时器/计数器模块:自动重载,捕获和pp/向下计数。右上角的图显示了自动重载模式的框图。定时器B的时钟输入可以来自时钟预分频器,可以通过8种不同的设置或外部引脚分频系统时钟。控制位TRB使能或禁止定时器B操作。定时器值寄存器(TVB)在计时时及其达到存储在定时器B重载寄存器(TBR)中的值时计数,并产生中断并将TVB复位为零。这提供了一种创建延迟的简单方法,而不会占用宝贵的CPU周期来创建延迟。外部引脚也可用于将TVB重置为零,如果预期输入未在预期的时间内显示,则此模式可用于创建超时。
图1:Maxim MAXQ612 MCU示例计数器/定时器模式。 (由Maxim提供)
图1右上方的框图说明了捕获模式的操作。在此模式下,时钟预分频器和启用/禁用功能与自动重载模式下的相同。当TBV寄存器溢出并产生可选中断时,它会向上计数并复位为零。在外部引脚TBB的下降沿,TBV寄存器中的值被加载到捕获寄存器TBR中,并且可以产生中断EXFB。此模式可用于计算外部信号上升沿之间的时钟数,以确定信号频率或信号延迟。因此,定时器可以使CPU免于进行周期密集的计数操作,因此可以更有效地完成真正需要的任务。
MAXQ612支持其他几种常见的定时器/计数器操作,例如up/down auto-reload,其中外部引脚控制计数器的方向。该模式有助于解码各种脉冲宽度调制信号,例如机电传感器中使用的信号。时钟输出模式可用于使用系统时钟,预分频器和定时器B的终端计数创建简单的输出时钟。,脉冲宽度调制(PWM)输出模式可以生成边沿对齐信号用于常见的PWM应用,如电机控制应用。
用于电机控制的PWM计数器/定时器功能
一些的定时器/计数器功能用于电机控制的PWM应用。这些计数器使用专用硬件实现尽可能多的与电机相关的PWM功能,以释放处理器以执行更别的功能。电机控制PWM计数器/定时器的基本操作在大多数制造商实施和NXP LPC 17xx PWM定时器之间是常见的,该定时器针对三相交流和直流电机控制应用进行了优化,提供了一个很好的例子。如图2所示,电机控制PWM模块的功能看起来相当复杂,直到您意识到基本PWM定时器通道有三个副本;一个在左边,一个在中间,一个在右边。具有三个通道使得可以使用单个定时器/计数器来控制三相电动机,从而实现非常有效的实施。每个通道控制一对输出,这些输出又可以控制芯片外的某些东西,就像电机中的一组线圈一样。每个通道都包含一个定时器/计数器(TC)寄存器,该寄存器由处理器时钟(定时器模式)或输入引脚(计数器模式)递增。
图2:恩智浦LPC 17xx PWM定时器/计数器。 (由恩智浦提供)
每个通道都有一个限制寄存器,与TC值进行比较,当匹配发生时,TC以两种方式之一“复位”。在边沿对齐模式下,TC复位为0,而在中心模式下,匹配将TC切换为每个处理器时钟或输入引脚转换的递减,直到达到0,此时它再次开始向上计数。
每个通道还包括一个匹配寄存器,其值小于限制寄存器。在边沿对齐模式下,只要TC匹配匹配或限制寄存器,就切换通道的输出,而在中心对齐模式下,只有当它与匹配寄存器匹配时才切换。因此,限制寄存器控制输出的周期,而匹配寄存器控制输出在每个状态中花费的每个周期的多少。如果输出被集成到电压中,则限制寄存器中的值较小会使纹波化,并允许电机控制PWM定时器控制高速运行的设备。
所有这些通道硬件元件一起工作控制两个输出A和B,它们可以驱动一对晶体管在两个电源轨之间切换控制点。大多数情况下,两个输出具有相反的极性,但是可以启用死区时间功能(基于每个通道)以延迟两个信号从被动状态到活动状态的转换,从而晶体管永远不会同时开启。每个输出对的状态可以被认为是高,低,浮动或上,下和中心关闭。每个通道从有源和无源到高和低的映射都是可编程的,每个通道都可以执行边沿对齐和中心对齐的脉冲宽度调制。图3显示了两个输出配置示例。左边的那个是中心对齐的,没有任何死区时间。右边的那个插入死区时间(DT)以确保两个输出同时不活动。
图3:恩智浦LPC17xx电机控制PWM定时器/计数器示例输出配置。 (由NXP提供)
电机控制PWM定时器还包括多个中断源,以便于通知处理器需要更别的电机控制功能。这些中断以通道为基础进行组织,可以指示TC何时匹配匹配寄存器,TC何时匹配限制寄存器,当通道捕获TC的值到其捕获寄存器时或中止输入变为有效时。 LPC17xx还具有多个支持外设,可简化更别的控制功能,包括正交编码器接口,附加PWM模块,中断定时器和看门狗定时器。各种各样的专用定时功能表明了基于MCU的设计时序功能的重要性。
其他专用定时功能
在许多现代MCU上,定时和计数功能已成为随着制造商针对特定应用领域而日益例如,飞思卡尔Kinetis K10系列(例如MK10DN512ZVLQ10)具有各种具有专用功能的定时和计数外设。这些外设包括:可编程延迟模块,用于控制ADC和DAC操作,使处理器无需管理这些低级过程;灵活的定时模块,提供多个定时,计数,输入捕获和输出通道,支持照明和电动机的电源管理和控制;周期性中断定时器,可以自主管理外设中断和DMA传输;一个非常低功耗的定时器,即使在MCU处于功耗状态时也可以工作,以提供简单的周期性“唤醒”事件;和一个实时时钟,可以保持准确的时间,甚至可以在MCU完全断电时关闭电池,使其成为系统操作和寿命数据的便捷。
K10系列还提供专用时钟和定时功能,专用于特定模块,因此不会消耗其他时序资源。例如,用于创建各种信号编码方案(例如红外通信中使用的协议)的载波调制器发送器块具有其自己的专用定时和计数功能,非常类似于脉冲宽度调制计数器,管理与频移键控编码方案相关的脉冲宽度的变化。随着MCU变得更具应用和市场细分,这种专用定时和计数功能的趋势有望继续。
开发套件加快了产品上市时间
随着MCU变得更具应用性,制造商正在创建更多面向应用的开发套件和参考设计。电机控制应用可能是特定应用套件的常见示例之一。仅举一个例子,瑞萨提供了一个完整的电机控制开发套件,如图4所示的YMCRPRX62T,它甚至包括一个示例电机。该套件包含您在多种电机控制设计中评估瑞萨RX62T MCU所需的所有软件和示例设计。 PC托管的演示图形用户界面显示电机速度,电压和电流,同时允许用户调整参数和算法,以直接查看各种结果,以帮助调整电机运行,从而在特定设计中获得结果。许多其他制造商也拥有与瑞萨RX62T具有一些类似功能的电机控制评估套件。寻找适合您的目标应用和开发环境的套件,以利用大量工作制造商“捆绑”来帮助您加速您的下一个电机控制设计。
图4:用于RX62T MCU系列的瑞萨电机控制开发套件。 (由Renesas提供)
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』