高精度模数ADC转换设计注意事项

 

该模数ADC转换芯片使用的是MCP3221,关心的几个重要参数:

(1)分辨率12bit,高精度,满足大都数场合

(2)误差INL : +-2LSB  (Integral Nonlinearity:积分非线性) ;     DNL : +-1LSB(Differential Nonlinearity:微分非线性)  ,主要看微分非线性这个参数

(3)Sampling switch resistor : Rs = 1K (内部采样的开关电阻)

(4)输入范围( VSS-0.3 ~ VDD+0.3 )V

 

第一个注意事项:

分辨率是12bit,误差INL : +-2LSB  ;     DNL : +-1LSB ,为了后续更好的计算,VREF选择4.096V的一个基准电压源,这样INL : +-2LSB = +-2mV    DNL : +-1LSB = +-1mV,

I2C读取到的数据,就不需要进行换算了,读出来的值直接是电压值,单位是mV.(如果要换算,就涉及到除法运算,除不尽的时候,就会给结果带进了误差)

第二个注意事项:

ADC内部采样的开关电阻Rs = 1k, 阻抗比较小,所以要求外部的输入阻抗Rss要比这个值小得多,小到认为可以忽略外部的输入阻抗,这样采集到的电压就更精准。

 

那如何保证输入的阻抗极小呢?

一般在输入前端加运放跟随,做一级隔离缓冲处理,因运放具有输入阻抗极高,闭环时输出阻抗极小的特点。如上图 在MCP3221模拟输入前端加一级运放跟随WS72551EA-5/TR。

这时需要考虑第三个注意事项了:

运放的选择,如果要求测试的结果要达到文档上所标注的误差范围在+-1mV内,那么选择运放时就有所考虑了,而不是随便选一个运放就行。这里看下WS72551EA-5/TR运放这个参数

(1)首先尽量选择较小的offset voltage ,要在uV级别,如果这个参数在mV级别,那么测试结果与实际值会偏差比较大,根本达不到文档所说的  DNL : +-1LSB = +-1mV内。

(2)偏置电流也选小点的,尽量选在pA级别,这样就保证该运放输入的阻抗非常高,比如输入的信号电压是5V, 其输入阻抗 Z = Vs / IB = 5(V) / 10(pA) = 500GΩ  ,运放的输入阻抗越高,对前级电路的影响就越可以忽略不计。

 

满足以上几个要求,测试出来的精度肯定是跟文档描述的一致。

 

posted @ 2021-11-16 23:00  MyBooks  阅读(615)  评论(0编辑  收藏  举报