STM32F407之ADC简介

      STM32F407的ADC可谓是非常强大,有3个ADC每个ADC最大的采样率达到了0.41us(既2.4M),如果3个ADC在规则组模式下同时采样最快可以达到7.2M的采样率。

      在讲解ADC采样之前ADC的时钟ADCCLK是一个非常关键的因素。ADCCLK的时钟来自于APB2(AHB一般为系统时钟的1分频168M,APB1为系统时钟的4分频42M,APB2为系统时钟的2分频84M),最终ADCCLK的时钟是通过Fpclk2通过2、4、6、8分频而来,在这里提一下stm32的时钟,其实理解一块stm32芯片理解其不同的时钟线是非常关键的事情,可能有些人看到Fpclk2可能就蒙了,其实Fpclk2就是APB2的意思这里自己可以在编程文档中找到。

      在stm32F4-discovery开发板中adc的例程中系统的时钟总线为SYSCLK为144M,经过2分频到APB2为72M,ADCCLK如果采用最小的2分频为36M。

      ADC的采样时间是按照:Tconv = Sampling time + 12 cycles,当采样时间为3cycles时,总的转换时间为15个ADCCLK,ADCCLK在36M下即为2.4M。可以这么说对于ADC的采样时间非常的重要。

      stm32F4的ADC涉及到一个规则组和注入组的概念这里就不提了,自己可以通过查看文档来解决,其实就是转换的方式不同而已。

      既然ad采样好了,那么对连续或交替的ad采样中数据的搬移是一个关键,这里stm32F4提供了3种高效的DMA搬运方法:

      DMA模式1:单次触发模式,当ADC转换完成就进行ADC转换数据的搬移。

      DMA模式2:2次转换触发,当有ADC1和ADC2同时交替工作时,每完成1次交替转换,就将ADC1的数据放在低半字,将ADC2的数据放在高半字。

                                                       当有ADC1和ADC2及ADC3同时交替工作时,每完成一次交替转换,就将就将ADC1的数据放在低半字,将ADC2的数据放在高半字,在下一次交替工作的时候将ADC3的数据放在低半字,将新一次的ADC1数据放在高半字。

      DMA模式3:该模式类似于模式2,但是只能用于交替模式且转换位数为6或8位,每转换2个ADC将数据以半字存放。

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值