细心的同学在阅读PCF8591手册的时候,会发现控制字的第4位和第5位是用于控制PCF8591的模拟输入引脚是单端输入还是差分输入。差分输入是模拟电路常用的一个技巧,这里我们简单介绍一些相关内容。
从严格意义上来讲,所有的信号都是差分信号,因为所有的电压只能是相对于另外一个电压而言。但是大多数系统,我们都是把系统的GND作为基准点。而对于A/D来说的差分输入,通常情况下是除了GND以外,另外两路幅度相同,极性相反的差分输入信号,其实理解起来很简单,就如同我们的跷跷板一样。如图1所示。
图1差分输入原理
差分输入的话,就不是单个输入,而是由2个输入端构成的一组差分输入。我们的PCF8591一共是4个模拟输入端,可以配置成4种模式,最典型的是4个输入端构造成的两路差分模式,如图2所示。
图2PCF8591差分输入模式
当控制字的第4位和第5位都是1的时候,那么4路模拟被配置成2路差分模式输入channel0和channel1。我们以channel0为例,其中AIN0是正向输入端,AIN1是反向输入端,他们之间的信号输入是幅度相同,极性相反的信号,通过减法器后,得到的是两个输入通道的差值,如图3所示。
图3差分输入信号
通常情况下,差分输入的中线是基准电压的一半,我们的基准电压是2.5V,假如1.25V作为中线,V+是AIN0的输入波形,V-是AIN1的输入波形,SignalValue就是经过减法器后的波形。很多A/D都采用差分的方式输入,因为差分输入方式比单端输入来说,有很强的抗干扰能力。
1、单端输入信号时,如果一线上发生干扰变化,比如幅度增大5mv,GND不变,测到的数据会有偏差;而差分信号输入时,当外界存在干扰信号时,几乎同时被耦合到两条线上,幅度增大5mv会同时增大5mv,而接收端关心的只是两个信号的差值,所以外界的这种共模噪声可以被完全抵消掉。
2、由于两根信号的极性相反,他们对外辐射的电磁场可以相互抵消,有效的抑制释放到外界的电磁能量。
在我们的KST-51开发板上,我们没有做差分信号输入的实验环境,由于这个内容在A/D部分比较重要,所以大家还是要学习一下的。