STM32F4 ADC模块使用不同DMA模式的区别和对比
2个回答
展开全部
这些细节在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模块也不用闲着,可以工作于其他设定(比如:高精度)的模式。
我是查看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模块也不用闲着,可以工作于其他设定(比如:高精度)的模式。
2016-03-28 · 知道合伙人软件行家
关注
展开全部
这些细节在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都有机会取代,性价比超强。
我是查看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都有机会取代,性价比超强。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询