AD 转换芯片使用需知
AD Datasheet 涉及到概念
1. 全差分、伪差分和单端输入
全差分(AIN1(+) - AIN1(-)):
全差分方式工作时,ADC 转换的是 AIN1(+) 与 AIN1(-)引脚的差值,在增益为 1 时,测量的值等于 AIN1(+) - AIN1(-), 范围 -Vref~ +Vref,当增益增加时,输入的范围要相应减少。【差分输入时,差分线之间最好放置一个 100nf 的电容】
伪差分(AIN1(+) - AINGND):
伪差分信号连接方式能减少噪声,允许在仪器放大器共模电压范围内与浮动信号连接。在伪差分模式下,信号与输入的正端连接,信号的参考地与输入的负端连接。 伪差分输入减少了信号源与设备的参考地电位不同所造成的影响,提高了测量精度。
单端输入(AIN1(+) ):
单端方式工作时,ADC 转换的是单输入引脚对地的电压值,在增益为 1 时,测量的值就是输入的电压值,范围是 0~Vref, 当增益增加时,输入的范围要相应减少。
知识点补充:
- 差分方式时所提的负压是指 AIN1(-) 引脚的电压大于 AIN1(+) 引脚的电压,实际输入到两个引脚的电压对地都必需是正的;例如:如果 AIN1(+) 引脚输入的电压为 0V, AIN1(-) 引脚输入电压为 1/2Vref 时,差分的输入电压为:(0V - 1/2Vref ) = -1/2Vref 。
- 伪差分输入与差分输入在减少地环流和噪声方面是非常相似的,不同的方面在于,差分输入模式下,负端输入是随时间变化的,而在伪差分模式下,负端输入一定仅仅是一个参考。
2. 增益与极性
增益(GAIN):
增益越大,ADC的有效分辨率越小,采样速率越高,但噪声也会被相应的放大。
极性:(基准电压为2.5V时,在单极性信号下,输入范围是0到2.5V,在双极性输入下,输入范围是-1.25到+1.25)
极性有单极性和双极性之分,双极性 AD 转换芯片的最高位代表符号位,分辨率减少一位。其计算方式可参考下面 AD719X 系列的数据手册描述:
float AD7192_ConvertToVolts(unsigned long rawData, float vRef)
{
float voltage = 0;
if(currentPolarityAD7192 == 0 ) // Bipolar mode
{
voltage = (((float)rawData / (1ul << 23)) - 1) * vRef / currentGainAD7192;
}
else // Unipolar mode
{
voltage = ((float)rawData * vRef) / (1ul << 24) / currentGainAD7192;
}
return voltage;
}
- 手册中读取温度通道的数值时,需要设置为双极性
- 差分输入时,为了获取左右两侧数值,需设成双极性才能出现负值(角度的正负,由于没有设成双极性,角度只能为正值)
3. 数据传输常用接口(SPI 和 IIC)
使用 SPI 接口获取 AD 芯片中寄存器的值时,得注意 SPI 接口可选的四种模式,例:(it is recommended that SCLK idle high between data transfers)结合 AD7192 手册可知用(0 1)模式,在这上面吃过大亏了0.0
4. 多通道转换
AD 芯片转换过程中,以 AD7192 为例,可同时进行多通道转换,根据追加在数据寄存器的最后一个字节的大小判断哪个通道完成转换。(由于实际中使用平均滤波方案,所以不能使用多通道同时转换)
5. 数据输出速率
当以下寄存器位设置较大时,数据输出速率降低,导致串口无法在固定的频率下发送数据,使得串口出现溢出现象,而定时器继续工作。为了达到实用过程中的固定频率,有必要降低该寄存器的数值。(同时,输出速率越大,噪声也会越大,会使其精度降低)
6. 参考电压
ADC参考电压一般有两种选取方案:(部分芯片只能外接参考电压源)
1. 选取内部参考电压源
2. 选取外部参考电压源
选择参考源,要满足以下原则:
- 参考源的精度及温度稳定性,对内部参考源来说,还应该注意参考源受其供电电源电压值变化影响的程度(纹波越小越好)
- 如果内部参考源不能满足需求,还可以选外部参考源。参考电压的大小选取在规定范围内应该满足最小电压分辨率要求,在满足要求的前提下,可适当提高参考电压,增加容差。
- 最好不要将 VeREF 引出外部,作为其它用途而使用。
7. ADC 中的斩波(chop)
斩波的主要目的是消除失调误差。在 ADI 公司的这些 ADC 上,斩波可以很好的消除失调,提高 ADC 的精度。但 chop enable 也会增加 ADC 的转换时间,降低 ADC 芯片的采集频率。