【導讀】運放輸出電壓到不了電源軌的這種明坑踩了后,我選擇了軌到軌的運放,哈哈,這樣運放終于可以輸出到電源軌了。高興的背后是一個隱蔽大坑等著我:
1.運放十坑之軌到軌
運放輸出電壓到不了電源軌的這種明坑踩了后,我選擇了軌到軌的運放,哈哈,這樣運放終于可以輸出到電源軌了。高興的背后是一個隱蔽大坑等著我:
看看我常用的某公司對軌到軌運放產(chǎn)品的介紹:“高速(>50MHz)軌到軌運算放大器支持以更低的電源電壓、更接近供電軌的擺幅和更寬的動態(tài)范圍工作。”看到?jīng)]有:
“以更低的電源電壓、更接近供電軌的擺幅和更寬的動態(tài)范圍工作。”
“更接近供電軌的擺幅”
“更接近”
“接近”
...
看一個軌到軌運放的手冊:
輸出電壓的確是到不了電源的5V,why?
運放的輸出級可以簡化為下面這種的結(jié)構(gòu)形式:
由于MOS管有導通電阻,當流過電流時,導致了電壓降,因此,當負載越大時,導通壓降越大,輸出電壓越不能達到軌。
所以說,軌到軌運放不是完全的可以使輸出到達電源值,要使用的時候,還需要看負載和溫度(影響導通電阻阻值)的關系來決定輸出能達到多大電壓。
2. 運放十坑之不可忽略的輸入偏置電流
設計了一個分壓電路,理論上輸入1V,輸出2V,可是一測,總是多了近6,7百個mV。這要是進12位3V量程ADC,可是要吃掉600多個碼。點解?
原來運放正向輸入端和反向輸入端由于TVS漏電流和管子輸入偏置電流,導致了兩個輸入端存在輸入偏置電流(而且由于沒有任何一個器件和另外一個器件一模一樣,這兩者輸入偏置電流還不盡相同);這兩個偏置電流會與外部電阻一起形成偏置電壓后,輸出到后端,形成誤差。如果你不巧選擇了一個基于BJT設計的運放,它具有較大的輸入偏置電流,就會造成很大的后級誤差。如下圖這種運放,真是“豈止于大,簡直是莽”。
下面假設,兩個輸入端的輸入偏置電流相同。
對于,正向輸入端來說,Ib+帶來偏置電壓幾乎等于0,而對于反向輸入端來說,Ib-帶來的偏置電壓等于350mV(計算時,假設Vout接地,相當于R1//R2)。因此,需要的是在正向輸入端增加一個電阻,來補償反向輸入端帶來的誤差。
正如前文所述,正反相輸入偏置電流不盡相同,補償只能減小失調(diào)電壓,而正反相輸入偏置電流差也稱為失調(diào)電流。在進行高精度或小信號采樣時,可以選用低失調(diào)電流運放,因為加入補償電阻,也代入了一個新的噪聲源,要慎重加入。
偏置電流是運放的主要誤差之一,在之后的坑中,還會介紹一些影響后級的誤差源。
3.運放十坑之快速下降的PSRR
當我是個菜鳥工程師的時候,做運放設計從來不考慮PSRR,當聽說過PSRR之后,每次選運放都會在成本控制基礎上選擇一個有較高PSRR的運放。
比如這款運放PSRR達到了160dB:
根據(jù)計算公式:
即使電源電壓在4.5V-5.5V區(qū)間內(nèi)發(fā)生變化,電源對運放輸出的影響只有10nV。
很可惜,這個指標是指電源電壓的直流變化,而不包括電源電壓交流的變化(如紋波),在交流情況下,這個指標會發(fā)生非常大的惡化。Spec.里面提到的只是直流變化,交流變化在后面圖示里面,一般情況下,非資深工程師對待圖示都是滑滑地翻過去。
如果運放電路使用了開關電源,又沒有把去耦、濾波做得很好的話,后級輸入精度會受到極大的影響。來看,同一款運放的交流PSRR。
對于500kHz開關頻率的紋波,PSRR+惡化到只有50dB,假設紋波大小為100mV,那么對于后級的影響惡化會達到0.3mV。對于很多小信號采集的應用來說,這個誤差是不可接受的。因此,有些應用場景甚至會在運放電源入口做一個低通濾波(請注意電阻功耗和電阻熱噪聲)。
4.運放十坑之亂加的補償電容
以前有個“老工程師”對我說,反饋電路加個電容,電路就不會震蕩。一看到“震蕩”這么高大上的詞語,我當場就懵逼了,以后所有的電路都并一個小電容,這樣才professional。
直到一天,我要放大一個100kHz(運氣很好,頻率還沒有太高,不然電壓反饋運放都沒法玩)的信號,也是按照經(jīng)驗并上一個電容,然后。。。信號再也沒有正常。。。因為,并上了這個電容反饋阻抗對于100kHz的信號變成了只有不到200Ω,導致放大系數(shù)變化。
然,這還不是關鍵,問題在于:真的需要一個補償電容嗎?
首先,運放內(nèi)部存在一個極點(把它想成就是RC低通造成的),它會造成相位的改變,最大到-90°:
如果再增加一個極點呢,它又會再次對相位進行改變,最大還可以增加到90°:
這樣相位就到了-180°,這有什么問題呢?那就是“震蕩”。看一下電壓負反饋運放的增益:
當某些頻率點上的環(huán)路增益Aβ等于1,而相位為-180°的時候,這時,Vout/Vin會變成無窮大,電路就不穩(wěn)定了。因此,當外部增加一個零點時,運放就會在某些頻率點進入震蕩,比如引腳上的分布電容,如下圖:
這時,我們并上一個電容,相當于人為引入一個零點,把拉下去的相位,拉上來,但是,這個分布電容一般很小,使得它環(huán)路增益Aβ等于1的位置非常遠,在這么遠的頻點上,運放早就不能正常工作了。而看手冊這個運放自身在100k的時候,相位余量相當?shù)母撸^了90°,完全不需要增加額外的補償電容。
因此,對于具體情況,要具體分析,不能被“老工程師”帶著跑了。
5.運放十坑之被冤枉的共模輸入范圍
以前遇到過一個問題,前級運放放大后,再由運放跟隨進ADC,進ADC的信號是0.3V-1.5V。感覺是個很簡單的電路,但是后面實測這顆工作電壓為單電源5V的運放,有部分板卡在輸出1.5V左右的時候,它的輸出值并沒有完全跟隨到輸入值,而低于比1.5V的信號,跟隨都沒問題,但是一旦接近就不對。
當然,這個問題就上了硬件組的會議,最后討論的結(jié)果是:“這個運放有問題,我們要找廠商嚎盤,但是我們是xx企業(yè),別個又不得理我們,這樣吧,我們換一個其它公司的運放”。不幸的是,我們冤枉了一顆運放,并且沒有找到問題原因,幸運的是,在沒有完全弄清原理的前提下,我們碰巧選到了一顆可以正常工作的運放。
來看下這款運放的一個指標,運放共模輸入范圍:
運放共模輸入范圍是運放輸入電壓的一個區(qū)間,它表征的是運放能夠線性工作的區(qū)間,即輸入電壓共模值在這個區(qū)間內(nèi),當輸入電壓發(fā)生變化時,輸出電壓能夠線性的發(fā)生變化。
對于跟隨電路,由于存在負反饋,基本上可認為正相輸入端電壓和負相輸入端電壓是同一個值,而這顆運放在5V供電時,它的共模輸入范圍是-0.1V至1.5V。因此,當輸入電壓在1.5V左右的時候,運放就存在不能正常線性跟隨的情況。
為什么不能跟隨呢?來看一個三極管放大電路,它也是運放的組成部分之一,來進行舉例說明。
當輸入的Vb發(fā)生變化時,Ie就會隨著Vb發(fā)生相應的變化,從而引起Vc的變化,這就是跟隨。若Vb繼續(xù)增大到,使得Vc=Vcc-Ie x Rc計算值為負數(shù)的時候,而實際上Ie x Rc并不能超過Vcc,這時放大電路達到飽和甚至電流反相,導致輸出電壓固定或削峰或反向等。
6.運放十坑之不可忽略的壓擺率
做1pps驅(qū)動電路,要求上升沿≤5ns,F(xiàn)PGA輸出的信號用運放跟隨增強驅(qū)動后,發(fā)現(xiàn)上升沿達不到要求。為什么呢?因為沒有考慮到一個重要的指標,壓擺率。壓擺率是指:輸入為階躍信號時,閉環(huán)放大器的輸出電壓時間變化率的平均值。即輸入一個理想的階躍信號,輸出會是一個帶斜率信號,這個信號的爬升速率就是壓擺率。
看一下這個運放的壓擺率:
根本達不到要求啊,5ns只能爬升20mV,所以,上升沿根本達不到設計需求。怎么辦呢?后期飛線增加了一個脈沖增強電路。
脈沖增強電路C4和R4,相當于一個微分電路C4和RL(當C x RL遠小于壓擺率時間)加一個直流電阻R4,使得負載RL上的信號邊沿變得更加陡峭。分析一下:
a.電容C4與RL形成分壓電路,根據(jù)下圖的計算公式,C4上電壓的變化率等于RL上的電壓值。
b.那么假設電容電壓變化率在0-τ范圍內(nèi)是幾乎不變化的,那么負載RL上面的電壓也是幾乎不變的,一旦電容開始充電(電壓發(fā)生變化),負載RL的電壓就上升到頂點。記為波形1,如下圖。
c.然后在電容充電結(jié)束后開始下落,為了解決沒有變化率就沒有電壓的問題,增加一個直流電阻R4維持波形,它是一個直通波形,也就是原始波形,記為波形2。
d.兩個波形合在一起后,由于波形1,波形2的上升沿得到極大增強,從而使得合成波形上升沿得以改善。
7.運放十坑之被遺忘的反饋電阻
為了擴大外部驅(qū)動能力,一般會在最后一級增加一個跟隨電路,選擇電流反饋運放-CFA增加運放的輸出帶寬。好簡單哦,可惜你就是調(diào)不出來。還是先看圖吧。好簡單哦,可惜你就是調(diào)不出來。還是先看圖吧。
什么電源軌、共模輸入范圍、增益積帶寬、帶載能力、壓擺率。。。我全都考慮了啊,還是不對呢?
因為,CFA和VFA(電壓反饋運放)不一樣,讀書時學的運放,基本上老師都是拿VFA進行舉例和講解。下圖是CFA運放的模型:
它與VFA區(qū)別是,輸入端不再是兩個都虛斷,反相輸入電阻ZB是個非常小的值,但又絕對不能認為是零;它的開環(huán)增益Gout不再是非常大,而是約等于1;它的跨阻Z可以認為是無窮大。
因此,CFA的跟隨電路的電路模型如下:
解出Aβ等于:
它的閉環(huán)增益是:
當沒有反饋電阻ZF的時候,A約等于1,ZF趨近于0,Aβ趨近于無窮,增益趨近于0,和想要的跟隨電路完全不一樣,也就是網(wǎng)上常說的“CFA不加反饋電阻就沒信號”。(沒找到這句話,忘記是在哪里看到的了,只能看下CFA手冊上對反饋電阻的介紹)
因此,要增加一個反饋電阻,電路就會正常工作了。
PS:上面推導計算有技巧,只能從Aβ進行計算推導,因為CFA的計算前提是反相輸入電阻ZB是個非常小的值;它的跨阻Z可以認為是無窮大,所以,要在求極限是找到一個單一變量,如果按照最終表達進行求極限,一個函數(shù),三個變量(ZF趨近于0,ZB趨近于0,Z趨近于無窮),沒法玩,如下圖。
8.運放十坑之失效的AD620
在我讀大學的年代,儀用放大器絕對是一個高X格的詞語,在那個還常見三運放搭差分運放的年代,儀放是超高共模抑制比、高溫度穩(wěn)定性的代名詞,正相反相兩個電壓差一減,就得到了結(jié)果,這絕對是一個采集EEG信號的好東西啊。
由于EEG信號幅度很小,加上前級放大,也不過1V左右,因此,屢試不爽也沒什么問題。后來要做一個工業(yè)現(xiàn)場信號檢測,就不正常了。還是先看圖吧:
采集4-20mA電流,得到1V-5V電壓差,放大2倍后進入后級ADC。為了防止電阻功耗過高,R128,R129,R130三個電阻采用了并聯(lián)取值的方式,最終取到了250Ω這個值。
分析一下,正相輸入端2V-10V,符合器件輸入范圍(VCC-1.4V),反相輸入端1V-5V,我加了負電,那更是符合了;然后看放大倍數(shù)2倍,Vmax=10V,也符合器件輸出范圍(VCC-1.4V);電源、放大倍數(shù)、去耦等等都沒有問題。這是一個顯得沒有任何錯誤的原理圖,但是實際上,它會在高輸入電壓值時發(fā)生錯誤。
看下內(nèi)部原理,就明白了(這里選一個手上有的資料,非AD620的內(nèi)部原理,其實儀放原理都差不多)
正相輸入電壓和反相輸入電壓體現(xiàn)在儀放內(nèi)部的R2處,而真正進行輸出的電壓,是由V1out和V2out體現(xiàn)的,換一句話說,最終增加的電壓值平分為兩份,一份由V1out提供,它會比V1高,另外一份由V2out提供,它會比V2低。
再看原理圖,在20mA的時候,Vin+達到了10V,Vin-是5V,放大2倍,在儀放內(nèi)部需要將Vin+放大到12.5V。這已經(jīng)超過了儀放供電電壓,因此,是絕對不可能正常工作的。
9.運放十坑之ADC的采樣時間被運放拖累
ADC采集信號,信號穩(wěn)定的時候,很準確;信號變化的時候,數(shù)據(jù)不穩(wěn)定。當然了,ADC有采樣時間,軟件工程師也知道,他采了10次,只取后5次,但是數(shù)據(jù)還是有不穩(wěn)定的狀態(tài)。讓硬件來看電路,硬件工程師說,電路當然沒有問題了,全是從別人那里扣來的,怎么在我這就有問題了?
先看ADC的指標Tcycmin=500ns和Tacqmin=80ns,這是顆SAR型ADC,速度能上Mbps,還算挺快的。所以,它連續(xù)采樣10次,所用時間也才10μs左右。
而運放從信號輸入到輸出,并不是一個無延時的過程,而是一個有延時還帶震蕩的過程,同時,這個過程的時間還會因為后級線路的PCB設計而增大。如下圖:
看一下運放的指標,當4V時,達到0.01%,時間為5.1μs,此時帶來的波動誤差是0.4mV,而在4V范圍內(nèi),一個16位ADC的1LSB為0.06mV。誤差可以吃掉6,7個碼字,如果再加上分布電容和走線電阻,這個時間會進一步增加,使得后級穩(wěn)定時間增長,從而導致誤差變得更加的大。
后來,軟件工程師調(diào)低了采樣率,增加了采集時間,問題得以解決。
10.運放十坑之被遺忘的功耗
做過一款板卡,功耗要求很嚴格,因此,設計完成后,就畫了電源樹,計算了每個器件的功耗,沒有超,然后投版,調(diào)試,一上電,功耗超標。
后面一檢查,發(fā)現(xiàn)是運放功耗計算的時候出現(xiàn)了問題,下圖這樣的運放電路用了5個。
由于是直流驅(qū)動,在計算的時候,只考慮了運放本身的靜態(tài)功耗,PD=15V x 4.2mA =63mW,按照最大靜態(tài)功耗來考慮,功耗余量還綽綽有余。
實際上,忽略了一個重要的功率消耗點:運放供電電壓15V到輸出電壓(1V-4.5V)之間的電壓差,全部在運放里面消耗了,按照最大壓差計算,一個電路就消耗140mW。這種耗散功率,以前從來沒有考慮過,所以,全部都選擇性的忽略了,當遇到功耗要求緊張的需求時,問題就暴露出來了。
后面改版的時候,選擇了低電壓給運放供電,減少了耗散功耗,滿足了指標要求。
推薦閱讀: