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

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

3天内不再提示

STM32定时器触发ADC的时序话题

茶话MCU 来源:ST MCU 信息交流 作者:ST MCU 信息交流 2021-02-19 14:13 次阅读

STM32芯片ADC应用中,我们往往会利用定时器来触发ADC的启动转换,而能够触发ADC转换的定时器事件往往有多个,有时我们可能很关注这些定时器事件在触发ADC时有哪些时序上的差别。下面以STM32G4芯片为例,来大致聊聊该话题

26c82428-7215-11eb-8b86-12bb97331649.png

这里选择TIM1来触发ADC。我们从手册或CubeMx配置界面不难看到可用来触发ADC的定时器事件可以是定时器TRGO信号和通道CC事件/信号,而TRGO可能来自定时器的使能动作、定时器的更新事件、通道输出比较事件、通道比较输出参考信号以及编码时钟

27115bca-7215-11eb-8b86-12bb97331649.png

这里先重点就Update事件、通道OCx信号和OCxREF信号作为TRGO来触发ADC,看看相应的触发时间点在哪里。

另外,作为ADC的外部触发事件还有个触发极性选择的配置。这点我们可用从CubeMx配置界面直观看到,如下图所示,可以选择上沿触发、下沿触发或双沿触发。

2741b81a-7215-11eb-8b86-12bb97331649.png

我这里将TIM1配置为向上计数模式,基于PWM1模式,极性选择为0的条件下,让CH1输出PWM信号,以便观察不同定时器事件及配置对ADC触发时序的影响。

277b56d8-7215-11eb-8b86-12bb97331649.png

1、当选择Update Event做为TIM1的TRGO,同时TRGO作为ADC的外部触发事件时,不论ADC的触发极性如何选择,都确定在定时器发生更新事件时触发ADC,即下图红色箭头所指位置。

27b95870-7215-11eb-8b86-12bb97331649.png

2、当选择OC1做为TIM1的TRGO,同时TRGO作为ADC的外部触发事件时,不论ADC的触发极性如何选择,都确定在定时器发生比较事件时触发ADC,即上图绿色箭头所指位置。

3、当选择OC1REF做为TIM1的TRGO,同时TRGO作为ADC的外部触发事件时,此时ADC的触发时间点还跟ADC的触发极性选择有关,如果选择上升沿触发,ADC触发则发生在上图中的红色箭头处,反之则发生在绿色箭头处,如果选择双沿触发,则上图中红色箭头、绿色箭头处都会触发ADC转换。

上面主要介绍的是ADC触发信号源于定时器的TRGO,如果说ADC的触发信号不是来自TRGO而是来自开篇提到的通道CC事件呢。定时器CC事件包括IC事件【input Capture】和OC事件【output compare】。这里IC事件是不能作为ADC触发源的,那我们看看OC事件作为ADC的触发源的情况,即像下面的配置。

28094f56-7215-11eb-8b86-12bb97331649.png

经验证测试,这里选择OC1作为ADC触发源时的情形跟前面选择OC1ref作为TRGO去触发ADC的情形是一样的,具体触发点跟ADC配置的触发极性选择有关,即上面的第三种情形。

看到这里,有人或许会问,既然这两组情形的结果是一样的,为什么配置里面不拿掉一项呢?不过,我们要知道,OCx与OCxref可能一样也可能不一样,具体取决于OC输出时的极性配置。上面我们测得两组情形是一样,刚好是因为OCx与OCxref完全同相,如果调整极性选择,触发时间点就会不一样了,结果就会刚好反过来。毕竟实际应用是千变万化的,说不定哪里就能派上用场。

诚然,STM32系列众多,相应技术手册内容丰富而庞大,细节也多,个别细节可能描述未必很详尽,此时我们实际验证下或许更清晰。OK,关于定时器触发ADC的时序话题就聊到这里。时间真快,祝福2021!一起加油!

原文标题:STM32定时器触发ADC的时序话题

文章出处:【微信公众号:ST MCU 信息交流】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

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

    关注

    95

    文章

    5629

    浏览量

    538927
  • STM32
    +关注

    关注

    2232

    文章

    10650

    浏览量

    347885
  • 定时器
    +关注

    关注

    23

    文章

    3128

    浏览量

    111904

原文标题:STM32定时器触发ADC的时序话题

文章出处:【微信号:stmcu832,微信公众号:茶话MCU】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32L0使用定时器上升沿触发ADC采样时,采样频率如何确定?

    我想问一下,在使用定时器上升沿触发ADC采样时,采样频率如何确定,是定时器频率就等于ADC采样频率吗?用的是
    发表于 03-20 06:37

    STM32L0采用tim6上升沿触发使ADC采样,把定时器频率配为4K后,采样周期不对,为什么?

    目前使用的是STM32L0系列芯片,采用tim6上升沿触发使ADC采样,但把定时器频率配为4K后,采样周期不对,首先想问tim6的时钟源来自哪,其次是这个
    发表于 03-20 06:18

    STM32L431RCT6进入STOP模式后,ADC注入通道不再触发是为什么?

    STM32L431RCT6 ADC注入通道是通过定时器触发的,调试发现定时器正常触发,但是不会
    发表于 03-15 06:32

    STM32定时器时间计算方法

    将详细介绍STM32定时器时间计算方法。 STM32定时器基本结构 STM32定时器通常包含
    的头像 发表于 12-19 11:31 2527次阅读

    STM32如何使用定时器实现微秒(us)级延时?

    STM32如何使用定时器实现微秒(us)级延时? 在STM32微控制器中,可以使用定时器实现微秒级延时。具体来说,可以使用定时器的计数器和自
    的头像 发表于 11-06 11:05 2435次阅读

    STM32F407中定时器1和定时器5的触发关系是什么?

    为0时,接受来自定时器5的触发。但是SMS位既然已经是0,说明从模式应该已经被禁止了;但实际上定时器又确实被定时器3或者5给影响了。请问这是怎么回事呢?
    发表于 10-26 08:09

    STM32速成笔记(6)—定时器

    关于什么是定时器,简单来讲,就是是用来定时的。STM32F103ZET6有两个基本定时器TIM6和TIM7,四个通用定时器TIM2~TIM5
    的头像 发表于 10-24 09:41 1408次阅读
    <b class='flag-5'>STM32</b>速成笔记(6)—<b class='flag-5'>定时器</b>

    定时器触发3路ADC同时采样指定次数

    定时器触发3路ADC同时采样指定次数控制3路ADC相等时间间隔,采样N次。
    发表于 10-19 08:30

    555定时器施密特触发器应用 555定时器施密特触发器工作原理

    555定时器是一种非常常见的集成电路,而555施密特触发器是555定时器的一个重要应用之一。555施密特触发器可以将输入的模拟信号转换为数字信号,并提供稳定的输出。
    的头像 发表于 08-24 15:12 3191次阅读

    STM32L431RCT6进如STOP模式后,ADC注入通道定时器会正常触发但不会触发注入通道

    STM32L431RCT6 ADC注入通道是通过定时器触发的,调试发现定时器正常触发,但是不会
    发表于 08-05 07:09

    STM32有哪几种定时器 STM32高级定时器有哪些功能

    SysTick定时器的功能比较单一,主要是供给系统使用的,系统默认设置为1ms触发一次中断。而用户想要使用自己的定时器STM32提供的用户定时器
    的头像 发表于 07-27 16:25 3677次阅读
    <b class='flag-5'>STM32</b>有哪几种<b class='flag-5'>定时器</b> <b class='flag-5'>STM32</b>高级<b class='flag-5'>定时器</b>有哪些功能

    STM32 TIM—基本定时器

    STM32F4xx系列控制器有共有14个TIM定时器。其中2个高级控制定时器TIM1和TIM8、10 个通用定时器TIM2TIM5和TIM9TIM14、 2个基本
    的头像 发表于 07-22 17:05 3084次阅读
    <b class='flag-5'>STM32</b> TIM—基本<b class='flag-5'>定时器</b>

    STM32定时器(一)PWM输出

    STM32定时器分类众多,按照内核、外核标准分为两部分:核内定时器+核外定时器
    的头像 发表于 07-21 14:51 2513次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>定时器</b>(一)PWM输出

    STM32CubeMx入门教程(3):定时器的使用

    导语“ 使用STM32CubeMx 生成初始化定时器代码,实现定时器特定定时
    发表于 07-11 15:22 2209次阅读
    <b class='flag-5'>STM32</b>CubeMx入门教程(3):<b class='flag-5'>定时器</b>的使用

    STM32定时器介绍

    本文将介绍STM32定时器的一些基本概念性的东西,方便后面内容的理解学习。
    的头像 发表于 04-21 11:33 1887次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>定时器</b>介绍