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