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