目录

核心概念

为什么需要它?—— 解决的问题

TRGO可以触发哪些外设?

如何配置TRGO?—— 触发事件的选择

与“从模式”和“触发输入”的区别

总结


核心概念

Timer Trigger Output Event(定时器触发输出事件),通常简称为 TRGO,是STM32高级定时器(如TIM1, TIM8)和通用定时器(如TIM2-TIM5)的一个输出信号。

你可以把它想象成定时器的一个 “硬件通知信号”。当定时器内部发生某个特定的事件(例如计数器溢出、更新、捕获比较匹配等)时,它会通过TRGO引脚(这是一个内部、虚拟的连接,并非物理引脚)向其他外设发送一个脉冲信号。

这个“通知”的目的是触发另一个外设开始执行某个操作。


为什么需要它?—— 解决的问题

在没有这个功能的情况下,如果我们想让定时器控制另一个外设(比如ADC),我们通常需要:

  1. 在定时器中断中设置一个标志位。

  2. CPU检测到这个标志位。

  3. CPU执行中断服务程序,在程序中用软件命令去启动ADC。

这个过程存在延迟(中断响应时间)和CPU开销。

而使用TRGO功能,整个过程完全在硬件层面自动完成:

  1. 定时器事件(如更新事件)发生。

  2. 定时器立即、无延迟地发出一个TRGO信号。

  3. ADC硬件收到这个TRGO信号后,自动开始一次转换。

优势:

  • 极高精度:消除了软件延迟,触发时序非常精确(到时钟周期级别)。

  • 减轻CPU负担:CPU无需处理中断,可以休眠或处理其他任务,大大提高了效率。

  • 实现硬实时操作:非常适合电机控制、电源转换、音频处理等对时序要求极其苛刻的应用。


TRGO可以触发哪些外设?

TRGO作为一个内部的触发源,可以连接到芯片内部的多个外设,最常见的包括:

  1. ADC(模数转换器):这是最经典的应用。用定时器的TRGO来触发ADC开始采样和转换,可以实现固定频率(或与PWM同步)的精确采样。

  2. DAC(数模转换器):触发DAC输出一个新的数据。

  3. 其他定时器:用一个定时器(主定时器)的TRGO去触发另一个定时器(从定时器)的计数、启动或复位,实现定时器的同步或级联。

  4. DMA(直接存储器访问):触发DMA进行一次数据传输。例如,在ADC被触发转换完成后,再用另一个信号触发DMA将ADC结果搬运到内存。


如何配置TRGO?—— 触发事件的选择

不是所有定时器事件都会产生TRGO。你需要通过配置定时器的 CR2寄存器 中的 MMS(主模式选择) 位域来选择具体是哪个事件来产生TRGO信号。

常见的可触发事件包括:

  • 复位事件:当定时器被触发输入信号复位时,产生TRGO。

  • 使能事件:当定时器被触发输入信号启动时,产生TRGO。

  • 更新事件:当计数器发生上溢/下溢(即溢出)时,产生TRGO。这是最常用的源。

  • 比较脉冲:当捕获/比较通道1发生匹配时,产生TRGO。

  • 比较OC1REF信号:输出比较1的参考信号。

  • 比较OC2REF信号:输出比较2的参考信号。

  • 比较OC3REF信号:输出比较3的参考信号。

举例:用更新事件触发ADC

如果你希望定时器每1毫秒触发一次ADC采样,你会:

  1. 配置定时器为向上计数模式,ARR和PSC的值设置为产生1ms的更新中断。

  2. 配置CR2寄存器的MMS位,选择010(更新事件作为TRGO源)。

  3. 配置ADC的“外部触发源”,选择来自这个定时器的TRGO。

  4. 使能ADC的“外部触发转换”功能。

这样,每次定时器计数溢出产生更新事件时,它都会自动发出一个TRGO脉冲,ADC收到后便自动开始一次转换。


与“从模式”和“触发输入”的区别

  • TRGO(Trigger Output):是定时器的输出,是它去触发别人。

  • 从模式 & 触发输入:是定时器的输入,是它被别人触发。定时器可以配置为“从模式”,等待另一个主定时器的TRGO信号来复位、启动或同步自己。

一个定时器可以同时是“主”和“从”:

  • 它可以被上一个定时器(Master)的TRGO触发(Slave行为)。

  • 同时,它又可以产生自己的TRGO去触发下一个外设(Master行为)。

总结

特性 描述
是什么 定时器产生的一个内部硬件触发信号(TRGO)。
目的 实现硬件外设之间的自动、精确、无CPU干预的协同工作。
优势 高精度、低延迟、减轻CPU负担。
常见应用 触发ADC进行同步采样、触发DAC、同步/级联其他定时器。
如何配置 通过定时器的CR2寄存器中的MMS位选择触发源(如更新事件)。

简单来说,Timer Trigger Output Event 是STM32硬件自动化系统的“指挥官的口令”,它让定时器能够以硬件级的精度和速度去指挥其他外设协同工作,是实现高效嵌入式系统设计的关键技术之一。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐