差分对(differential pair)
差分对就是两只精心匹配的晶体管,它们的源极接在一起、共用一个尾电流源;这一对管子合起来只回答一个问题:你的两个输入中哪一个更高,高出多少?你可以把它想象成一个跷跷板,支点处有一股恒定的水流注入。水的总量是固定的,所以当一个输入升高、把跷跷板压偏时,电流就会从一只晶体管转移到另一只——但两者之和永远不变。输出读取的是两边的不平衡量,这意味着这一对管子放大的是两个输入的差值,而对它们共有的那部分电压则悄悄忽略。把两个输入抬高同样的幅度,跷跷板保持水平,输出端什么也不会发生。这正是它的全部要义:它只听差值,对共有的部分则充耳不闻。
这种“充耳不闻”有个名字——共模抑制(common-mode rejection)——这也是差分对几乎成为每一个op-amp输入前端的原因。现实世界的信号往往骑在共有的杂物之上:电源纹波哼声、地弹、拾取到的干扰。因为这些噪声对两个输入是共有的,所以这一对管子会把它们抑制掉,同时忠实地放大那个我们想要的微小差值。我们用CMRR来给它打分,也就是差模增益与共模增益之比(越大越好,常以dB表示);尾电流源越理想,CMRR就越好,因为一个“硬”的尾电流能稳稳地把电流之和保持恒定,不让共模的变化漏过去。
增益本身来自每只晶体管的跨导gm——它衡量栅极电压驱动电流的强弱——再作用到输出端的电阻上,所以小信号增益大约就是gm乘以那个负载电阻,道理和共源级一样,只不过这里是由输入差值来驱动的。对于工作在饱和区的MOSFET,gm = 2*Id/Vov,所以你选定的尾电流以及把管子偏置得多“硬”,同时决定了增益和速度。给这个前端配上一个电流镜负载,把两边的摆动汇成一路干净的输出,你就得到了经典两级op-amp的第一级。
差模增益就是输入管的跨导作用到输出电阻上的结果;偏置(尾电流Id与过驱动电压Vov)决定了gm,从而决定了增益。
匹配在这里就是一切——两只晶体管之间哪怕极微小的失配,也会表现为一个输入失调电压(input offset voltage)并使CMRR变差,这正是模拟版图为什么要依赖共质心(common-centroid)布局和虚拟器件(dummy device),把这一对管子做得尽可能像硅工艺所允许的那样一模一样。