百韵网 >>  正文

STM32F4 ADC模块使用不同DMA模式的区别和对比 关于stm32 adc 查询跟DMA方式

来源:www.baiyundou.net   日期:较早时间
  这些细节在STM32F4的原厂参考手册中没有说明,只是很简短的列了一下。
  我是查看ST前几天刚发布的接口库才最后弄明白的,不敢独享!
  1、STM32F4有3个独立的ADC单元,性能强劲,可以独立使用,也可以联合使用它们。
  联合使用在参考手册中叫Interleave模式,最大的目的是加倍提升采样速度。
  2、采样速度大幅提高以后,就需要使用DMA来配合提取采样结果,从而发挥STM32F4
  ADC模块的最大效能。
  3、ADC模块使用DMA有4种模式可选,默认模式和模式1没有什么特别之处。
  最有意思的是模式2和模式3:
  模式2可以选择多达3个ADC模块工作于Interleave模式,ADC速度从单一模块的
  2.4Msps暴涨为7.2Msps,而且还是12-bit的分辨率!唯一的要求是每完成2次转换,
  允许DMA一次性取走2个采样值。
  模式3跟模式2类同,但要求ADC模块的采样率为8-bit或6-bit,由于转换时间要比
  12-bit时短,所以速度更快,适用于速度要求更快,但精度要求较低的场合。
  比如用2个ADC模块很容易就可以做到6Msps的速率,而且2次的结果可以存为halfword,
  经由DMA取走,耗用内存也比模式2来的少。
  剩下的那一个ADC模块也不用闲着,可以工作于其他设定(比如:高精度)的模式。

这些细节在STM32F4的原厂参考手册中没有说明,只是很简短的列了一下。
我是查看ST前几天刚发布的接口库才最后弄明白的,不敢独享!

1、STM32F4有3个独立的ADC单元,性能强劲,可以独立使用,也可以联合使用它们。
联合使用在参考手册中叫Interleave模式,最大的目的是加倍提升采样速度。

2、采样速度大幅提高以后,就需要使用DMA来配合提取采样结果,从而发挥STM32F4
ADC模块的最大效能。

3、ADC模块使用DMA有4种模式可选,默认模式和模式1没有什么特别之处。
最有意思的是模式2和模式3:

模式2可以选择多达3个ADC模块工作于Interleave模式,ADC速度从单一模块的
2.4Msps暴涨为7.2Msps,而且还是12-bit的分辨率!唯一的要求是每完成2次转换,
允许DMA一次性取走2个采样值。

模式3跟模式2类同,但要求ADC模块的采样率为8-bit或6-bit,由于转换时间要比
12-bit时短,所以速度更快,适用于速度要求更快,但精度要求较低的场合。
比如用2个ADC模块很容易就可以做到6Msps的速率,而且2次的结果可以存为halfword,
经由DMA取走,耗用内存也比模式2来的少。
剩下的那一个ADC模块也不用闲着,可以工作于其他设定(比如:高精度)的模式。

一句话,STM32F4似灰常强滴。。。
更多猛招,敬请留意后续文章。。。

ST的ADC功能确实是比较强的,激活DMA DUAL Circular Buffer以后,可以利用FPU单元的DSP指令配合前台信号采集,在后台同步完成实时信号分析。简单的说,原先要用200MIPS以下的DSP来做的事情,STM32F4都有机会取代,性价比超强。

关于stm32 adc 查询跟DMA方式~

ADC_InitStructure.ADC_ScanConvMode = ENABLE;//扫描方式,这个一定要打开
ADC_RegularChannelConfig(ADC1, ADC_Channel_0 , 1, ADC_SampleTime_239Cycles5);
ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 2, ADC_SampleTime_239Cycles5);
设置好采集顺序,dma会先发送先采集的通道的数据,后发送后采集的通道的数据。

  这些细节在STM32F4的原厂参考手册中没有说明,只是很简短的列了一下。
  我是查看ST前几天刚发布的接口库才最后弄明白的,不敢独享!
  1、STM32F4有3个独立的ADC单元,性能强劲,可以独立使用,也可以联合使用它们。
  联合使用在参考手册中叫Interleave模式,最大的目的是加倍提升采样速度。
  2、采样速度大幅提高以后,就需要使用DMA来配合提取采样结果,从而发挥STM32F4
  ADC模块的最大效能。
  3、ADC模块使用DMA有4种模式可选,默认模式和模式1没有什么特别之处。
  最有意思的是模式2和模式3:
  模式2可以选择多达3个ADC模块工作于Interleave模式,ADC速度从单一模块的
  2.4Msps暴涨为7.2Msps,而且还是12-bit的分辨率!唯一的要求是每完成2次转换,
  允许DMA一次性取走2个采样值。
  模式3跟模式2类同,但要求ADC模块的采样率为8-bit或6-bit,由于转换时间要比
  12-bit时短,所以速度更快,适用于速度要求更快,但精度要求较低的场合。
  比如用2个ADC模块很容易就可以做到6Msps的速率,而且2次的结果可以存为halfword,
  经由DMA取走,耗用内存也比模式2来的少。
  剩下的那一个ADC模块也不用闲着,可以工作于其他设定(比如:高精度)的模式。

相关要点总结:
(编辑:本站网友)
相关推荐
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图
@ 百韵网