STM32F4 ADC模块使用不同DMA模式的区别和对比
2011-11-14 14:43
323 查看
这些细节在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都有机会取代,性价比超强。
相关文章推荐
- 与不同框架整合时mybatis的使用区别 (对比redis)
- play Modules & 使用成熟的Java模块、框架、Spring & 模块和插件的区别
- VS2008中源文件与模块生成时的文件不同,仍要让调试器使用它吗
- zepto与jquery的区别及zepto的不同使用8条小结
- 源文件与模块生成时的文件不同,是否希望调试器使用它?如何解决
- 包含别人的dll,然后我们用类库再次封装成dll的时候的注意事项;源文件与模块生成时的文件不同;创建调试信息文件 ··PDB时发生意外的错误,进程无法访问文件,因为另一个程序正在使用此文件
- 使用 Environment Indicator 模块区分不同的 Drupal 环境
- VS2010和VS2008使用不同编译方式在64位机器生成注册表对比
- kinetis之 KV46F150M 的ADC模块使用小结
- zepto和jquery的区别,zepto的不同使用8条小结
- zepto和jquery的区别,zepto的不同使用8条小结
- Python自动化运维笔记(五):使用filecmp模块实现文件以及文件目录差异对比
- 在java中,对比字符串时使用==与使用equals的区别
- Python中time模块与datetime模块在使用中的不同之处
- AD09之与AD6版本使用不同对比
- 仔细思考一个接口的不同实现得到的类和一个类的不同对象使用起来到底有什么区别?
- 使用opencl实现编码算法中运动搜索模块速度对比
- 使用Python的PIL模块来进行图片对比
- python下的select模块使用 以及epoll与select、poll的区别
- zepto和jquery的区别,zepto的不同使用8条小结