使用定时器和计数器,以创建高效的基于微控制器的设计
扫描二维码
随时随地手机看文章
动翻译,供参考
使用定时器和计数器,以创建高效的基于微控制器的设计
定时器和计数器也许在MCU设计中最普遍的外设。几乎任何应用程序可以使用一个定时器或计数器,以提高性能,降低功率,或通过用一个简单的定时器或计数器中断替换repetitive-织或钩织CPU的操作简化设计。您可能没有然而,使用了一些较新的定时器/计数器单元,以及一些现已高级功能可以提高您的设计,甚至更多。本文将很快回顾一些,你可以用它来改善你的设计与流行的微控制器系列具有特别强调功能的自主经营和电机控制说明性的例子在新定时器/计数器功能。
定时器和计数器模式:从简单到高级
定时器和计数器开始了操作一些非常简单的方式来代替普通程序的循环计数外部事件,定时内部和外部的业务和关键MCU操作收集各种统计信息。一些最熟悉的计数模式是由在马克西姆MAXQ612 MCU上的特征图示并一些例子示于下面的图1。在该图的底部的表格显示了三种常见的自主运行模式定时器B时,MAXQ612定时器/计数器模块:自动重载,捕获和PP /减计数。在右上角的图显示了自动重载模式框图。的时钟输入定时器B可以来自一个时钟分频器,可以划分系统时钟具有八个不同的设置,或从外部引脚。控制位,TRB,启用或禁用定时器B操作。定时器值寄存器(TVB)向上计数时钟时和当它达到存储在定时器B加载寄存器(TBR)的值,并产生中断和无线电视复位到零。这提供了在不使用宝贵的CPU周期以创建一个延迟创建延迟的简单方法。外部引脚可用于选择性TVB复位至零为好,使该模式可用于创建一个超时,如果期望的输入没有在时间的预计量显示出来。
马克西姆MAXQ612微控制器的图像(点击查看全尺寸)
图1:马克西姆MAXQ612 MCU为例计数器/定时器模式。 (美信提供)
在图1的右上角的框图说明在捕获模式的动作。在这种模式下,时钟分频器和启用/禁用功能是一样的,在自动重装模式。该TBV寄存器计数和复位至零时溢出并产生一个可选的中断。上的外部引脚TBB的下降沿,在TBV寄存器中的值被装入捕获寄存器,TBR和中断,EXFB,可以生成。此模式是用于计数所述外部信号,以确定信号频率或信号延迟的上升沿之间的时钟数是有用的。定时器从而释放从做周期密集的计算操作的CPU,因此它可以成为它真正需要的工作更有效率。
其他几种常见的定时/计数器操作由MAXQ612如向上/向下自动重装,其中外部引脚控制计数的方向支持。此模式适用于各种脉冲宽度调制信号,如那些在机电传感器中使用的解码很有帮助。时钟输出模式可用于使用系统时钟,一个分频器和定时器B的终端计数最后,一个脉宽调制(PWM)输出模式可以产生的边沿对齐信号以产生一个简单的输出时钟在共同PWM应用中使用,如那些用于电机控制。
PWM计数器/定时器功能电机控制
一些最先进的定时器/计数器功能用于PWM应用用于电机控制的。这些计数器使用专用硬件来释放所述处理器做更高级别的功能实现尽可能多的马达相关的PWM功能成为可能。马达控制PWM定时器/计数器的基本操作是大多数制造商实现和那些在恩智浦LPC 17XX PWM定时器,它适用于三相交流和直流马达控制应用进行了优化之间找到共同的,提供了一个很好的例子。如图2,马达控制PWM模块的功能,可以直到你知道有一个基本的PWM定时器通道的三个副本出现相当复杂;一个在左边,一个在中间,和一个在右边。具有三个通道使得有可能使用单个的定时器/计数器,用于一个非常有效的实现控制三相电动机。每个通道控制的一对输出端,反过来,可控制的东西片外,像一组线圈中的电动机。每个通道包括一个定时器/计数器(TC)的寄存器,是由一个处理器时钟(定时器模式)或由输入引脚(计数器模式)递增。
恩智浦LPC 17XX PWM定时器/计数器图片
图2:恩智浦LPC 17XX PWM定时器/计数器。 (恩智浦提供)
每个通道都有一个相对于TC值的限制寄存器,并且当发生匹配TC是两种方式中的一“复位”。在边缘对齐模式对TC复位为0,而在中心的模式匹配切换TC,直到它达到0,此时将其再次开始计数递减上的每个处理器的时钟或输入引脚过渡。
每个通道还包括一匹配寄存器,用于存放比限制寄存器更小的值。在边沿对齐模式下通道的输出切换每当TC值的匹配无论是比赛还是限制寄存器,而在中心对齐模式下,它们被切换,只有当它匹配寄存器相匹配。因此,该限寄存器控制的输出的期间,而匹配寄存器控制多少每个周期输出花费在每个状态的。具有在极限寄存器中的一个小的值最小化的纹波如果输出被集成到一个电压,并且允许电机控制PWM定时器来控制,在高速操作的设备。
所有这些通道的硬件元件协同工作,以控制两个输出,A和B,其可驱动的一对晶体管的两个电力轨之间切换的控制点。大部分时间的两个输出具有相反的极性,而是一个死区时间功能可启用(以每个通道为基础)来延迟两个信号'从被动转变为有效状态,以使所述晶体管是从未上同时进行。每对输出的状态可以被认为是高,低的,和浮动或上,下,和中心关闭。从主动和被动高低每个通道的映射是可编程的,并且每一个可以执行边缘对齐的中心对齐脉冲宽度调制。图3显示了输出配置的两个例子。在一个在左边的中心,没有任何停滞时间一致。在一个在右边有插入,以确保两个输出都不会主动在同一时间死区时间(DT)。
恩智浦LPC17xx电机控制PWM定时器/计数器图片
图3:NXP LPC17xx马达控制PWM定时器/计数器,例如输出配置。 (恩智浦提供)
电机控制PWM定时器还包括几个中断源,可以很容易地通知更高级别的电机控制功能所需的处理器。这些中断被组织在一个信道的基础,并且可以指示何时一个TC匹配匹配寄存器,当TC极限寄存器相匹配,当信道捕获TC值到它的捕获寄存器或当中止输入变为活性。该LPC17xx也有一些配套的外围设备,从而简化更高级别的控制功能,包括正交编码器接口,额外的PWM模块,定时器中断和看门狗定时器。这种广泛的专业计时功能指示多么重要的计时功能已成为基于MCU的设计。
其他专业的计时功能
在许多现代的MCU计时,计数功能日益专业化的生产厂家针对特定的应用领域。作为一个例子,飞思卡尔的Kinetis K10家族(如MK10DN512ZVLQ10)有多种定时及数量的面向外围设备具有专门功能。这些外设包括:可编程延迟块用于控制ADC和DAC操作,以释放处理器从管理这些低层次的流程有用的;灵活的定时模块,提供定时,计数,输入捕捉的多渠道,输出比较支持电源管理和控制照明和电动马达;周期性中断定时器,可以自动管理外设中断和DMA传输;非常低的功耗定时器,当MCU处于最低功耗状态,以提供一个简单的周期性的“唤醒”事件也能工作;和实时时钟,保持准确的时间,甚至可以在脱离电池时,MCU完全断电,使其系统运行和寿命数据的来源方便。
在K10系列还提供了专门与特定块,以便其他计时资源不消耗专门的时钟和定时功能。例如,载波调制器发送器块,用于创建在各种信号的编码方案的使用的协议,例如在红外线通信,都有自己专用的定时和计数功能,很象一个脉宽调制计数器,来管理的变化与频移键编码方案有关的脉冲宽度。这种趋势奉献专业计时及计数功能预计将继续作为微控制器变得更多的应用和市场细分的具体。
开发套件加快产品上市时间
随着微控制器变得更加具体的应用,制造商们创造更多的以应用为导向的开发套件和参考设计。电机控制应用也许是的特定应用套件中最常见的例子之一。仅举一例,瑞萨提供了一个完整的电机控制开发工具包,在图4中,其中甚至还包括一个例子马达所示的YMCRPRX62T。该套件配备了所有您需要评估瑞萨RX62T MCU在几个电机控制设计软件和参考设计。甲PC主机示范图形用户界面示出了电机的转速,电压及电流,同时允许用户调整参数和算法可以直接查看各个结果,以帮助调整电机运行在一个特定的设计最佳结果。许多其它厂商也有一些类似的功能,瑞萨RX62T电机控制评估套件。寻找你的目标应用程序和开发环境的最佳匹配,以充分利用显著量的工作制造商“捆绑”的工具包,以帮助你加快你的下一个电机控制设计。
瑞萨电机控制开发套件的图片为RX62T MCU系列
图4:瑞萨电机控制开发套件RX62T MCU系列。 (瑞萨提供)
摘要
定时器和计数器是最熟悉的外围设备的MCU,但使用它们在最大程度上可以确保您节省电量,提高性能并简化设计。本文讨论了一些正在创造一种可能采取的罕见方面,这些共同的要素优势,新的和先进的功能。