stm32教程之三重ADC交错采样

这篇具有很好参考价值的文章主要介绍了stm32教程之三重ADC交错采样。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ps:本文基于stm32F407ZGT6单片机

        stm32F4单片机单通道采集的最大采样率为2.4M,所以有时会难以满足较高频率的采样,于是查阅芯片手册,发现stm32F4支持多重ADC采集,利用每个通道的转换时间,错位采样,从而提高采样率,最大把采样率开到2.4*3=7.2M.  (去年初学ADC时研究的,基于cube和HAL库的三重ADC交错采样参考资料不多,我也是研究了一段时间,写下这篇博客希望可以帮助到更多人。)

示意图如下:

stm32f4adc最高采样率,stm32

以下是官方例子的说明,

In this example, the system clock is 144MHz, APB2 = 72MHz and ADC clock = APB2 /2. 
Since ADCCLK= 36MHz and Conversion rate = 5 cycles 
==> Conversion Time = 36M/5cyc = 7.2Msps

这是利用软件触发ADC连续采样的,我试了一下,是可行的。网上为数不多的参考资料也是按上述连续转换模式下的。

但是我是比较习惯使用定时器触发采样的,因为采样率连续可调,比连续转换灵活一些。

所以我开始尝试定时器触发三重ADC!

配置如下:打开TIM8,挂在APB2上,为144M

stm32f4adc最高采样率,stm32

时钟频率配置多少呢?

打开芯片手册:

stm32f4adc最高采样率,stm32

 由此可知 触发源只需要触发ADC1 ADC2和3是根据芯片设定好的三重模式固有时间后自动开启采集的

故ADC1只需配置2.4M  144M/60=2.4M

stm32f4adc最高采样率,stm32

 ADC如何配置呢?

再看芯片手册!

stm32f4adc最高采样率,stm32

 文章来源地址https://www.toymoban.com/news/detail-659323.html

 DMA mode2  !

ADC1配置如下:

(选通道12是因为它纯净 干扰少)

记得打开DMA !

配置类似单通道ADC+定时器触发!

stm32f4adc最高采样率,stm32

ADC2/3 同上 这里就不赘述了!

完成!

生成代码!

 

代码里如何写呢?

再再再次打开芯片手册!!

stm32f4adc最高采样率,stm32

原来如此!我感觉我可以!

开启ADC123和TIM8:(注意三重ADC交替模式下,ADC1有固有开启函数)

 stm32f4adc最高采样率,stm32

stm32f4adc最高采样率,stm32

 编译!烧录!

stm32f4adc最高采样率,stm32

去年测试的,疫情在家就不给测试图了QAQ

去年测试时是用信号发生器给了100khz正弦波信号,一个周期采到了72个点左右。

ps:据学长说这种方式不稳定,单片机工作量大时可能会出bug。

 

 

 

到了这里,关于stm32教程之三重ADC交错采样的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32F103:ADC采样——定时器触发+DMA传输

    实现ADC多通道采样,采用DMA传输,采样由定时器触发 初始化代码:

    2024年02月14日
    浏览(43)
  • STM32F407 ADC+DMA+定时器 定时采样模拟量

    项目中需要对多个通道的电压进行一定频率的AD采样,由于采样过程贯穿整个任务,为了使采样过程尽可能不占用CPU资源,采用定时器触发的多通道ADC扫描采样,且采样数据由DMA传到RAM中的缓存。 这样做有以下几个好处:1、由定时器触发ADC采样,这样采样的频率可控,且定时

    2024年02月14日
    浏览(51)
  • 看野火的视频,用正点原子的板子(STM32F4探索者)做ADC读取电压实验

    使用STM32F4的ADC1通道5(PA5)来采样外部电压值(这里采样两个电压值TPAD(3.3v),GND(0v)),最后通过串口打印电压值。 由上图可以看到, ADC1 的通道 5是对应着引脚PA5的。 板子右边是GND,ADC,TPAD引脚,做实验时,把两者相连即可读电压值。 ADC时钟: 这里是用于模拟电路的时

    2024年02月09日
    浏览(45)
  • 基于STM32的ADC采样及各式滤波实现(HAL库,含VOFA+教程)

            前言: 本文为手把手教学 ADC采样 及 各式滤波算法 的教程,本教程的 MCU 采用 STM32F103ZET6 。以 HAL库 的 ADC采样 函数为基础进行教学,通过各式 常见滤波 的实验结果进行分析对比,搭配 VOFA+工具 直观的展示滤波效果。 ADC 与 滤波算法 都是嵌入式较为常见的,希望这

    2024年02月03日
    浏览(39)
  • 基于STM32的ADC采样及各式滤波实现(HAL库,含VOFA+教程)_数据采集滤波算法stm32(3)

    2.2 VOFA+使用方法 VOFA+ 的数据协议引擎有 3种 : FireWater , JustFloat , RawData 。每种数据协议引擎都有自己特殊的使用效果,读者朋友可以根据自己的实际需要去选择使用。作者这里主要给大家演示一下 FireWater协议 下的VOFA+使用效果和方法。 FireWater协议 是 CSV风格 的字符串流,

    2024年04月23日
    浏览(48)
  • STM32 ADC采样

    目录 1.基础概念 2.原理:ADC采样过程分为四步:采样、保持、量化、编码。 3.采样定理 4.采样保持放大器(SHA) 5.ADC电压值转换 6.ADC轮询采样 1.基础概念 ADC 全称:Analog-to-Digital Converter,指模拟/数字转换器,就是将模拟信号转换成数字信号 ①模拟信号:是连续变化的,具有电

    2024年02月04日
    浏览(47)
  • STM32实现ADC采样

    功能:在单片机上对声音和光强进行采样,通过串口输出其采样值。 工具:实验用到CubeIDE和Cubeprogrammer两个软件,串口调试助手APP,以及STM32L431RCT6单片机。 1、配置使能串口: 2、ctrl+s生成代码。 3、在usart.h中添加头文件。 4、在usart.c中实现printf。  编译代码。可以在main.c文

    2024年02月09日
    浏览(55)
  • STM32ADC同步采样

    本文主要讲解如何实现STM32ADC同步采样。 所需工具: 开发板:STM32F103RCT6 STM32CubeMX IDE: Keil-MDK 同步采样可以让多个ADC同时采集它们各自的输入信号,并且保留它们之间的相位关系,这有助于更有效地捕捉信号的动态变化,特别是对于相位频率分析来说,它具有重要的应用价值。

    2023年04月14日
    浏览(45)
  • STM32-ADC过采样实验

    我们之前已经有过一些关于STM32-ADC的笔记和实验代码了,链接如下: 关于ADC的笔记1_Mr_rustylake的博客-CSDN博客 STM32-ADC单通道采集实验_Mr_rustylake的博客-CSDN博客 STM32-单通道ADC采集(DMA读取)实验_Mr_rustylake的博客-CSDN博客 STM32-ADC多通道输入实验_Mr_rustylake的博客-CSDN博客 首先简单

    2024年02月10日
    浏览(41)
  • STM32F4_模数转换器(ADC)详解

    目录 1. ADC是什么 2. ADC主要特性 3. ADC框图 3.1 ADC开关控制 3.2 ADC时钟 3.3 通道选择 3.4 单次转换模式和连续转换模式 3.5 时序图 3.6 模拟看门狗 4 温度传感器 5. ADC中断 6. ADC初始化结构体 6.1 ADC相关实验配置 7. 相关寄存器 7.1 ADC控制寄存器:ADC_CR1和ADC_CR2 7.2 ADC通用控制寄存器:A

    2024年02月15日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包