打印

请问一下STM32的ADC问题

[复制链接]
3647|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
stealth|  楼主 | 2010-1-6 17:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我要用STM32F103的ADC去采集数据,为了避免MCU的个体差异,需要校准ADC。但ST的手册看半天也没看明白那个自动校准到底是怎么一回事。我的理解不知道对不对:
    1、这个自动校准应该是把ADC的输入接到地,然后转换出结果,那个结果应该是包括了OFFSET error在内的误差对吗?
    2、这个结果永远>=0?如果不,那用什么方式来表示负的?
    3、到底我要不要去读这个校准结果,是校准后只要我不掉电,每次ADC帮我自动加减得出精确的结果,还是要我自己写程序把ADC转换数据加上还是减去它来得到最终的结果?
    此外还想请教一下各位DX,ADC部分的外围电路应该怎么设计误差最小?我就用来测几个大概0-3V输出的传感器,大概1个毫秒检测一次。
    PS:由于我担心同一个传感器同一个输出值,到了不同的MCU上,ADC的读数都会有偏差,所以想先测出每一个MCU的OFFSET,如果这个自动校准帮我做了这些当然最好。只是ST的手册说的实在是太含糊了,怎么也没弄清楚。
沙发
香水城| | 2010-1-6 17:40 | 只看该作者
1)手册里说“启动校准前,ADC必须处于关电状态”,也就是说ADC引脚根本不起作用,随便你怎么接。
手册里还说“在校准期间,在每个电容器上都会计算出一个误差修正码(数字值),这个码用于消除在随后的转换中每个电容器上产生的误差。”关于ADC的误差种类,请看ST的应用笔记AN2834 - How to get the best ADC accuracy in STM32F10xxx devices;关于误差范围,请看对应产品的数据手册。

2、3)手册里说,ADC的校准是自校准,即校准的结果由ADC自己使用,你不必理会。

------------
ADC部分的外围电路应该怎么设计误差最小?这个问题请参考上面给出的AN2834。

由于我担心同一个传感器同一个输出值,到了不同的MCU上,ADC的读数都会有偏差。我认为这个担心是多余的,除非你要求的精度超出了STM32的范围,那将意味着STM32不适合你的应用。

使用特权

评论回复
板凳
zwll| | 2010-1-6 19:35 | 只看该作者
香主解释的好详细啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

87

帖子

1

粉丝