0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

pipeline ADC的實(shí)現(xiàn)原理及基本結(jié)構(gòu)(2)

星星科技指導(dǎo)員 ? 來(lái)源:eetop ? 作者:eetop ? 2023-12-14 12:36 ? 次閱讀

在之前的筆記中我簡(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é)果完整地傳遞下去。

1636017778607024.png

考慮一個(gè)兩位子級(jí)的傳輸特性曲線,如上圖所示,我們可以發(fā)現(xiàn),輸出電壓最大值和最小值已經(jīng)到達(dá)了Vref,一旦判決電壓發(fā)生偏移,如下圖所示,就會(huì)導(dǎo)致輸出超出下級(jí)的量程,換句話說(shuō),下一級(jí)并沒(méi)有足夠的位數(shù)來(lái)將超出量程的電壓記錄下來(lái),那么之前得出的結(jié)論也就不再適用了。

1636017789525787.png

那么應(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í)。

1636017803986521.png

對(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ò)誤的量被完整地傳遞下去了。

1636017821104319.png

同樣,我們舉例具體描述一下轉(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)行量化。得到的傳輸特性曲線如下圖所示。

1636017835517591.png

這個(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ò)程。

審核編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • adc
    adc
    +關(guān)注

    關(guān)注

    98

    文章

    6406

    瀏覽量

    543856
  • 比較器
    +關(guān)注

    關(guān)注

    14

    文章

    1630

    瀏覽量

    107052
  • 輸出電壓
    +關(guān)注

    關(guān)注

    2

    文章

    1084

    瀏覽量

    37968
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于Ginkgo 2ADC實(shí)現(xiàn)虛擬示波器功能

    的,所以只要有C語(yǔ)言基礎(chǔ)要入門(mén)上位機(jī)軟件的編寫(xiě)很快(本人用CVI也才3天而已,所以有什么不對(duì)的地方敬請(qǐng)包含)。下面就說(shuō)說(shuō)程序實(shí)現(xiàn)的基本流程和方法。程序實(shí)現(xiàn):1、程序首先初始化Ginkgo 2適配器的
    發(fā)表于 02-21 11:38

    pipeline ADC實(shí)現(xiàn)原理及基本結(jié)構(gòu)筆記分享

    本文結(jié)合文獻(xiàn)進(jìn)一步學(xué)習(xí)了pipeline ADC實(shí)現(xiàn)原理及基本結(jié)構(gòu),主要參考了西電、成電和東南的幾篇pipelined ADC的碩士論文以
    發(fā)表于 09-15 15:08

    pipeline_a2dp_sink_stream藍(lán)牙卡頓怎么解決?

    板子esp32-LyraT:pipeline_a2dp_sink_stream工程直接編譯,IDF V4.3,測(cè)試情況如下:1 手機(jī)通過(guò)藍(lán)牙播放,有卡頓情況,不知道是哪里問(wèn)題;2 板子上play
    發(fā)表于 03-10 06:38

    Pipeline ADCs Come of Age

    Pipeline ADCs Come of Age Abstract: In the mid 1970s, a new data converter architecture
    發(fā)表于 04-16 16:21 ?1076次閱讀
    <b class='flag-5'>Pipeline</b> ADCs Come of Age

    Pipeline ADCs Come of Age

    and mixed-signal community, called pipeline ADCs. The following article takes the knowledge of advantages and disadvantages of the pipeline
    發(fā)表于 04-25 10:22 ?1072次閱讀
    <b class='flag-5'>Pipeline</b> ADCs Come of Age

    14位Pipeline ADC設(shè)計(jì)的帶隙電壓基準(zhǔn)源技術(shù)

    14位Pipeline ADC設(shè)計(jì)的帶隙電壓基準(zhǔn)源技術(shù) 目前,基準(zhǔn)電壓源被廣泛應(yīng)用與高精度比較器,
    發(fā)表于 04-23 09:42 ?3645次閱讀
    14位<b class='flag-5'>Pipeline</b> <b class='flag-5'>ADC</b>設(shè)計(jì)的帶隙電壓基準(zhǔn)源技術(shù)

    修改V4L2的Video Pipeline的devicetree

    PetaLinux 能夠根據(jù)Vivado的設(shè)計(jì),自動(dòng)生成V4L2的Video Pipeline的devicetree。但是它主要為Xilinx的VCU TRD服務(wù),測(cè)試的組合比較少。很多時(shí)候,需要根據(jù)自己的工程,修改V4L2的V
    的頭像 發(fā)表于 08-02 08:03 ?2052次閱讀
    修改V4L<b class='flag-5'>2</b>的Video <b class='flag-5'>Pipeline</b>的devicetree

    SpinalHDL里pipeline的設(shè)計(jì)思路

    如果你曾看過(guò)VexRSICV的設(shè)計(jì),對(duì)于從事邏輯設(shè)計(jì)的你會(huì)驚訝從未想過(guò)邏輯設(shè)計(jì)還能這么來(lái)做。針對(duì)VexRSICV所衍生出的pipeline Lib,該系列會(huì)對(duì)pipeline進(jìn)行一次梳理。誠(chéng)如之前一篇博客曾講,這是“勇者的游戲”。
    的頭像 發(fā)表于 08-16 15:11 ?910次閱讀
    SpinalHDL里<b class='flag-5'>pipeline</b>的設(shè)計(jì)思路

    核芯互聯(lián)最新推出一款 Pipeline結(jié)構(gòu)的模數(shù)轉(zhuǎn)換器(ADC)

    ??? 核芯互聯(lián)發(fā)布16bit/100MSPS,4通道同步采樣ADC CL3653。CL3653 是一款 Pipeline結(jié)構(gòu)的模數(shù)轉(zhuǎn)換器(ADC),硬件上可以完全兼容AD9653。?
    的頭像 發(fā)表于 09-04 09:29 ?1513次閱讀
    核芯互聯(lián)最新推出一款 <b class='flag-5'>Pipeline</b><b class='flag-5'>結(jié)構(gòu)</b>的模數(shù)轉(zhuǎn)換器(<b class='flag-5'>ADC</b>)

    國(guó)產(chǎn)ADC芯片——adc芯片的多種結(jié)構(gòu)

    、精密ADC和集成ADC等,主要應(yīng)用于醫(yī)療儀器、測(cè)試儀器、音頻處理和工業(yè)系統(tǒng)等領(lǐng)域,具有高穩(wěn)定性、高精度和低噪聲等特點(diǎn)。 ADC芯片具有多種結(jié)構(gòu),今天我們就來(lái)說(shuō)一下
    的頭像 發(fā)表于 10-09 16:01 ?2391次閱讀

    Pipeline中throwIt的用法

    字如其名,來(lái)看下Pipeline中throwIt的用法,是怎么個(gè)丟棄方式。
    的頭像 發(fā)表于 10-21 16:24 ?512次閱讀
    <b class='flag-5'>Pipeline</b>中throwIt的用法

    pipeline ADC實(shí)現(xiàn)原理及基本結(jié)構(gòu)(1)

    假設(shè)單級(jí)的分辨率為n,它由S/H電路、n位的子ADC、n位的子DAC、減法器以及乘法器構(gòu)成,一般也將n位的子DAC、減法器以及乘法器統(tǒng)稱為MDAC(multiplying DAC)。
    的頭像 發(fā)表于 12-14 12:34 ?2556次閱讀
    <b class='flag-5'>pipeline</b> <b class='flag-5'>ADC</b>的<b class='flag-5'>實(shí)現(xiàn)</b>原理及基本<b class='flag-5'>結(jié)構(gòu)</b>(1)

    什么是pipeline?Go中構(gòu)建流數(shù)據(jù)pipeline的技術(shù)

    本文介紹了在 Go 中構(gòu)建流數(shù)據(jù)pipeline的技術(shù)。 處理此類pipeline中的故障很棘手,因?yàn)?b class='flag-5'>pipeline中的每個(gè)階段可能會(huì)阻止嘗試向下游發(fā)送值,并且下游階段可能不再關(guān)心傳入的數(shù)據(jù)。
    的頭像 發(fā)表于 03-11 10:16 ?536次閱讀

    淺析SpinalHDL中Pipeline中的復(fù)位定制

    之前有系列文章介紹了SpinalHDL中Pipeline的使用,最近在一個(gè)功能模塊中真實(shí)的使用了這個(gè)lib。
    的頭像 發(fā)表于 03-17 17:31 ?974次閱讀
    淺析SpinalHDL中<b class='flag-5'>Pipeline</b>中的復(fù)位定制

    adc的分類及特點(diǎn)

    在數(shù)字電子技術(shù)飛速發(fā)展的今天,模擬信號(hào)與數(shù)字信號(hào)之間的轉(zhuǎn)換變得尤為重要。ADC作為實(shí)現(xiàn)這一轉(zhuǎn)換的關(guān)鍵器件,其性能直接影響到整個(gè)系統(tǒng)的性能。 ADC的分類 逐次逼近型ADC(Succes
    的頭像 發(fā)表于 10-31 10:36 ?143次閱讀