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的触发输出,时间参数各种独立配置即可。

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

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

    关注

    463

    文章

    54429

    浏览量

    469377
  • adc
    adc
    +关注

    关注

    100

    文章

    7946

    浏览量

    556896
  • STM32
    +关注

    关注

    2313

    文章

    11195

    浏览量

    374656

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    探索MAX1400:高性能18位低功耗通道ADC的深度剖析

    探索MAX1400:高性能18位低功耗通道ADC的深度剖析 在电子设计领域,模数转换器(ADC)一直是连接模拟世界和数字世界的关键桥梁。今天,我们聚焦于MAXIM推出的MAX1400
    的头像 发表于 04-09 16:40 244次阅读

    探索MAX1402:18位低功耗通道ADC的卓越性能

    探索MAX1402:18位低功耗通道ADC的卓越性能 在电子工程师的日常工作中,选择合适的模数转换器(ADC)对于实现高精度、低功耗的系统设计至关重要。今天,我们就来深入探讨一下MA
    的头像 发表于 04-09 16:35 196次阅读

    MAX1401:18位低功耗通道过采样ADC的深度解析

    MAX1401:18位低功耗通道过采样ADC的深度解析 在电子设计领域,模数转换器(ADC)是连接模拟世界和数字世界的关键桥梁。今天,我们要深入探讨一款性能卓越的
    的头像 发表于 04-09 16:35 205次阅读

    MAX1316 - MAX1326:高性能通道ADC的卓越之选

    MAX1316 - MAX1326:高性能通道ADC的卓越之选 在电子设计领域,模拟 - 数字转换器(ADC)是连接现实世界模拟信号与数字系统的关键桥梁。MAX1316 - MAX1
    的头像 发表于 04-08 12:00 255次阅读

    MAX1304 - MAX1314:高性能通道12位ADC的深度解析

    MAX1304 - MAX1314:高性能通道12位ADC的深度解析 在电子设计领域,模数转换器(ADC)是连接模拟世界和数字世界的关键桥梁,其性能直接影响着系统的精度和稳定性。Ma
    的头像 发表于 04-08 11:55 243次阅读

    探索MAX1146 - MAX1149:通道14位ADC的卓越性能

    探索MAX1146 - MAX1149:通道14位ADC的卓越性能 在当今的电子设计领域,模拟 - 数字转换器(ADC)扮演着至关重要的角色,它是连接模拟世界和数字世界的桥梁。今天,
    的头像 发表于 04-07 10:10 114次阅读

    MAX1021/MAX1043:10 位通道 ADC/DAC 芯片的深度解析

    MAX1021/MAX1043:10 位通道 ADC/DAC 芯片的深度解析 作为一名电子工程师,在设计电路时,常常需要高性能、多功能的芯片来满足复杂的应用需求。今天我要给大家详细介绍一款非常
    的头像 发表于 04-02 11:05 237次阅读

    MAX11606 - MAX11611:低功耗通道10位ADC的卓越之选

    MAX11606 - MAX11611:低功耗通道10位ADC的卓越之选 在电子设计领域,模拟到数字的转换是一项关键技术,而ADC(模拟 - 数字转换器)则是实现这一转换的核心器件。
    的头像 发表于 04-01 14:55 129次阅读

    MAX11410:24位通道低功耗Delta - Sigma ADC的卓越之选

    MAX11410:24位通道低功耗Delta - Sigma ADC的卓越之选 在电子设计领域,高精度、低功耗的模数转换器(ADC)一直是工程师们孜孜以求的关键组件。今天,我们就来深
    的头像 发表于 03-30 10:30 328次阅读

    高精度通道数据采集利器:AD4691/AD4692 ADC深度解析

    高精度通道数据采集利器:AD4691/AD4692 ADC深度解析 在电子设计领域,高精度、通道的数据采集需求日益增长。AD4691/A
    的头像 发表于 03-25 11:55 257次阅读

    ADC通道采集技术:温度、电压与外部信号全兼容

    无论应用场景如何变化,温度、电压与外部传感器信号始终是系统监控的核心。ADC凭借其通道兼容性、高采样率与灵活接口,能够无缝接入各类信号源,实现全兼容、高精度的数据采集。   在智能家居中实时
    的头像 发表于 02-09 15:30 344次阅读
    <b class='flag-5'>ADC</b><b class='flag-5'>多</b><b class='flag-5'>通道</b>采集技术:温度、电压与外部信号全兼容

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

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

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

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

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

    ADC12xJ1600 是四通道、双通道和单通道、12 位、1.6GSPS 模数转换器 (ADC) 系列。低功耗、高采样率和 12 位分辨率
    的头像 发表于 10-31 11:20 1295次阅读
    <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