当前位置:编程学习 > 网站相关 >>

关于运放的共模抑制比的思考

共模抑制比(CMRR) 是指差分放大器对同时加到两个输入端上的共模信号的抑制能力。更确切地说,CMRR是产生特定输出所需输入的共模电压与产生同样输出所需输入的差分电压的比值。
 
差分放大器共模响应,是指放大器中共模电压Vcm引起的差模电压Vcm_diff。根据CMRR 的定义,设Vcm_diff为差模下对应的电压:
 
Vo= Vcm_diff× Adiffm= Vcm ×Acm
重新组合公式:
Adiffm/Acm = Vcm/Vcm_diff=CMRR(作为增益比)
 
显然可得:
 
CMRR = Vcm/Vcm_diff
 
其中:Acm为共模增益,Adiffm为差模增益,Vcm_diff为共模电压引起的运放差分偏移,Vcm为共模电压(测试信号)。后一个方程可使我们更为确切地了解CMRR 参数的含义,即CMRR 与放大器的增益和频率无关。
 
然而在实际电路中,由于电阻或线路的不对称性,共模抑制比比手册中给出的要小。一般正常的情况下,能小到20~60dB。所以,运放内部引起的共模基本忽略不计。主要考虑片外精阻不对称引起的共模偏差。

当输入均是Vcm时,输出Vout的电压值是:

 

如果R3=R4,R2= R1,共模抑制比会无穷大。放大倍率为1,但如果每个电阻使用0.5%的10K电阻,写个简单的Matlab程序,代码如下:
clc,clear
 
r1 = 10000;
r2 = 10000;
r3 = 10000;
r4 = 10000;
alpha = 0.5 / 100;
 
CMmax = -1000;
CMmin = 1000;
Dmax = -1000;
Dmin = 1000;
Kcmrmax = -100000;
Kcmrmin = 100000;
for rr1=[r1*(1-alpha) r1 r1 * (1+alpha)]
    for rr2=[r2*(1-alpha) r2 r2 * (1+alpha)]
        for rr3=[r3*(1-alpha) r3 r3 * (1+alpha)]
            for rr4=[r4*(1-alpha) r4 r4*(1+alpha)]
                Cratio = (rr3 * rr2 - rr1 *rr4) / (rr1 + rr3) / rr2;
                Dratio = (rr3 * rr2 + rr3 *rr4) / (rr1 + rr3) / rr2;
                Kcmr = 20 *log10(abs(Dratio/Cratio));
                if (Cratio > CMmax)
                    CMmax = Cratio;
                    CMmax_ = [rr1 rr2 rr3 rr4Cratio Dratio Kcmr];
                end
                if (Cratio < CMmin)
                    CMmin = Cratio;
                    CMmin_ = [rr1 rr2 rr3 rr4Cratio Dratio Kcmr];
                end
                if (Dratio > Dmax)
                    Dmax = Dratio;
                    Dmax_ = [rr1 rr2 rr3 rr4 Cratio Dratio Kcmr];
                end
                if (Dratio < Dmin)
                    Dmin = Dratio;
                    Dmin_ = [rr1 rr2 rr3 rr4Cratio Dratio Kcmr];
                end
                if (Kcmr > Kcmrmax)
                    Kcmrmax = Kcmr;
                    Kcmrmax_ = [rr1 rr2 rr3 rr4Cratio Dratio Kcmr];
                end
                if (Kcmr < Kcmrmin)
                    Kcmrmin = Kcmr;
                    Kcmrmin_ = [rr1 rr2 rr3 rr4Cratio Dratio Kcmr];
                end
            end
        end
    end
end
format shortg;
CMmax_,CMmin_,Dmax_,Dmin_,Kcmrmax_,Kcmrmin_
 
计算结果:
依次是(r1,r2,r3,r4在电路中的实际值,共模放大率,差模放大率,共模抑制比)
CMmax_ = 9950   10050  10050  9950    0.0099502  1            40.043
CMmin_ = 10050   9950  9950   10050   -0.01005    1            39.956
Dmax_  = 9950   9950   10050 10050   0           1.0101       Inf
Dmin_  =10050   10050  9950   9950   0           0.99005       Inf
Kcmrmax_ =9950   9950  9950   9950    0          1             Inf
Kcmrmin_ =10050  9950   9950   10050  -0.01005      1            39.956
 
最差的情况下,如果有1V的共模,将在输出端最大产生10mV (或-10mV) 的电压。这里注意,Kcmr计算输出是Inf,是无穷大的意思。实际上当电阻匹配时,共模抑制比很大,但不会无穷大,最多也就是由运放手册提供的CMRR参数决定。这个参数一般在实际工程上是很难达到的。
 
在实际电路设计中,可以使用高精度万用表测出低漂移的电阻,使得R1=R2, R3=R4,这样,可以是运放的共模抑制比大幅度提升。

补充:综合编程 , 其他综合 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,