在之前的筆記中我簡要記錄了pipelined ADC中的數(shù)字校準(zhǔn)技術(shù),也就是消除子ADC失調(diào)的方法,但記錄的并不全面,理解的也不夠透徹,這里重新系統(tǒng)地再解釋一下其原理及由來。
本文主要參考了Imran Ahmed的”Pipelined ADC Design and Enhancement Techniques”一書
Imran Ahmed的書中提供了一個很好的角度來理解流水線ADC的工作原理,我們可以使用除法來進(jìn)行類比,回憶我們計算十進(jìn)制除法時的過程,首先,將被除數(shù)與除數(shù)進(jìn)行比較,找到一個數(shù)使得其與除數(shù)的乘積最接近而不超過被除數(shù),將其作為最高位的商,之后將被除數(shù)減去除數(shù)和此位商的乘積,得到的結(jié)果乘以10,繼續(xù)重復(fù)上述步驟。
根據(jù)以上的描述結(jié)果可以很清晰地看到,除法中每位商的計算過程與1bit的流水線子級的運(yùn)算過程非常相似,被除數(shù)是要量化的模擬量,除數(shù)是LSB,商就是轉(zhuǎn)化結(jié)果,10就是級間增益,每次新得到的被除數(shù)就是殘差。
那么繼續(xù)思考這個過程,如果某一位商的運(yùn)算結(jié)果錯了怎么辦,注意這個情況就對應(yīng)于pipelined ADC某個子級中比較器的判決電壓產(chǎn)生偏移導(dǎo)致了誤碼,舉個例子,50/7,正常情況下的計算流程如下
位數(shù) | 當(dāng)前位商(當(dāng)前子級的輸出) | 當(dāng)前位商*除數(shù)(子DAC轉(zhuǎn)換結(jié)果) | 余數(shù)(殘差) | 新的被除數(shù)(放大到滿量程的殘差) |
1 | 7 | 49 | 1 | 10 |
2 | 1 | 7 | 3 | 30 |
3 | 4 | 28 | 2 | 20 |
4 | 2 | 14 | 6 | 60 |
5 | 8 | 56 | 4 | 40 |
6 | 5 | 35 | 5 | 50 |
根據(jù)上表,正常計算得到的結(jié)果為7.14285余5。
接下來假設(shè)第四位的商計算錯誤(對應(yīng)于第四級流水線子級的比較器失調(diào)),將正確的2變?yōu)?,計算流程如下。
位數(shù) | 當(dāng)前位商(當(dāng)前子級的輸出) | 當(dāng)前位商*除數(shù)(子DAC轉(zhuǎn)換結(jié)果) | 余數(shù)(殘差) | 新的被除數(shù)(放大到滿量程的殘差) |
1 | 7 | 49 | 1 | 10 |
2 | 1 | 7 | 3 | 30 |
3 | 4 | 28 | 2 | 20 |
4 | 3 | 21 | -1 | -10 |
5 | -2 | -14 | 4 | 40 |
6 | 5 | 35 | 5 | 50 |
得到的結(jié)果為7.143(-2)5余5,很明顯,驗證后這個結(jié)果也是正確的。
那么就可以得到結(jié)論,即使某位發(fā)生了誤碼,只要將錯誤的結(jié)果完整地繼續(xù)傳遞下去,此運(yùn)算結(jié)構(gòu)依舊可以得到正確的結(jié)果。但是需要注意的是上述結(jié)論存在一個非常重要的前提,必須要將錯誤的結(jié)果完整地傳遞下去。
考慮一個兩位子級的傳輸特性曲線,如上圖所示,我們可以發(fā)現(xiàn),輸出電壓最大值和最小值已經(jīng)到達(dá)了Vref,一旦判決電壓發(fā)生偏移,如下圖所示,就會導(dǎo)致輸出超出下級的量程,換句話說,下一級并沒有足夠的位數(shù)來將超出量程的電壓記錄下來,那么之前得出的結(jié)論也就不再適用了。
那么應(yīng)該如何進(jìn)行改進(jìn)呢,很明顯,既然下一級的量程不夠,我們可以將當(dāng)前級的級間增益縮小,如下圖所示,將級間增益由4縮小為2(注意這里實際上是將有效位減小為1位了),這樣一來,當(dāng)前級的輸出就只有-Vref/2~ Vref/2的范圍了,而下一級的輸入范圍為-Vref~ Vref,正負(fù)兩端都留有Vref/2的余量,對應(yīng)于比較器的判決電壓有Vref/4的偏移余量,換句話說,只要比較器判決電壓的偏移在正負(fù)Vref/4的范圍內(nèi),錯誤信息都可以完整地傳輸?shù)较乱患墶?/p>
對于級間增益減半后的計算過程,從數(shù)字的角度來理解比較容易。舉個例子,假設(shè)理想的輸出數(shù)字量為4’b1011,轉(zhuǎn)換所用的ADC由一個級間增益減半的2-bit子級和一個3-bit Flash ADC構(gòu)成,模擬輸入進(jìn)第一級后輸出數(shù)字量為4’b10zz(這里用數(shù)碼z表示0的權(quán)重,注意這里數(shù)碼0的權(quán)重是負(fù)的),相減得到的殘差用數(shù)字量來表示為4’bzz11,由于級間增益減半,有效位只有一位,只需要左移一位得到4’bz11z,那么Flash ADC的轉(zhuǎn)換結(jié)果也就是3’bz11,等價轉(zhuǎn)化一下就是3’b101,將這個結(jié)果的最高位與2-bit子級的低位對齊進(jìn)行錯位相加得到結(jié)果為4’b1011,正好為理想的輸出量。
觀察上述錯位相加的過程,由于數(shù)碼0的權(quán)重是負(fù)的,這就導(dǎo)致不能用簡單的二進(jìn)制加法進(jìn)行運(yùn)算,注意到這里0+1=z,這相當(dāng)于在數(shù)字邏輯中引入了減法運(yùn)算,這是十分麻煩的,我們期望即便是在這樣的權(quán)重分配下依舊可以使用最簡單的二進(jìn)制加法進(jìn)行錯位相加。(Imran Ahmed的書中只是簡單提了一句,引文Chien, G.: High-speed, lower-power, low-voltage pipelined analog-to-digital converter. Masters of Science thesis, University of California Berkeley (1996),但我并未找到這篇文獻(xiàn),有兄弟有資源的可以分享一下,以下都是我的個人理解)
那么應(yīng)該如何實現(xiàn)呢,首先我們羅列出所有錯位相加的可能,如下表所示,假設(shè)有兩個級間增益減半的2-bit的子級級聯(lián),其中第一行為第一級的輸出結(jié)果,第二行為第二級的輸出結(jié)果,結(jié)果1為直接使用普通二進(jìn)制加法錯位相加得到的輸出,結(jié)果2位為正確的相加結(jié)果。
第一級 | 00 | 01 | 10 | 11 | ||||
第二級 | 01 | 10 | 01 | 10 | 01 | 10 | 01 | 10 |
結(jié)果1 | 001 | 010 | 011 | 100 | 101 | 110 | 111 | 1000 |
結(jié)果2 | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
可以明顯看出,結(jié)果1僅僅與結(jié)果2相差1,也就是說,如果將第二級的輸出結(jié)果減去1,那么直接采用普通二進(jìn)制加法錯位相加得到的總的輸出結(jié)果就是正確的。舉個例子,第二級輸出為01,那么只要將01變?yōu)?0即可,但這里需要注意,由1變到z對應(yīng)于減Vref/8,而由1變到0對應(yīng)于減Vref/4。
那么最簡單的方法,直接將轉(zhuǎn)移特性曲線向下平移Vref/2,也就是將輸出給下一級的殘差減小Vref/2(這是級間放大后的結(jié)果,從放大前角度看就是Vref/4),通過上述分析,這么做就可以直接對輸出進(jìn)行錯位相加了。
然而新的問題又出現(xiàn)了,注意到直接將轉(zhuǎn)移特性曲線向下平移后輸出最小值又到達(dá)下限-Vref,這樣的一來比較器的判決電壓一旦發(fā)生負(fù)的偏移輸出又會超下一級的量程,我們之前將級間增益減半的做法又失去了作用。然而我們還可以發(fā)現(xiàn),正的余量增加到了原來的2倍,既然如此,我們不妨將比較器所有閾值電壓都正向偏移Vref/4,這樣一來正負(fù)兩端的余量就又都是Vref/4了。最后得到的轉(zhuǎn)移特性曲線如下圖所示。注意這里閾值電壓的偏移不會引起任何輸出上的錯誤,就像之前說的,錯誤的量被完整地傳遞下去了。
同樣,我們舉例具體描述一下轉(zhuǎn)換過程,假設(shè)理想結(jié)果為4’b1011,ADC由一個級間增益減半并將比較器閾值右移Vref/4的2-bit子級和一個3-bit Flash ADC構(gòu)成,模擬輸入大小為Vref/2- Vref/4+ Vref/8+ Vref/16 = 7Vref/16,對應(yīng)于區(qū)間10,輸出數(shù)字碼10,而由于閾值電壓右移Vref/4,子DAC輸出的模擬量為Vref/2- Vref/4+ Vref/4 = Vref/2,殘差為2*(7Vref/16 - Vref/2) = - Vref/8,同樣可以用數(shù)字量來表示,子DAC的輸出為4’b10zz + 4’bz1zz(加Vref/4) = 4’b1zzz,計算殘差,4’b1011 – 4’b1zzz = 4’bz011,左移一位得到4’b011z,經(jīng)3-bit Flash ADC轉(zhuǎn)換出的結(jié)果為3’b011,直接使用普通二進(jìn)制加法進(jìn)行錯位相加,得到4’b1011。結(jié)果是正確的。
我們繼續(xù)觀察現(xiàn)在的傳輸特性曲線,注意到“11”這個區(qū)間實際上進(jìn)行了一次多余的轉(zhuǎn)折判斷,實際上低位1的判斷完全可以交給下一級進(jìn)行,縱軸上還存在Vref/2~Vref的余量,也就是說這個比較器的存在是可有可無的,那么再加入它就產(chǎn)生浪費了,因此我們將其移除。注意移除后正確性是可以保障的,因為當(dāng)前級未量化的模擬輸出會繼續(xù)送往下級進(jìn)行量化。得到的傳輸特性曲線如下圖所示。
這個曲線就是非常經(jīng)典的1.5-bit的單級結(jié)構(gòu)了。前面我已經(jīng)詳細(xì)介紹了它的由來,接下來我從另一個角度對其進(jìn)行解釋。
一種更加簡單的理解方式就是認(rèn)為接近轉(zhuǎn)折電壓0處的模擬輸入量非常容易由于比較器判決電壓的偏移而導(dǎo)致誤碼和失碼現(xiàn)象。因此在這附近單獨劃分一個區(qū)間,在當(dāng)前級不進(jìn)行判斷,對應(yīng)于MDAC開關(guān)接到0電平(這里01對應(yīng)于-Vref/2+Vref/4=Vref/4,由于曲線整體下移了Vref/4,因此接到0),也就是將模擬輸入原封不動放大后直接傳給下一級,由下一級進(jìn)行判斷。
這種理解方式也可以認(rèn)為是正確的,但解釋并不透徹,也并未說明可以直接進(jìn)行普通二進(jìn)制錯位相加的原理,因此要想深刻地理解此技術(shù)的原理應(yīng)該去了解它的由來及演變過程。
審核編輯:黃飛
-
adc
+關(guān)注
關(guān)注
99文章
6534瀏覽量
545774 -
比較器
+關(guān)注
關(guān)注
14文章
1658瀏覽量
107438 -
輸出電壓
+關(guān)注
關(guān)注
2文章
1122瀏覽量
38305
發(fā)布評論請先 登錄
相關(guān)推薦
評論