1. 定时器触发就是两次采集之间的时间间隔,比如定时器触发的时间我设置为2s,即间隔2s的时间采集一次。那么采集一次需要的时间是多少呢,这个是可以设置的,也被叫做转换时间,一般都是us级别。这个就是通过这个函数可以进行配置的 ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_55Cycles5);,ADC_SampleTime_55Cycles5就是下文说到的采样时间设置,转换时间(单次采样花费的时间)计算如下
    公式:TCONV = 采样时间+ 12.5 个周期
    例如:当ADCCLK=14MHz 和1.5 周期的采样时间,TCONV = 1.5 + 12.5 = 14 周期 = 1μs,所以定时器的触发的间隔时间应该大于ADC的最小转换时间1us的,不然数据没有及时被取走的话,数据就会被覆盖。

  2. 如果我们的输入信号是 20KHz (周期为 50us),若要将它恢复出来,一个周期最少采样20个点,所以两个点之间的间隔时间为50us/20 = 2.5us,此时采样率要达到1/2.5us*1000 000=400KHz(1s = 1000 000us),所以ADC的采样率必须在400KHz 以上。为了达到最好的精度,如果系统时钟为72MHZ,我们选取ADC时钟为12MHz,即6分频。在12MHz 以及保证采样率的情况下,采样时间越长,准确性就越好。可以计算 2.5us = (12.5 + 采样时间)/ 12MHz (定时触发的间隔时间为2.5us,ADC最大的转换时间为2.5us,所以我们设置 采样时间时候不能使得(12.5+采样时间)/12MHZ>2.5us,最多相等),根据等式可以求得采样时间为17.5;所以采样时间的选择必须小于等于17.5个周期,才能保证采样率在400KHz 以上。所以我们可以选择1.5、7.5、13.5,为获得更高的精准度,我们可以选择13.5个周期。
    如上图所示T就是定时器配置的定时时间,也就是上文说的2.5us那个时间,t1,t2,t3就是单次采样转换时间,这个时间越长转换越精确,但是这个时间不可以比T大,否则单个采样还在转换中,结果又来了新的转换,可能什么数据都没有或者是得到了不正确的采样数据,有图可知t1最大可以等于T,这个时候实际上精度是最高最好的。

    以上我是从很多人的理解中提炼出来的,我感觉是彻底说明白了定时器触发ADC采样中涉及到的一些问题,希望不懂的人可以理解,高手别笑话。

STM32定时触发ADC 采样频率等问题总结相关推荐

  1. STM32 TIM3_TRGO触发ADC TIM6触发DAC DMA

    最近正在学习STM32相关内容,了解了STM32的ADC,DAC,DMA,TIM等原理及配置后,DAC输出.ADC采集的例子. ADC配置 ADC_GPIO配置 static void ADCx_GP ...

  2. STM32 FFT DMA ADC THD

    利用STM32 FFT算法计算THD 一.设备准备 -->粤嵌STM32F429IGT6开发板 1块 -->串口调试助手 二.FFT算法意义 使用FFT算法,是为了获取信号在频域的相关参数 ...

  3. STM32F103C8T6制作舵机测试仪详细图文教程 | 定时器触发ADC | DMA传输 | PWM输出 | RTC实时时钟 | USART串口输出 | OLED IIC显示

    自主学习STM32已有一周,先实现一个小demo,算是给自己一个动力叭,有目标的学习收获会更多.虽然本科也修了嵌入式课程,但那种走马观花式的学习,最后真正得到的知识实在寥寥无几.个人理解,学习STM3 ...

  4. STM32F0 定时器触发ADC,多通道采样、DMA传输数据的配置

    本块代码实现了定时器定时触发ADC,多通道采样,并通过DMA进行数据传输到内存的操作. #include    "adc.h" [cpp] view plaincopy #defi ...

  5. 【STM32】定时器TIM触发ADC采样,DMA搬运到内存(超详细讲解)

    TIM+ADC+DMA原理 一般情况下,当我们需要进行采样的时候,需要用到ADC.例如:需要对某个信号进行定时采样(也就是隔一段时间,比如说2ms). 本文提供的解决方案是:使用ADC的定时器触发AD ...

  6. STM32F4时钟触发ADC双通道采样DMA传输进行FFT+测频率+采样频率可变+显示波形(详细解读)...

    此文转载自:https://blog.csdn.net/qq_45620831/article/details/110819495 写在前面的婆婆妈妈的话 本人大三,参加过数次电赛,来CSDN好久, ...

  7. stm32上升沿采样_stm32 外部上升沿触发ADC采集

    [实例简介] 通过外部PB11口进行捕获上升沿来触发ADC捕获,欢迎大家下载 [实例截图] [核心代码] 8f9ao1 └── 新建文件夹 ├── HARDWARE │   ├── adc │   │ ...

  8. STM32F4时钟触发ADC双通道采样DMA传输进行FFT+测频率+采样频率可变+显示波形(详细解读)

    写在前面的婆婆妈妈的话(代码链接在最下方) 本人大三,参加过数次电赛,来CSDN好久, 每次都是在绝望中从这里找到了希望,每次都仿佛一个即将被怪兽打翻的小船突然被危险流浪者救起来.是众多前辈的智慧,让 ...

  9. dma和通道的区别_STM32 定时器触发 ADC 多通道采集,DMA搬运至内存

    引言 ADC 的功能是将模拟信号采样得到数字信号,而有些时候,我们需要使用到定时采样,比如在计算一个采集的波形的频率的时候,我们需要精确的知道采样频率,也就是 1 s 内采集的点数,这个时候,就需要使 ...

最新文章

  1. Fragment-FragmentMannager中的方法
  2. ACM/ICPC 2018亚洲区预选赛北京赛站网络赛 80 Days(双向队列+尺取法)
  3. BZOJ 4241: 历史研究
  4. sparkSQL 统计TopN
  5. 洛谷P1074:靶形数独(搜索、剪枝)
  6. Loj#116-[模板]有源汇有上下界最大流
  7. 接口的抽象与实现(概述)
  8. C++(1)--概况、开发工具、hello word
  9. 树状数组-神奇的二进制
  10. MySQL 查询速度慢与性能差的原因与解决方法
  11. minetest Window编译运行
  12. 操作系统思考 第六章 内存管理
  13. 牛客小白月赛8: I. 路灯孤影(区间DP)
  14. serlvet配置xml和@WebServlet
  15. rainmeter皮肤编写教程
  16. 稳定排序与不稳定排序
  17. 19级HPU算法协会公开课第一期:【基础算法1】 题解
  18. DVM,ART,JVM之间的关系
  19. 中国通信行业进入5G时代,巨大发展空间值得期待!
  20. 『玩转Mybatis』Mybatis超强大的动态SQL大全

热门文章

  1. java下载pdf_java实现文件下载..pdf
  2. 定时报警器课程设计(基于单片机)
  3. 中国石油大学《高等数学二》第二次在线作业
  4. TP-Link ER系列路由器下挂路由器设置VLAN方法
  5. Qt加载高德在线地图
  6. 机械式计算机自制,自制计算机(1):机械计算机原理
  7. php根据淘宝短链接获取商品ID
  8. 双模控制器很耗电_电动车双模控制器什么意思
  9. Button 英文大写问题
  10. 理想电压源的内阻是0,理想电流源的内阻是无穷大