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

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

3天内不再提示

基于STM32多通道ADC综合应用示例

茶话MCU 来源:ST MCU 信息交流 2020-09-08 14:10 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

有人使用STM32芯片做产品开发,需用到多个通道的ADC转换。大致需求是这样的:

有2个ADC通道需要每10ms启动一次转换,另外5个通道希望50ms启动一次转换。试问如何实现上述功能比较好。

这里不妨以STM32F302芯片为例,来介绍两种实现上述功能的大致方案以供参考。方案里涉及到ADC规则通道、注入通道的使用、DMA的使用、定时器的灵活使用,具备一定综合性。下面介绍以贴图为主,没法一点一滴做解释了。

第一种方案,我们使用ADC1模块的CH1到CH7连续的7个通通来做AD转换,其中CH6/CH7配置为注入通道【我将其戏称之为插队通道】,另外5个通道配置为规则通道。

其中,规则通道的触发选用TIM1的触发输出信号【TRGO】,注入通道的触发选择TIM1通道4的比较事件。我们将TIM1的计数模式选择向上单向计数模式,计数周期设置为10ms,并开启TIM1_CH4的PWM输出功能,周期也是10ms,这样就可以实现每10ms触发一次注入通道的转换动作。

另外,我们将RCR重复计数寄存器设置为4,即每溢出4+1次则产生一次定时器更新事件,并将其将做为TIM1的TRGO信号,这样就保证了每50ms触发一次规则通道的ADC动作。【注:RCR寄存器只有高级定时器才有】

规则通道的ADC结果通过DMA取走送到指定内存单元,DMA配置为Normal模式。

利用STM32CubeMx进行配置后,添加必要的用户代码。

两个数组分别存放规则通道和注入通道的转换结果。

开启TIM1以及通道4的PWM输出;

开启ADC规则通道/注入通道,只待触发信号。

在规则通道的DMA传输完成中断里重启ADC的转换。

编译运行查看结果【下表中分别为规则通道和注入通道结果】:

一路下来,只要各个环节都弄清楚、做到位了还是挺简单的。

当然,TIM1作为高级定时器有时可能有它用,没法用在这里。我们知道,STM32芯片的定时器往往较多,而且很多都可以产生ADC的触发事件,此时我们不妨稍加调整即可得出新方案。

比方还是开篇的应用需求和STM32F3芯片,我们可将规则通道和注入通道的触发事件分别调整为TIM6的触发输出和TIM15的触发输出,时间参数各种独立配置即可。

好,本示例就介绍到这里,文笔不佳,但求行文简捷。实现方案也不是唯一的,最终要结合具体应用场景和所选择的芯片型号。在此只希望能带给大家一些相关应用方面的启示或借鉴。

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

    关注

    462

    文章

    53534

    浏览量

    458953
  • adc
    adc
    +关注

    关注

    100

    文章

    7380

    浏览量

    553734
  • STM32
    +关注

    关注

    2305

    文章

    11120

    浏览量

    371097

原文标题:基于STM32多通道ADC综合应用示例

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ADS1274/ADS1278:高性能通道ADC的深度剖析与应用指南

      在工业测量、数据采集等众多领域,高精度、通道的模拟 - 数字转换器(ADC)一直是关键的核心部件。德州仪器(TI)推出的ADS1274和ADS1278就是这样两款具有卓越性能的24位Delta
    的头像 发表于 11-27 15:54 296次阅读
    ADS1274/ADS1278:高性能<b class='flag-5'>多</b><b class='flag-5'>通道</b><b class='flag-5'>ADC</b>的深度剖析与应用指南

    深入剖析ADS1174:高性能通道ADC的卓越之选

    和ADS1178这两款通道、同步采样的16位ADC。 文件下载: ads1174.pdf 产品概述 ADS1174为四通道转换器,而ADS1178则是八
    的头像 发表于 11-26 17:39 620次阅读
    深入剖析ADS1174:高性能<b class='flag-5'>多</b><b class='flag-5'>通道</b><b class='flag-5'>ADC</b>的卓越之选

    通道ADC数模转换器电池管理系统解决方案

    在BMS汽车电池管理系统、工业传感与精密测量等领域,高精度、通道ADC数模转换器是实现信号采集与处理的关键元件。ADX3202AQFN32作为一款高性能的
    的头像 发表于 11-14 14:53 163次阅读

    ADC12DJ1600 双通道、12位、1.6GSPS ADC技术手册

    ADC12xJ1600 是四通道、双通道和单通道、12 位、1.6GSPS 模数转换器 (ADC) 系列。低功耗、高采样率和 12 位分辨率
    的头像 发表于 10-31 11:20 864次阅读
    <b class='flag-5'>ADC</b>12DJ1600 双<b class='flag-5'>通道</b>、12位、1.6GSPS <b class='flag-5'>ADC</b>技术手册

    STM32通道FFT运算异常的原因?怎么解决?

    问题报告:STM32通道FFT运算异常 报告人:XXX日期:2025年X月X日硬件平台:STM32F407VGT6开发环境:STM32Cu
    发表于 06-19 06:27

    EEPROM芯片内部的1路14bit ADC, ADC精度受使用通道数和采样率是怎么样的?

    带宽是ADC输入通路可以有效采样的信号频率范围,它与采样率不同。即使采样率很高,如果输入信号的频率超过了ADC的采样带宽,也会导致信号失真,进而影响精度。使用通道数l 单通道
    发表于 06-04 09:04

    为什么在“PWM Adc Dma 344 S32CT”示例中使用ISR块来读取dma adc通道

    我正在 MBDT 中使用 S32K358 进行一个项目,我正在寻找启用 DMA 传输类型的 ADC 模块。 在 ADC 示例“PWM Adc Dma 344 S32CT”中,我发现要读
    发表于 04-08 06:39

    模式数字接收器可使用双通道14位ADC SC1259(AD9258)

    模式数字接收器可使用双通道14位ADC SC1259(AD9258)
    的头像 发表于 04-01 10:07 546次阅读
    <b class='flag-5'>多</b>模式数字接收器可使用双<b class='flag-5'>通道</b>14位<b class='flag-5'>ADC</b> SC1259(AD9258)

    国产8/16通道ADC用于通道精密采集,替换AD4115

    国产8/16通道ADC用于通道精密采集,替换AD4115
    的头像 发表于 03-31 10:22 1071次阅读
    国产8/16<b class='flag-5'>通道</b><b class='flag-5'>ADC</b>用于<b class='flag-5'>多</b><b class='flag-5'>通道</b>精密采集,替换AD4115

    STM32G030F6 ADC+DMA通道非连续采样无法正常工作怎么解决?

    配置:使用STM32G030F6 ADC外设时,ADC使用两个通道。DMA配置为循环模式,ADC扫描模式+非连续采样。 问题:初始化阶段能进
    发表于 03-12 07:10

    STM32采集ADC128S022选择4路通道电压值就不对了,采集一路0通道是对的,精度0.0几个毫伏,为什么?

    STM32采集ADC128S022我选择4路通道电压值就不对了,采集一路0通道是对的,精度0.0几个毫伏
    发表于 01-13 08:41

    通道adc在切换通道的时候需要注意些什么?

    我现在切换通道的时候,数据更新出现了点问题,有时候明明切换到通道2了,但是读的数据却是通道1的,但是有时候又是正常的! 用的adc芯片是iic通讯接口的,18位的
    发表于 01-09 06:07

    通道ADS8168每个通道的采样速率是多少?

    最近在做通道AD选型,要求一个芯片是8个通道,千分之一的精度,采样速率是120k,最终选中ADS8168,但是ADS8168的数据手册上写着1MHz Throughput with 16MHz
    发表于 12-12 06:01

    FPGA的通道数据采集传输系统

    一、系统总体方案设计 为了满足油田增压站对数据采集的需求,我们设计了一套基于FPGA的通道数据采集与传输系统。系统以FPGA作为主控制器,利用外部ADC芯片完成模拟信号的采集,通过以太网实现与上位
    的头像 发表于 12-09 10:45 1211次阅读
    FPGA的<b class='flag-5'>多</b><b class='flag-5'>通道</b>数据采集传输系统