在電子系統(tǒng)中,數(shù)模轉換器芯片(DAC)的功能是將數(shù)字編碼轉換成一系列離散的階梯電壓或者電流,是模擬量輸出和控制的核心器件。雖然基本功能簡單,但市場上的DAC芯片型號繁多,了解其具體參數(shù)和內(nèi)部結構對于DAC芯片的選型、系統(tǒng)的優(yōu)化是很有必要的。通用型的DAC芯片大多用來輸出直流信號,精度較高(12~16bit),速度較低(<10MHz),一般稱之為精密DAC。下面我們就結合DAC的指標,內(nèi)部結構和應用需求,一點點揭開精密DAC的真面目。
一、 DAC的指標
用戶選擇器件時,可能最關心精度、速度等有限幾個性能。但這些籠統(tǒng)的性能并非簡單的用DAC標稱位數(shù)和更新速度就可以表示。我們必須把系統(tǒng)的需求“翻譯”成正確的DAC指標,才能做出合理的選型。
DAC的“精度”,一般指DAC的靜態(tài)指標(噪聲歸在動態(tài)指標中)。而“速度”則對應DAC的動態(tài)指標。下面將分別介紹。
1.1 DAC的靜態(tài)指標
靜態(tài)指標均基于實際DAC與相同位數(shù)的理想DAC之間的輸出曲線的比較。
首先我們來看DAC的輸出是不是足夠“直”,也就是線性度如何。DAC的線性度一般受芯片內(nèi)部的半導體器件匹配度限制,比如電阻串的匹配,極限在10~12位左右,再高的話需要各種校準技術來處理。不同的DAC內(nèi)部結構也對線性度有限制,R2R結構的DAC線性度極限能比R-string的更好(第二部分會涉及)。
下面這兩張圖,表現(xiàn)出實際的三位DAC與理想的三位DAC輸出波形在線性度方面的差異(紅色為實際輸出曲線):
DNL是微分線性度,指相鄰兩個輸出電平的差相對于理想值(1LSB)的偏差。datasheet中的DNL代表所有臺階中最大的偏差值。由上圖可以看到,如果出現(xiàn)DNL<-1LSB的現(xiàn)象,則DAC的輸出肯定是非單調的,也就是說數(shù)字編碼增加1,輸出不增加反而會下降。這一點在很多閉環(huán)系統(tǒng)應用中是不能接受的,如果DAC出現(xiàn)非單調的情況,則控制環(huán)路無法收斂。這時一般會選擇DNL<±1LSB的器件。
INL是積分線性度,指實際的輸出相對理想DAC的輸出之間的差異,所以也叫relativeaccuracy,用滿量程的百分比或者LSB來表示。理論上,某個編碼對應輸出的INL就是從第一個編碼到這個編碼所有的DNL的積分,也印證了“積分”這個名稱的含義。Datasheet中的INL(或者relativeaccuracy)代表所有輸出值最大的INL。這個指標用來衡量DAC輸出的準確度如何,應用比較廣。特別是在開環(huán)應用中,應當關注INL的指標。
除了上面兩個線性度的參數(shù),DAC的實際輸出曲線還存在其它幾種非理想特性,如下面兩圖所示:
一個無限分辨率的理想DAC輸出特性應該是通過原點的一條直線,y=x(這里我們把DAC增益相對理想值歸一化成1),但實際的DAC輸出特性,用靠近首尾兩端的兩點擬合一條直線,特性一般是y=ax+b。其中,a代表DAC實際的輸出增益,即gain。其相對理想增益的偏差,即gainerror。b代表這條直線整體相對原點向上或者向下偏移的幅度,即offseterror
但實際DAC在code為0附近,輸出電壓也很低時,由于內(nèi)部電路接近飽和(特別是帶輸出buffer的DAC),會出現(xiàn)一定的非線性。所以DAC會有一個額外的參數(shù)來標定code為0時輸出的偏差,叫zerocodeerror.
另外gain,offset在不同溫度下也會產(chǎn)生變化,即gainshift,offseterrorshift。如果客戶對溫度特性很敏感,要特別關注這兩個指標。
特別要提醒的是,由于上面這幾項因素的影響,我們不能直接用DAC輸出曲線來計算DNL或INL,而必須將gainerror,offseterror計算出來并補償?shù)糁?,再去計算DNL和INL。如果客戶要驗證芯片指標,還必須注意數(shù)據(jù)手冊中每一項指標的測試條件。大部分情況下,INL/DNL基于兩點法擬合直線的基礎上來測量。具體是哪兩點,一般在datasheet中都會注明。
1.2 DAC的動態(tài)指標
下圖是一個典型的DAC輸出從0附近跳到滿擺幅的輸出波形:
輸出從0到滿擺幅變化(或者特定的兩個差異較大的值)的總時間,稱為settlingtime。輸出主要經(jīng)歷兩個階段,一是slewrate,二是linearsettling。slewrate反映了輸出大擺幅下的極限驅動能力,一般決定了輸出10%~90%變化的時間,。而linearsettling則主要取決于輸出節(jié)點的RC常數(shù)或者輸出buffer的帶寬。Settlingtime是用戶考慮精密DAC速度的重點參數(shù)。
如果用戶對DAC輸出變化要求平穩(wěn)不能有毛刺的話,則需要關注Glitch和Digitalfeedthrough兩個指標。
Glitch主要與DAC核心部分的開關有關。當內(nèi)部開關從一個點切換到另一個點時,會受到寄生電荷以及開關切換不能理想同步的影響,從而造成輸出跳動。跳動的幅度和時間都是我們關注的對象,所以Glitch用nV*S這個二者相乘的單位來表示其能量大小。從其產(chǎn)生原理可見,glitch與具體切換的開關位置有關。Code的高位MSB變化時一般會產(chǎn)生較大的glitch,所以datasheet中普遍定義majorcarry處的glitch。Glitch也和結構有關,R-string的glitch一般比R2R結構的glitch小,原因在第二部分有解釋。
Digitalfeedthrough則代表了模擬輸出與數(shù)字輸入的隔離程度。即使DAC沒有被選中進行通信,總線上的數(shù)字IO信號或時鐘跳動通過內(nèi)部信號通路或者電源地的耦合也會造成DAC輸出的跳動,即為digitalfeedthrough。良好的設計可以保證這個值很小。
另外,DAC輸出noisedensity也是關注的一部分。DAC的噪聲來源可以分幾部分:VREF(如果有內(nèi)部基準源的話,flicknoise+熱噪聲),內(nèi)部電阻串(電阻熱噪聲),輸出buffer(flicknoise+熱噪聲)。用戶需要計算不同帶寬下輸出噪聲帶來的影響。系統(tǒng)設計時需要限制DAC輸出信號的帶寬來抑制不必要的噪聲。一般來說,不希望帶內(nèi)噪聲限制DAC的輸出精度。
二、 DAC的結構
DAC的數(shù)據(jù)手冊中一般會注明內(nèi)部是何種結構。下面我們會結合DAC的指標,討論下常見結構DAC的優(yōu)缺點,可以幫助理解為何不同結構的DAC有不同的指標,在系統(tǒng)上應該注意哪些重點。
2.1R-string結構
它采用了一串相等的電阻(即R-string的字面含義),從而獲得與參考電壓成比例的值。典型結構如下圖。
這種結構的優(yōu)點顯而易見:
1. 當電阻串輸出點從下邊的開關切換到上邊的開關時,輸出電壓肯定是增加的。所以這種結構天然決定了其良好的單調特性(DNL不會小于-1),這對系統(tǒng)閉環(huán)應用是一個很大的好處。
2. 一次code變化僅對應兩個開關之間的切換,glitch很小,而且與code無關。所以這是一種低glitch結構。缺點是,消耗了大量的電阻和開關器件,受限于半導體電阻器件的匹配度,很難做到高位數(shù)。由此可以延伸出分段等改進的方式來減少電阻數(shù)量,但校準代價仍然較大,所以有效精度相對較低。
另外,電阻串總值較大,輸出阻抗高,限制了其工作速度。并且電阻串輸出阻抗隨code在不停變化,需要buffer來提供穩(wěn)定的輸出能力。所以在應用上需要注意輸出buffer的驅動能力和穩(wěn)定性,尤其是負載的電容大小。由于上面的特點,這種結構現(xiàn)在被普遍用于12~16位,DNL<+-1LSB(保證單調性)但對INL要求不是非常高(INL大多在12~14位精度)的DAC中。
2.2R-2R結構
如圖所示,R-2RDAC只使用兩種阻值R和2R的電阻。這種結構的關鍵在于從任何一個2R電阻的右側往左看,等效阻抗都是R。可以看到,
原理上,N位DAC只需要2*N個電阻,因為電阻數(shù)量少,生產(chǎn)時可以校準到很高的線性度。
這種結構一般是電壓輸出。而且其輸出阻抗恒定為R,這使得連接到輸出節(jié)點的放大器很容易穩(wěn)定。在使用外部高速buffer時,這種DAC可以達到更高的速度。當然,也有些R-2RDAC自帶輸出buffer,這種情況下,速度主要由內(nèi)部的buffer來決定。
但另一方面,圖中的開關必須在寬電壓范圍(VREF至地)內(nèi)工作,這給設計和制造都帶來難題。在不同code切換時,高低位的多個開關會經(jīng)歷同時導通或者關斷的狀態(tài),加上開關寄生電荷的影響,輸出會出現(xiàn)較大的glitch。
要特別注意的時,基準電壓VREF端的輸入阻抗會隨著代碼而大幅改變。因此使用這種DAC時,基準電壓輸入必須有較強的驅動能力,有時需要增加buffer,如果芯片內(nèi)部沒有基準電壓buffer的話。
2.3MDAC結構
上圖即為MDAC(乘法DAC)。這種DAC其實是一種電流型的R-2RDAC。其與電壓型R-2RDAC的區(qū)別在于,VREF連到電阻串的末端,開關則直接連到輸出虛地點。每一級電阻支路均將前級流入的電流減半,所以最終輸出的總電流為
從傳遞特性上看,所有的DAC嚴格意義上說都是乘法DAC,但MDAC這種結構,基準電壓由于不連接內(nèi)部開關,所以可以在很寬的范圍內(nèi)變化,甚至是雙極性、交流電壓或者比電源高很多的電壓。所以“乘法”DAC特指有這種特性的DAC。MDAC通過內(nèi)部反饋電阻和外接運放,可實現(xiàn)與Vref成比例的電壓輸出。由于電阻網(wǎng)絡的開關始終處于虛地低電位,因此對開關的設計要求較低。另外,切換開關時可以通過先導通再關斷的方式,將其引入的glitch降到最低。另外,與R2RDAC相反,MDAC輸出阻抗隨code而變化,這對外部運放的環(huán)路穩(wěn)定性有一定的要求。
2.4不同結構的DAC比較
三、 3PEAKDAC介紹
3PEAK推出了12~16bit,1~8通道的一系列精密DAC產(chǎn)品。內(nèi)部結構則為上面所述R-string結構,內(nèi)置輸出buffer。具有最高16位的單調性(DNL<+-1LSB),12位的相對精度。采用工業(yè)級制造工藝和封裝,工作溫度達-40°~125°。適合在PLC/DCS、伺服控制、模擬量輸出、4~20mA變送等領域使用。3PEAKDAC產(chǎn)品經(jīng)過在工業(yè)級領域的數(shù)年量產(chǎn),性能和可靠性已經(jīng)得到充分證明,是代替?zhèn)鹘y(tǒng)PWM方式或者價格昂貴的DAC產(chǎn)品的高性價比選擇。
3.13PEAKDAC功能框圖:
3.23PEAKDAC產(chǎn)品系列
3.33PEAKDAC產(chǎn)品性能列表:
四、DAC應用實例
在工業(yè)領域,4~20mA是最常見的模擬信號傳輸方式之一,可靠性高,抗干擾能力強,傳輸距離遠。在下面這個傳感器變送器的應用實例中,采用分立的3PEAK的運放和DAC芯片,來放大傳感器信號,并轉化成4~20mA輸出。(綠色為3PEAK可提供的器件種類)
簡單計算可知:
由(1),(2),(3)可得環(huán)路輸出電流:
如果用傳統(tǒng)低成本的PWM方式得到高分辨率的模擬輸出信號,必然要求MCU的主頻很高,而且長時間的濾波導致系統(tǒng)響應速度慢。由于電源的紋波很大,有時需要采用VREF開關方波來代替電源方波的方式來提升精度,設計更加復雜,外圍器件成本高。使用合適的外置DAC,在成本增加很少的情況下,可獲得性能上的明顯提升,并顯著降低系統(tǒng)設計難度。有些MCU也會內(nèi)置DAC,但其DAC一般精度有限,且增加了MCU成本。使用外置DAC可以降低對MCU的功能要求,選擇更加靈活,而且可以達到更高的精度,免去在速度和精度上的困難折衷,方便更優(yōu)化的系統(tǒng)設計。