1.AD7799介绍
AD7799结构图如下所示:
其中REFIN参考电压建议为2.5V, REFIN电压低于0.1V时,则差分输入ad值就无法检测了,如下图所示:
注意:
如果REG_CONFIG的REF_DET开启的话,那么输入AD值电压低于0.5V时,则差分输入ad值就无法检测了,如下图所示:
2.AD7799差分信号的输入模式
如下图所示,差分输入电压有3种模式:
注意:
单端输入电压(AIN-接地,只有正电压)则支持任意范围,比如In-Amp模式下,单端输入如果为10mv的话,也能检测到.
2.1 Unbuffered Mode非缓冲模式
该模式可测的AD值可以在 -30mV ~ (AVDD+30mv)范围之间,如果开了双极型模式(双极型模式通过将REG_CONFIG的U/B位设0实现),则也可以测-(AVDD+30mv)~30mV之间AD值.
也就是说假如我们要测的AD值位于-100mV~100mV之间,则用这个模式.
该模式优缺点:可测范围最大,但是精度误差不是很高
2.2 Buffered Mode缓冲模式
缓冲的作用就是减少测的AD误差,并且功耗相应地会增高点,该模式主要是测100mV~( AVDD-100mV)之间.
该模式优缺点:可测范围比Unbuffered小一点,并且精度误差高一点
2.3 In-Amp 高增益模式
需要将REG_CONFIG的Gain调到4及以上才是该模式,否则的话,就会根据REG_CONFIG的BUF位来自动判断是Buffered Mode还是Unbuffered Mode.
并且AD值必须位于300mv~(AVDD+1100mv)之间,否则的话该模式是无法检测AD值的,之前笔者就是测差分输入的正负20mV,却一直没有反应,后来才发现是处于这个模式的原因.
该模式优缺点:可测范围可以通过设置Gain来设置测试范围,比如VREF为3V,Gain=4,则可测量程为正负600mv.
注意:
当使用Buffered Mode或者In-Amp模式时,需要将REG_CONFIG的BO位开启,介绍如下图所示:
3.代码效果
串口截图如下:
通过电压发生器不停修改AD值时,可以看到万用表和串口打印的数据相差不大:
PS:由于GIF录制的像素位数太低,所以不清晰