0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ADC触发源的原理介绍

硬件攻城狮 ? 来源:硬件攻城狮 ? 作者:硬件攻城狮 ? 2022-12-09 14:24 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1.引言

STM32 MCU 中,ADC 有多种启动触发方式,本文对各种触发源的原理进行介绍,方便大家以后如何选择合适的触发源。

2. ADC 的架构与触发源

以 STM32G474 为例,ADC 模块的架构框图如下,基于逐次逼近原理(SAR)完成模拟量到数字量的转换。前端通过多通道选择开关(input selection)来对转换通道进行切换,从而实现对多个输入通道的信号进行采样。

ADC 模块的信道可以工作在规则模式或是注入模式下,对应的触发源分别为规则触发源与注入触发源。所有规则通道共享一个 ADC 结果寄存器,一个通道转换完成后需要及时读取转换结果,否则转换结果可能会被覆盖,具体取决于 overrun 的相关设置。

f5d02840-7779-11ed-8abf-dac502259ad0.png

2.1. 各类触发源工作方式

ADC 的触发源整体上可以分为两类:软件触发与硬件触发。如下面两个表所示,EXTEN[1 :0]与 JEXTEN[1 :0]分别用于设定规则信道和注入信道的触发方式,当其值为 0 时,触发

方式为软件触发,否则为硬件触发。

f62114ee-7779-11ed-8abf-dac502259ad0.png

如果选择软件触发,那么当 ADSTART 或 JADSTART 被置位时,ADC 会立即启动转换。如果选择硬件触发,那么当 ADSTART 或 JADSTART 被置位后,要等待指定的外部事件发生时,ADC 才会启动转换。

对于硬件触发即外部事件触发来说,有多达 32 种外部事件可以选择,这些触发源大致可以分为以下四类,具体可以参考 RM 中关于adc_ext_trgx 和 adc_jext_trgx 的描述。

? 定时器的比较/捕获事件

? 定时器的触发输出 TRGO/TRGO2

? 高精度定时器的 ADC 触发

? 外部输入管脚

一个 ADC 单元可以选择多个硬件触发源,多个硬件触发源之间为“OR”的关系,即任何一个被选定的外部事件发生都可以触发 ADC 启动转换。

下面对几类触发源的工作方式进行介绍。

2.1.1. 定时器的比较/捕获事件

选用定时器的比较/捕获事件来触发 ADC 时,比如 TIM1_CC1,首先需要说明是虽从文档的描述来看比较事件与捕获事件都可以用来触发 ADC,但是实际中捕获事件是不能用来触发 ADC 的,只能使用比较事件,且需要结合触发源的上升沿与下降沿(见上表中的说明)的设置来设置TIM_CC1 的电平在比较事件点动作方式。比如设置通道电平在比较事件点由低电平变为高电平,即上升沿,那么在 ADC 触发源的沿选择上也需要选择上升沿,这样才能保证在正确的位置触发ADC 启动转换。

2.1.2. 定时器的触发输出 TRGO/TRGO2

TRGO 或是 TRGO2 来自于定时器的触发输出,可以选择的触发方式也比较多,如下 TRGO2

的选择项:

f64cb22a-7779-11ed-8abf-dac502259ad0.png

定时器的 Reset 事件、Enable 事件、Update 事件以及和 Compare 相关的事件都可以用来做TRGO2。这里以 TRGO2 为例对相关的事件进行简单说明。

? Reset/Enable/Update :定时器 Reset/Enable/Update 事件作为 TRGO2 输出,并触发ADC 转换,选择这几个事件时,可以忽略 ADC 触发源的沿方式的选择。

? Compare pulse:通道的捕获事件或是比较事件作为 TRGO2 输出,触发 ADC 转换,在up-down counting(Center-aligned mode)模式下,可以通过设定 CMS 位的值来确定比较事件是发生在向上计数阶段还是向下计数阶段,或是向上/向下都产生,此种方式下可以忽略ADC 触发源的沿方式的选择。

? Compare - tim_ocxrefc :定时器通道输出信号作为 TRGO2 输出,触发 ADC 转换,此种方式下,需要结合信道输出波形参考的沿与 ADC 触发源的沿方式来确定最终的 ADC 触发点。

? Compare Pulse - tim_ocxrefc:定时器通道输出波形参考指定的沿作为 TRGO2 输出,触发 ADC 转化,此种方式下可以忽略 ADC 触发源的沿方式的选择。

2.1.3. 高精度定时器的 ADC 触发

在高精度定时器中,包含了 10 个 ADC 触发输出,ADC Trigger 1 ~10,每个触发输出可以有多达 32 个触发事件可以选择。对于 ADC Trigger 1~4,可以同时选择多个触发事件(最多 32),多个触发事件之间为“OR”的关系,其中任意一个事件发生,都将产生 ADC 触发输出;对于 ADC Trigger 5~10,则只能选择其 32 个触发事件中的一个来产生触发输出。

另外,可以对高精度定时器中的 ADC 触发输出进行分频。高精度定时器的频率可以上 G,但是很多情况下 ADC 的采样速率并不需要那么高,通过对 ADC 触发输出进行分频可以降低 ADC 的采样速率,实现多个定时器周期才触发一次 ADC 采样。

选择高精度定时器的 ADC 触发方式时,可以忽略 ADC 触发源的沿方式的选择。

f68154a8-7779-11ed-8abf-dac502259ad0.jpg

2.1.4. 外部输入管脚(EXIT LINE)

当选择的 EXIT LINE 对应的管脚电平出现上升沿或是下降沿时触发 ADC 转换,通过这种方式将 ADC 触发信号与 MCU 外部的信号关联起来,灵活的控制 ADC 转换。

该方式下需要对 ADC 触发源的沿方式的选择,以确定具体的触发时刻是发生在信号的上升沿或是下降沿。

小结

这里对 ADC 的架构进行了简单的介绍,重点说明了 ADC 的各种触发源和工作原理以及在实际选择中需要注意的事项。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    147

    文章

    18108

    浏览量

    371655
  • adc
    adc
    +关注

    关注

    100

    文章

    6769

    浏览量

    550206
  • 模拟量
    +关注

    关注

    5

    文章

    533

    浏览量

    26746

原文标题:ADC 触发源的原理介绍

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    STM32F405RGT6 ADC2+TIM4触发+DMA(DMA2_Stream2_CH1)+DMA中断会死机,怎么解决?

    ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T4_CC4;//外部触发源 外部引脚 (已经禁止触发检测了
    发表于 08-04 07:16

    MDO7350A示波器的介绍

    自动模式,这时不管是什么样的信号示波器都会扫描,即使没有波形,也会有扫描线。有扫描线后,可以通过调节示波器的垂直增益、垂直位置、时基速率等参数找到波形,然后通过选择触发源触发边沿、触发电平等参数来稳定波形 耦合模式选
    的头像 发表于 07-24 16:26 ?130次阅读
    MDO7350A示波器的<b class='flag-5'>介绍</b>

    无法配置 ADC1 来触发 DMA 传输,怎么解决?

    您好,我无法配置 ADC1 来触发 DMA 传输,以便将 ADC 结果复制到缓冲区中并避免使用 ADC1 中断。 根据用户手册,我发现应该使用 DMAP_
    发表于 07-21 06:57

    USB示波器如何设置触发模式?

    USB示波器的触发模式设置是准确捕获和显示特定信号的关键操作,不同类型的触发模式适用于不同的测量场景,以下为你详细介绍常见触发模式的设置方法及适用场景:通用设置步骤 连接设备与打开软件
    发表于 05-15 15:28

    如何使用EXIT0来触发DMA实现SPI发送数据?

    请问一下,我想使用EXIT0来触发DMA实现SPI发送数据。我现在使用PB0作为EXIT0的触发源,我把PB0配置为外部中断模式,DMAMUX同步模式使能,选择EXIT0作为同步信号源,这种情况下
    发表于 04-23 07:31

    存储示波器的触发问题及解决办法

    触发源选择错误(如选择噪声较大的通道)。 触发抑制(Holdoff)设置不足,导致重复触发。 信号包含高频干扰或毛刺。 3. 预触发数据缺失 原因: 预
    发表于 04-09 14:39

    如何使用BCTU触发器进行eMIOS ADC转换?

    我正在努力更好地了解 ADC 和 eMIOS 硬件触发器内部的协同作用S32K324我确实对其功能有一些疑问。 因此,eMIOS 通道在 OPWMT 模式下创建其 PWM 信号,在 A 的匹配上设置
    发表于 04-01 08:18

    中科芯CKS32K148系列MCU的PDB模块解析

    PDB(可编程延迟模块)提供从触发源ADC的硬件触发器输入的可控延迟,触发源来自内部、外部触发器或可编程间隔时钟。PDB可以选择性的提供脉
    的头像 发表于 03-25 16:19 ?1152次阅读
    中科芯CKS32K148系列MCU的PDB模块解析

    施密特触发器是起到什么作用呢?使用adc时必须禁止吗?

    想请教一下,施密特触发器是起到什么作用呢?使用adc时必须禁止吗?
    发表于 03-14 10:56

    DLPC350外触发模式控制异常如何解决?

    我使用dlpc350遇到了一个触发问题,请各位工程师帮助。 我设置的投影序列为先从flash img 1 中加入若干1bit图,再从flash img 0中加入若干5bit图组成投影序列,触发源
    发表于 02-21 07:51

    雅特力AT32F402/F405 ADC使用指南

    多种模式,不同模式可组合使用满足多种应用不同优先权的通道,普通通道与抢占通道具备不同的优先权多种独立的触发源,包括TMR、EXINT、软触发等多种触发选择数据后级
    的头像 发表于 01-10 17:27 ?1151次阅读
    雅特力AT32F402/F405 <b class='flag-5'>ADC</b>使用指南

    STM32H743的高精度定时器触发ADC采样

    目前做的是移相全桥,配置出一对可以移相互补的PWM波,目前已经能够产生了,但是,还是想要在滞后桥臂导通时采集数据,即在后桥臂开启时使用hrtim中的ADC触发采样,我这个就是在master
    发表于 01-09 15:49

    示波器的三种触发模式

    模式进行比较,并介绍它们的实操特点和适用场景。 1. 单次触发(Single Trigger) 单次触发模式是示波器的一种特殊触发模式,通常用于捕获一次性的事件,适用于不规则或偶发信号
    的头像 发表于 01-07 11:04 ?8908次阅读
    示波器的三种<b class='flag-5'>触发</b>模式

    丰富的触发功能-4457系列数字示波器

    、码型、状态、建立保持、窗口、区域触发(可视触发)等,为您在纷繁复杂的采样信息中迅速锁定感兴趣的事件。 ? 4457系列示波器采用精确的数字触发技术,直接对ADC采集样本进行
    的头像 发表于 12-06 17:16 ?814次阅读
    丰富的<b class='flag-5'>触发</b>功能-4457系列数字示波器

    什么是触发开关电路

    触发开关电路是一种特殊的电路,它设计用于在接收到特定信号(如脉冲、电压或电流变化)时,触发开关状态的变化,从而控制电路的通断或执行其他逻辑功能。以下是关于触发开关电路的介绍: 定义与特
    的头像 发表于 09-23 09:50 ?2093次阅读