佟星元,楊 梅,郭 慧
(西安郵電大學(xué) 電子工程學(xué)院,陜西 西安 710121)
模數(shù)轉(zhuǎn)換器(Analog-to-Digital Converter, ADC)是連接模擬域和數(shù)字域的“橋梁”[1],是片上系統(tǒng)(System-on-Chip, SoC)中必不可少的組成部分。常見(jiàn)的ADC在模擬域完成數(shù)字量化[2]。隨著集成電路工藝特征尺寸的不斷縮小和晶體管特征頻率的不斷升高,數(shù)字電路的時(shí)鐘頻率得以提升。時(shí)鐘頻率的提高有利于增加時(shí)間域的分辨率。目前,越來(lái)越多的新興應(yīng)用領(lǐng)域需要ADC在低電源電壓條件下工作。在低電源電壓條件下,一方面,受限于比較器的精度,高性能ADC的設(shè)計(jì)變得更加困難[3];另一方面,模擬輸入信號(hào)從模擬域直接量化成數(shù)字信號(hào)也變得越來(lái)越困難。因此,在低電壓條件下,將信號(hào)從模擬域轉(zhuǎn)換到時(shí)間域,在時(shí)間域內(nèi)完成數(shù)字量化的方式廣受關(guān)注。
基于壓控振蕩器(Voltage Control Oscillator, VCO)的ADC(VCO-ADC)是一種典型的時(shí)間域ADC[4]。VCO-ADC電路具有數(shù)字化程度較高,與電源電壓演進(jìn)的兼容性較好等優(yōu)點(diǎn),有利于ADC在低壓下工作[5]。然而,由于VCO電壓-頻率特征曲線的非線性特征,導(dǎo)致VCO輸出的正弦振蕩波形存在諧波,從而影響整體ADC的性能,并且隨著電源電壓的降低和對(duì)精度要求的提高,非線性問(wèn)題會(huì)變得更加嚴(yán)重。
雖然采用差分結(jié)構(gòu),可以有效抑制偶次諧波和共模干擾[6],但也只能在一定程度上改善線性度,很難實(shí)現(xiàn)高精度。針對(duì)VCO-ADC線性度較差的問(wèn)題,一般有數(shù)字校準(zhǔn)技術(shù)[7-9]、增加反饋環(huán)路[10]和多通道相位技術(shù)[11]等多種改善方法。其中,由于數(shù)字校準(zhǔn)技術(shù)的電路數(shù)字化程度高,工藝移植性和電壓演進(jìn)的兼容性都較好。
采用最小均方根算法[12](Least Mean Squares, LMS)和Delta-Sigma ADC的數(shù)字背景線性化技術(shù)[13]能夠改善非線性,但這兩種方案均需要在較高電源電壓下實(shí)現(xiàn),且均需要模擬電路的支持,電路的面積和功耗較大,不適用于低壓領(lǐng)域的應(yīng)用。
考慮到低電壓的工作條件以及電路面積和功耗能等指標(biāo),擬設(shè)計(jì)一款基于180 nm互補(bǔ)金屬氧化物半導(dǎo)體(Complementary Metal Oxide Semiconductor, CMOS)工藝的12 bit 0.8 V VCO-ADC。VCO-ADC采用分裂ADC結(jié)構(gòu),包含兩個(gè)VCO-ADC子通道。通過(guò)向子通道中加入擾動(dòng)信號(hào)的方式來(lái)使輸出中包含擾動(dòng)信號(hào)信息,再使用基于查找表(Look-Up Table, LUT)的非線性數(shù)字校準(zhǔn)算法對(duì)設(shè)計(jì)的ADC進(jìn)行校準(zhǔn),以提高VCO-ADC的精度。
VCO-ADC主要由壓控振蕩器、計(jì)數(shù)器、寄存器和減法器等模塊構(gòu)成。其中,VCO將電壓域信號(hào)轉(zhuǎn)換為時(shí)間域信息,輸出的數(shù)字信號(hào)具有與輸入信號(hào)相關(guān)的頻率/周期信息,該數(shù)字信號(hào)作為計(jì)數(shù)器的計(jì)數(shù)時(shí)鐘,在一個(gè)采樣周期內(nèi)完成計(jì)數(shù),計(jì)數(shù)結(jié)果為與模擬輸入對(duì)應(yīng)的數(shù)字量。寄存器完成對(duì)計(jì)數(shù)器在轉(zhuǎn)換周期內(nèi)計(jì)數(shù)結(jié)果的存儲(chǔ)。減法器對(duì)兩個(gè)差分通道的計(jì)數(shù)結(jié)果求差,得到最終的數(shù)字輸出。
設(shè)計(jì)的VCO-ADC由兩個(gè)通道構(gòu)成,其原理示意圖如圖1所示,其中,通道A和通道B由兩個(gè)完全相同的差分VCO-ADC構(gòu)成,每個(gè)差分VCO-ADC由兩個(gè)完全相同的單端ADC構(gòu)成。其工作原理為,Vn、Vp作為VCO-ADC的輸入信號(hào),通過(guò)VCO產(chǎn)生與之對(duì)應(yīng)的輸出信號(hào),此信號(hào)將作為每個(gè)單端ADC中計(jì)數(shù)器的計(jì)數(shù)時(shí)鐘,輔助計(jì)數(shù)器完成一個(gè)采樣周期內(nèi)的計(jì)數(shù),計(jì)數(shù)器的輸出作為減法器的輸入,最終通過(guò)減法器得到差分VCO-ADC的數(shù)字輸出nA、nB。
圖1 VCO-ADC原理示意圖
設(shè)計(jì)的VCO電路為一個(gè)環(huán)形電路,其電路結(jié)構(gòu)結(jié)構(gòu)示意如圖2所示。其工作原理為,當(dāng)晶體管M7工作在飽和區(qū)時(shí),可以將其近似當(dāng)作一個(gè)壓控電流源,實(shí)現(xiàn)電壓到電流的轉(zhuǎn)換。由M7、M8和M9構(gòu)成的電流鏡可以將輸入控制電壓Vin轉(zhuǎn)換為電流Ictrl,并且電流Ictrl的大小由輸入電壓Vin控制,從而使得環(huán)形VCO輸出頻率的快慢也由輸入電壓Vin控制,即環(huán)形VCO能夠完成從模擬輸入電壓Vin到時(shí)間域信號(hào)(頻率)的轉(zhuǎn)換。環(huán)形VCO在輸入電壓Vin的作用下,產(chǎn)生一段連續(xù)的正弦振蕩信號(hào)Vosc,通過(guò)反相器可將該振蕩信號(hào)轉(zhuǎn)換為相應(yīng)頻率的脈沖信號(hào)VT[14]。
圖2 環(huán)形VCO電路結(jié)構(gòu)示意圖
對(duì)于12位的全差分VCO-ADC,在一個(gè)轉(zhuǎn)換周期內(nèi)能夠輸出的最大值為4 095,因此ADC中計(jì)數(shù)器在一個(gè)轉(zhuǎn)換周期內(nèi)必須計(jì)數(shù)到4 095才能滿(mǎn)足要求。設(shè)計(jì)的VCO-ADC為12位5 kS/s的采樣率,經(jīng)過(guò)計(jì)算,若要滿(mǎn)足要求,VCO最大輸出頻率應(yīng)該至少大于20.475 MHz。從電路的分辨率、線性度等方面進(jìn)行綜合考慮,最終確定VCO輸出頻率的范圍為15~50 MHz。
計(jì)數(shù)器通常分為異步計(jì)數(shù)器和同步計(jì)數(shù)器兩種。考慮到異步計(jì)數(shù)器在面積和功耗方面較同步計(jì)數(shù)器都具有明顯優(yōu)勢(shì)[15],因此選用異步計(jì)數(shù)器來(lái)實(shí)現(xiàn)計(jì)數(shù)功能。在一個(gè)轉(zhuǎn)換周期內(nèi),理想情況下的12位VCO-ADC中的VCO輸出脈沖信號(hào)可以通過(guò)12位計(jì)數(shù)器完成計(jì)數(shù),但是,通過(guò)仿真發(fā)現(xiàn),VCO的輸出頻率范圍為16.58~40.89 MHz,超出了12位計(jì)數(shù)器的計(jì)數(shù)范圍,如果繼續(xù)使用12位的計(jì)數(shù)器,會(huì)帶來(lái)ADC輸出碼溢出的不良后果,為了防止這種情況的出現(xiàn),采用13位加法計(jì)數(shù)器。13位計(jì)數(shù)器的電路結(jié)構(gòu)示意圖如圖3所示,其中,VT為輸入信號(hào)經(jīng)過(guò)VCO輸出的脈沖信號(hào);作為計(jì)數(shù)器的計(jì)數(shù)時(shí)鐘Vclk為ADC的時(shí)鐘信號(hào),其完成對(duì)計(jì)數(shù)器的復(fù)位。13位計(jì)數(shù)器舍棄最低位,剩余位作為單端ADC的數(shù)字輸出依次為D11、D10、…、D0。
圖3 加法計(jì)數(shù)器電路結(jié)構(gòu)示意圖
作為一種邏輯記憶電路,寄存器具有暫時(shí)存儲(chǔ)數(shù)據(jù)的功能[16]。在VCO-ADC的一個(gè)轉(zhuǎn)換周期內(nèi),計(jì)數(shù)器會(huì)不斷輸出計(jì)數(shù)結(jié)果。只有當(dāng)一個(gè)轉(zhuǎn)換周期結(jié)束時(shí),計(jì)數(shù)器的輸出才為ADC的最終數(shù)字輸出。寄存器的作用就是對(duì)數(shù)字輸出進(jìn)行暫時(shí)的存儲(chǔ),因此在計(jì)數(shù)器之后加入12位寄存器。在第n個(gè)轉(zhuǎn)換周期的Vclk來(lái)臨之前,寄存器存儲(chǔ)計(jì)數(shù)器的輸出,得到第n-1個(gè)轉(zhuǎn)換周期內(nèi)ADC的輸出,完成一次模數(shù)轉(zhuǎn)換。當(dāng)?shù)趎個(gè)轉(zhuǎn)換周期的Vclk來(lái)臨時(shí),寄存器保存第n-1個(gè)轉(zhuǎn)換周期內(nèi)的計(jì)數(shù)結(jié)果。在Vclk作用下,計(jì)數(shù)器復(fù)位,并且開(kāi)始計(jì)數(shù)第n個(gè)轉(zhuǎn)換周期內(nèi)VCO的輸出頻率,以此類(lèi)推,重復(fù)上述步驟,直到下個(gè)轉(zhuǎn)換周期Vclk到來(lái)時(shí),寄存器被復(fù)位,存儲(chǔ)第n個(gè)轉(zhuǎn)換周期內(nèi)計(jì)數(shù)器的計(jì)數(shù)結(jié)果,實(shí)現(xiàn)對(duì)每個(gè)轉(zhuǎn)換周期內(nèi)數(shù)字輸出碼保存一個(gè)周期的功能。
圖4 寄存器電路結(jié)構(gòu)示意圖
每個(gè)通道的VCO-ADC均采用差分的形式進(jìn)行設(shè)計(jì),每個(gè)通道的兩端輸入Vn、Vp通過(guò)ADC得到數(shù)字輸出碼nA、nB之后,通過(guò)12位減法器對(duì)數(shù)字輸出碼進(jìn)行處理,實(shí)現(xiàn)差分功能,得到VCO-ADC的最終輸出Dout。
12位減法器中Vclk為時(shí)鐘信號(hào),Ai、Bi分別為計(jì)數(shù)器A、B的第i位通過(guò)寄存器A、B之后的保存值,作為減法器的輸入信號(hào)。Li-1為第i-2向第i-1位的借位值,即低位向本位借位的值,Li為第i位向第i+1位的借位值,即本位向高位借位的值,Si為第i位減法器的輸出值[17]。單端ADC的輸出都會(huì)隨輸入的變化而變化,所以減法器的輸出也是變化的。當(dāng)輸入Vn小于Vp時(shí),Ai、Bi相減得到負(fù)數(shù),而減法器并沒(méi)有分辨正負(fù)數(shù)的功能,所以最高位S11的結(jié)果由第12位減法器的借位輸出信號(hào)與VDD經(jīng)過(guò)異或門(mén)的結(jié)果決定,最終得到S11。12位二進(jìn)制減法器的電路結(jié)構(gòu)示意圖如圖5所示。
圖5 減法器電路結(jié)構(gòu)示意圖
3.1.1 環(huán)形VCO仿真
環(huán)形VCO的周期穩(wěn)態(tài)(Periodic Stead State, PSS)電壓/頻率特性的仿真結(jié)果如圖6所示??梢钥闯?,環(huán)形VCO的電壓輸入范圍為0.54~0.76 V。在整個(gè)輸入電壓范圍內(nèi),輸出頻率隨輸入電壓的增大而變快,仿真得到的輸出頻率范圍為16.58~40.89 MHz,大于至少需要達(dá)到的輸出頻率。
圖6 環(huán)形VCO的電壓/頻率特性曲線
3.1.2 計(jì)數(shù)器電路仿真
設(shè)計(jì)VCO-ADC的采樣率為5 kS/s,即采樣周期為200 μs,給定VT為一個(gè)1 μs的脈沖信號(hào),設(shè)定Vclk為200 μs。異步加法計(jì)數(shù)器電路的仿真結(jié)果如圖7所示??梢钥闯?,在每個(gè)采樣周期內(nèi),13位計(jì)數(shù)器的理想結(jié)果本應(yīng)為199,經(jīng)過(guò)舍棄最低位的值之后,得到計(jì)數(shù)器的最終結(jié)果為99。
圖7 異步加法計(jì)數(shù)器電路的仿真結(jié)果
3.1.3 寄存器電路仿真
寄存器在采樣點(diǎn)處對(duì)計(jì)數(shù)器的輸出進(jìn)行存儲(chǔ),并對(duì)計(jì)數(shù)結(jié)果完成一個(gè)周期的保存。將計(jì)數(shù)器電路與寄存器電路相連之后,寄存器電路的仿真結(jié)果如圖8所示。圖中的D11、D10、…、D0分別為計(jì)數(shù)器各個(gè)位的輸出,Dout為計(jì)數(shù)器對(duì)VCO的輸出信號(hào)計(jì)數(shù)的結(jié)果,即ADC的數(shù)字輸出。
圖8 寄存器電路的仿真結(jié)果
從圖中8可以看出,在0時(shí)刻,計(jì)數(shù)器的輸出為0,寄存器保存了此時(shí)計(jì)數(shù)器的輸出結(jié)果,并在0 μs~200 μs這個(gè)采樣周期內(nèi)輸出0,在下一個(gè)采樣時(shí)鐘來(lái)臨時(shí),計(jì)數(shù)器完成復(fù)位并開(kāi)始重新計(jì)數(shù),寄存器輸出并保存了輸出結(jié)果。
3.1.4 減法器電路設(shè)計(jì)
將寄存器與減法器相連之后減法器電路的仿真結(jié)果如圖9所示。其中,D11、D10、…、D0分別為減法器的12位輸出,DA、DB分別為差分結(jié)構(gòu)中兩個(gè)寄存器的輸出,Dout為連接減法器的12位寄存器的最終輸出結(jié)果。
圖9 減法器電路的仿真結(jié)果
圖9中12位減法器運(yùn)算結(jié)果的Dout數(shù)據(jù)以16進(jìn)制數(shù)的形式表示,為方便計(jì)數(shù),需要將Dout轉(zhuǎn)換為十進(jìn)制表示形式Dout1。另外,由于12位減法器中存在異或門(mén),還需要將Dout1經(jīng)由異或門(mén)實(shí)現(xiàn)為Dout2,Dout2由DA、DB的差值加2 048得到,減法器十進(jìn)制表示及異或門(mén)實(shí)現(xiàn)結(jié)果如表1所示。
表1 減法器十進(jìn)制表示及異或門(mén)實(shí)現(xiàn)結(jié)果
基于180 nm CMOS工藝,設(shè)計(jì)了12位0.8 V的VCO-ADC。其整體電路由兩個(gè)通道組成,版圖如圖10所示。在整體電路版圖設(shè)計(jì)中,兩個(gè)電容放在最左邊的部分,具有對(duì)稱(chēng)性的差分輸入線Vinn、Vinp在兩個(gè)電容之間進(jìn)行走線。為了保證匹配性和對(duì)稱(chēng)性,將兩個(gè)單端VCO-ADC進(jìn)行對(duì)稱(chēng)擺放,為了避免模擬電路與數(shù)字電路之間噪聲的干擾,將每個(gè)模塊都用保護(hù)環(huán)包圍。版圖總面積為309.26×103.01 μm。
圖10 差分VCO-ADC電路版圖
使用Verilog HDL硬件描述語(yǔ)言進(jìn)行校準(zhǔn)算法設(shè)計(jì),參考文獻(xiàn)[7-9],采用了基于查找表LUT的非線性數(shù)字校準(zhǔn)算法,提取寄生參數(shù)完成后仿真,生成校準(zhǔn)算法的輸入。在Quartus II軟件平臺(tái)上,采用Cyclone IV系列的現(xiàn)場(chǎng)可編程門(mén)陣列(Field Programmable Gate Array, FPGA)開(kāi)發(fā)板對(duì)校準(zhǔn)算法進(jìn)行硬件驗(yàn)證。
VCO-ADC校準(zhǔn)前、后的頻譜圖分別如圖11和圖12所示。
圖11 校準(zhǔn)前VCO-ADC的頻譜圖
從圖11中可以看出,雖然采用差分結(jié)構(gòu)有效抑制了偶次諧波,但受VCO非線性的影響,三次諧波依然明顯,經(jīng)過(guò)校準(zhǔn)后,VCO的三次諧波有所減弱,如圖12所示。
圖12 校準(zhǔn)后VCO-ADC的頻譜圖
校準(zhǔn)前后VCO-ADC的電路信噪失真比(Signal to Noise and Distortion Ratio, SNDR)和無(wú)雜散動(dòng)態(tài)范圍(Spurious Free Dynamic Range, SFDR)值隨電源電壓變化曲線如圖13所示??梢钥闯觯S著電源電壓的增大,校準(zhǔn)前SNDR和SFDR曲線總體呈較明顯的上升趨勢(shì),而校準(zhǔn)后SNDR和SFDR曲線相對(duì)平緩,且與校準(zhǔn)前相比,校準(zhǔn)后SNDR和SFDR提升至70 dB和80 dB左右,提升幅度較明顯。
圖13 校準(zhǔn)前后SNDR和SFDR隨電源電壓變化曲線
設(shè)定電源電壓為0.8 V,校準(zhǔn)前后VCO-ADC的SNDR和SFDR隨輸入信號(hào)頻率變化曲線如圖14所示。可以看出,與校準(zhǔn)前相比,校準(zhǔn)后SNDR和SFDR相對(duì)平緩,且校準(zhǔn)后SNDR和SFDR分別提升至70 dB和80 dB左右。特別是,在0.8 V電源電壓條件下,當(dāng)輸入信號(hào)頻率為834.96 Hz時(shí),校準(zhǔn)前、后電路的SNDR從46.78 dB提升為70.27 dB,SFDR從47.45 dB提升為78.21 dB,提升幅度較明顯。
圖14 校準(zhǔn)前后SNDR和SFDR隨輸入頻率變化曲線
另外,在線性特性方面,校準(zhǔn)前、后的微分非線性(Differential nonlinearity, DNL)和積分非線性(Integral nonlinearity, INL)值分別從0.43 LSB和1.15 LSB降低為0.34 LSB和0.65 LSB。在精確度方面,有效位數(shù)(Effective Number of Bits, ENOB)從7.48 bit提升至11.38 bit。
所提設(shè)計(jì)與文獻(xiàn)[12]和文獻(xiàn)[13]方法的設(shè)計(jì)性能參數(shù)對(duì)比如表2所示??梢钥闯?,設(shè)計(jì)的最大優(yōu)勢(shì)是能夠在電源電壓為0.8 V條件下工作,而其他兩種設(shè)計(jì)工作的電源電壓較高。另外,所提設(shè)計(jì)的電路面積較小、功耗較低,這是因?yàn)槠渌麅煞N數(shù)字校準(zhǔn)算法均需要模擬電路的支持,會(huì)增加電路面積、功耗和電路設(shè)計(jì)的復(fù)雜度。
表2 不同設(shè)計(jì)方法的性能參數(shù)對(duì)比
利用180 nm CMOS工藝設(shè)計(jì)了一款12 bit的VCO-ADC。ADC采用分裂結(jié)構(gòu),包含兩個(gè)VCO-ADC子通道。利用偽隨機(jī)方式向子通道中加入擾動(dòng)信號(hào),使用查找表方法對(duì)VCO-ADC的輸出進(jìn)行數(shù)字后臺(tái)校準(zhǔn)。仿真結(jié)果表明,所提設(shè)計(jì)能夠在0.8 V電源電壓條件下工作,且ENOB和SFDR較小。另外,設(shè)計(jì)電路的面積和功耗較低。