当前位置: 首页 > 成功案例

如何在AVR MCU上选择定时器 (Timer)

发布时间: 2024-06-04 发布人:成功案例

 

  是微控制器中常见的周边,每个定时器都有自己的优点和缺点。有些定时器被设计用作波形产生的一部分,有些则很适合脉冲计数,而选择何种定时器取决于在各种情况下的需求和可用的资源。TCA 是一款针对产生脉宽调变 (PWM) 优化的定时器。它可以在 16 位模式下运行,以获得高分辨率输出,也可以在 2x 8 位模式下运行,其中定时器的任何一半皆可独立运行。 计数器则持续运作直到计数至 TOP 值。在这种情况下,计数器将重置为BOTTOM值 (零),而双斜率模式除外。在双斜率模式下,计数器不会重置为零,而是向下计数至零来重置周期。 如下图 1 所示。为了产生 PWM,有比较通道检查计数器是不是满足或超过设定值。若条件符合,相关的输出就会变高。该定时器还支持双缓冲,其中写入计数器的值将被保留,直到定时器触发更新,但会因操作模式而异。借助事件系统 (EVSYS),能轻松实现更进阶的控制。例如,事件系统可用于闸控输入、对事件边缘进行计数、控制计数方向 (向上或向下) 以及在各种条件下重新再启动定时器。TCB 是一款针对计时 (Timing) 和撷取 (Capture) 来优化的 16 位定时器。 TCB 可以在周期中断模式下运行,中断在固定间隔发生。逾时检查模式类似,只是定时器可以透过 EVSYS 输入重置。 TCB 也可当作单次定时器运作。对于较长时间段,RTC/PIT 可能是比 TCB 更好的选择。撷取模式是指定时器“撷取”定时器内计数的能力。可以做很简单的运用,例如自由运行的定时器上发生输入时,撷取两个上升沿之间的时间长度 (频率测量) 或脉冲长度 (脉冲宽度测量)。此外,两个 TCB 可以一起使用来创建线 位计数器,以实现高精度测量。TCB 也可用作 8 位 PWM 产生器,如 TCA 中的单斜率模式。TCD 是一款 12 位定时器,经过优化,可产生复杂的 PWM 波形,例如半桥和全桥输出。 TCD内部有两个比较器:CMPA和CMPB。每个比较器都有一个 SET 值和一个 CLR 值。当计数达到 SET 时,输出处于作用中状态。然后,当达到 CLR 时,输出将被停止。TCD 支持四种操作模式:一斜坡、二斜坡、四斜坡和双斜坡。这些名称代表计数器经历的周期数。四斜坡模式经历四个周期,依序重置 CMPASET、CMPACLR、CMPBSET 和 CMPBCLR。两个斜坡模式经历两个周期,依序在 CMPACLR 和 CMPBCLR 上重置。一斜坡模式仅在 CMPBCLR 上重置。最后,双斜率模式向上计数到 CMPBCLR,然后向下计数到零。为便于观察目的,下图的每个斜坡末端都位于相同的位置;但是,当值不相等时,它们会有所不同。此外,未显示的值(例如:单一斜坡模式下的 CMPASET)仍然有效,但在此期间不发挥作用。透过事件系统,TCD 还支持输入遮蔽、数字滤波和多种故障模式用于清除输出和/或暂停计数。 TCD 也可用于输入撷取。此外,TCD 可与 PLL (锁相环) 一起使用,使 TCD 能够以高于主频率的频率运作。TCE 是一款针对计时和 PWM 生成来优化的 16 位上下定时器。 TCE 是一个可逆定时器,这在某种程度上预示着它能够准确的通过方向在每个输入上递增或递减。当 TCE 到达顶部时,载入的下一个值取决于该点的方向。如果它上升,那么它会滚动到零。相同地,如果此时方向为向下,计数器将卷动到 TOP,而方向变更为向上会使定时器开始递增。为避免定时器周期中间出现时序干扰,TCE 支持双缓冲,在比较操作发生时加载已变更的缓存器值。这允许使用者在定时器运行时进行更改。TCE 具有多种用于产生波形的操作模式。这些模式与其他定时器的操作模式类似。例如,TCE 支持一般定时器操作,以及单斜率 PWM、双斜率 PWM 和频率产生。为了更好的提高 PWM 的输出分辨率,TCE 具有高分辨率模式,可透过使用高速频率讯号来提高 PWM 的分辨率。为了充分的利用此功能,此讯号的速度应至少比 CPU 速度快 4 倍。 TCE可通过PLL来产生频率讯号。此外,TCE 还与 WEX 整合。 WEX 让定时器产生互补输出、插入死区时间、建立输出样式并处理硬件中的故障讯号。TCF 是一款经过优化的 24 位定时器,其作用类似于数控振荡器 (NCO)。 NCO 是一个数字模块,主要由累加器、加法器和增量组成。每个频率周期,都会将设定的增量加到累计总数中。当累加器溢位时,余数将转入累加器,并产生输出。PLL 可以与 TCF 一起使用 (如果配备的话)。注意:TCF与系统周边时钟是异步运行,提高了其灵活性;然而,这会导致读取定时器计数时出现延迟。因此,TCF 更适合用于频率生成,而不是精确计时。在脉冲频率模式下,累加器输出用于设定输出,然后在固定数量 (由使用者设定) 的频率周期后,输出被清除。在固定占空比模式下,累加器输出讯号切换输出正反器,产生 50% 的占空比。RTC 提供两种计时功能:实时计数器 (RTC) 和周期性中断定时器 (PIT)。两个接口设备共享相同的频率源:32.768 kHz 外部晶振,或内部超低功耗 32.768 kHz 振荡器,彼此独立运作。使用晶体振荡器时,RTC 可以修正高达 ±127 PPM 的误差。频率源可以透过 15 位预分频器按比例缩小。RTC 可以在比较匹配和溢位时产生中断,而PIT 可以在2 的幂次频率周期 (例如,2/4/8/…/32768) 上产生中断。必须要格外注意的是,RTC 和 PIT 中断并不全是同步的 (即同时发生)。 PIT 应该用于超低功耗应用,因为它是唯一在掉电模式下继续发挥作用的定时器之一,而 RTC 的功耗稍高一些,但支持更长的时间周期。对于 1 Hz 刻度时钟,RTC Timeout时间能超过 18 小时。WDT 是一个特殊的定时器,如果不定期清除,它将重置微控制器。它具有多个可选择的Timeout周期,并透过内部 1.024 kHz 振荡器运行,该振荡器源自于内部超低功耗 32.768 kHz 振荡器。 WDT 有两种模式:正常模式和窗口模式。在正常模式下,必须在计数匹配之前清除 WDT。然而,如果某种错误不断地清除 WDT,则定时器将不会侦测到故障。为避免这种可能性,能够正常的使用窗口模式。在窗口模式下,WDT 清除必须在设定的延迟之后、定时器触发之前发生。如果清除得太早或太晚,将被视为 WDT 违规,并会触发微控制器的重置。 WDT 缓存器受到设定变更保护 (CCP) 功能和控制缓存器锁定的保护。这使得软件错误很难无意中更改 WDT 设定。 WDT 可以在所有电源模式下运作。了解定时器周边后,可以轻松掌握选择最符合应用所需功能的定时器。在许多情况下,可能有多个的定时器可以执行该工作。你直接选择最简单的定时器——?让具有更多功能的定时器可供将来使用。要更详细地了解所有这些定时器的运作方式和与其相关的缓存器可参考网站内数据手册、应用笔记和技术简介。使用特定定时器的程序代码范例可以透过搜寻 MPLAB® Discover网页找到 ( 。

最新资讯

扫码获取最新资讯

版权所有:欧宝网站多少,欧宝平台官网手机版下载地址 豫ICP备2021008316号-1 技术支持:网站地图