《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 业界动态 > 500兆/秒高速A/D系统的实现

500兆/秒高速A/D系统的实现

2009-04-08
作者:武 杰 王砚方

  摘? 要: 介紹采樣率為500兆/秒、采樣精度為8bit的高速A/D系統(tǒng)的設(shè)計(jì)結(jié)構(gòu)以及高速電路設(shè)計(jì)中的問題,最后還討論了如何在Windows95下設(shè)計(jì)具有實(shí)時(shí)性要求的程序。

  關(guān)鍵詞: 高速A/D變換? 高速電路設(shè)計(jì)? Windows95? 實(shí)時(shí)程序設(shè)計(jì)

?

  在現(xiàn)代雷達(dá)系統(tǒng)、激光測距以及高能物理試驗(yàn)中往往產(chǎn)生寬帶信號(hào)或者上升沿比較陡的信號(hào)(一般10ns左右)。若對(duì)此類信號(hào)進(jìn)行數(shù)字化處理,要求A/D部分的采樣率至少應(yīng)該在200M/s以上。本文介紹的系統(tǒng)正是針對(duì)這樣的要求而開發(fā)出來的。

1 系統(tǒng)結(jié)構(gòu)

  系統(tǒng)分為A/D轉(zhuǎn)換和數(shù)據(jù)傳輸控制兩大部分(圖1)。數(shù)據(jù)傳輸控制部分作成PC機(jī)的插卡插在計(jì)算機(jī)的PCI擴(kuò)展插槽內(nèi),它的主要功能是將A/D采樣得到的數(shù)據(jù)傳遞給計(jì)算機(jī),同時(shí)產(chǎn)生相關(guān)的控制信號(hào)去控制整個(gè)系統(tǒng);A/D轉(zhuǎn)換部分由于受到電源和體積的影響單獨(dú)作成一個(gè)模塊置于計(jì)算機(jī)外部,其中關(guān)鍵的核心器件ADC采用的是MAXIM公司推出的MAX101A,它的最高采樣率可達(dá)500兆/秒,采樣精度為8bit。兩部分之間的數(shù)據(jù)傳遞通過扁平電纜來完成。

?

?

2 A/D轉(zhuǎn)換

2.1 信號(hào)調(diào)理

  對(duì)于高速A/D采樣電路來講,前端調(diào)理電路顯得尤為重要,不僅要有足夠的帶寬,而且還要將單端的輸入信號(hào)變成差分信號(hào)提供給ADC,以減少偶次諧波的產(chǎn)生,同時(shí)本身的噪聲也要很小,這樣才不會(huì)對(duì)ADC的精度產(chǎn)生影響。考慮到上述因素,在前端部分采用了AD公司的AD8138作為緩沖放大器,它的性能指標(biāo)為:-3dB帶寬320MHz,輸入噪聲5nV/。AD8138為表面封裝器件,本身的體積非常小巧,使得ADC與信號(hào)輸入點(diǎn)的距離可以很近,大大減少了外界噪聲的影響。經(jīng)測試,器件的模擬帶寬為230MHz(圖2)。

?

?

2.2 系統(tǒng)時(shí)鐘的選擇

  ADC芯片MAX101A要求的采樣時(shí)鐘為500MHz的ECL差分時(shí)鐘。對(duì)于如此高速的時(shí)鐘電路,孔徑晃動(dòng)(jitter)是選擇時(shí)鐘源的一個(gè)非常重要指標(biāo)。jitter是指時(shí)鐘沿本身不穩(wěn)定,在一定范圍內(nèi)晃動(dòng),時(shí)鐘沿的晃動(dòng)會(huì)帶來采樣點(diǎn)的不確定性,被采樣信號(hào)的頻率越高造成的誤差就越大(圖3)。經(jīng)過調(diào)研,市場上有兩種比較成熟的芯片可供選擇。一是Motorola公司的MC12439,另一個(gè)是Synergy公司的SY89424。MC12439可輸出的頻率是50~800MHz(Peak-to-Peak jitter 25ps 8δ),SY89424的最高輸出頻率為1GHz(Peak-to-Peak jitter 10ps 3δ)且兩者的輸出電平都為差分的PECL。雖然兩種芯片給出的jitter相差不大,但實(shí)際上以上參數(shù)都是在輸出時(shí)鐘頻率小于其最大輸出頻率一半的條件下給出的,也就是說此時(shí)的輸出時(shí)鐘是內(nèi)部VCO的輸出經(jīng)過分頻后得到的。如果輸出時(shí)鐘不經(jīng)分頻而直接輸出,輸出時(shí)鐘的頻率實(shí)際上是內(nèi)部鎖相環(huán)VCO頻率的兩倍,輸出時(shí)鐘的穩(wěn)定性與VCO時(shí)鐘的占空比有直接的關(guān)系。而VCO很難保證它的占空比總是50%,所以在這種情況輸出時(shí)鐘的jitter將大大增加。鑒于上述原因,最終選擇了Synergy公司的輸出頻率可達(dá)1GHz的SY89424。

?

?

2.3 特殊電平時(shí)鐘的產(chǎn)生

  MAX101A芯片內(nèi)部是由采樣率為250兆/秒的完全獨(dú)立的兩個(gè)ADC拼在一起而得到的,從模擬信號(hào)輸入、參考電壓到數(shù)字信號(hào)輸出都是完全分開的兩部分。這樣做給與用戶很大的自由度,但同時(shí)也帶來一個(gè)問題,那就是很難確定在每一次上電后究竟是哪一個(gè)ADC先輸出,從而無法正確地 進(jìn)行數(shù)據(jù)鎖存。MAX101A要求用戶提供一個(gè)外加的控制信號(hào)TRK1和/TRK1來確定兩個(gè)ADC的先后順序。它規(guī)定在系統(tǒng)采樣時(shí)鐘的下降沿到來時(shí),如果TRK1為“1”,/TRK1為“0”則第一個(gè)ADC輸出有效,反之則第二個(gè)ADC輸出有效(圖4)。這樣的控制信號(hào)實(shí)現(xiàn)起來并不難,但MAX101A對(duì)TRK1和/TRK1的邏輯電平范圍的規(guī)定是一個(gè)非常規(guī)的值,它規(guī)定輸入電平在±50mV之間為邏輯“1”,在-350mV到-500mV之間為邏輯“0”。對(duì)于這樣一種非標(biāo)準(zhǔn)的時(shí)鐘電路,不可能用現(xiàn)成的芯片直接產(chǎn)生,為此在模擬仿真結(jié)果的基礎(chǔ)上,采用了圖5所示的電路來產(chǎn)生這樣的時(shí)鐘信號(hào)。D觸發(fā)器將時(shí)鐘信號(hào)二分頻后經(jīng)隔直電容送到電阻分壓網(wǎng)絡(luò)進(jìn)行衰減,同時(shí)提供新的基準(zhǔn)電平,這樣原來的ECL信號(hào)(-900mV~-1800mV)就被轉(zhuǎn)換成在0~-450mV之間的時(shí)鐘信號(hào),滿足了MAX101A的要求。電容隔直方法在高速數(shù)字電路中應(yīng)用十分廣泛,應(yīng)用這種方法可以很方便地將不同電平范圍的信號(hào)(如ECL和PECL)進(jìn)行相互轉(zhuǎn)換而不需要額外的電路,使用起來相當(dāng)方便。

?

?

2.4 高速數(shù)據(jù)的鎖存

  高速ADC的數(shù)據(jù)鎖存在A/D系統(tǒng)里的設(shè)計(jì)一直都是一個(gè)難點(diǎn),ADC的速度越高數(shù)據(jù)鎖存的難度就越大。盡管MAX101A的數(shù)字輸出已經(jīng)分成了A、B兩個(gè)端口,使每個(gè)數(shù)據(jù)通道的速率降為250Mbyte/s,但要將如此速度的數(shù)據(jù)準(zhǔn)確無誤的鎖存下來還是相當(dāng)困難的,必須進(jìn)一步降低數(shù)據(jù)端口的輸出速率。降低端口速率唯一的辦法就是將輸出端口的數(shù)據(jù)分成多路交替輸出,使每一路的數(shù)據(jù)產(chǎn)生率降到可以接受的速度。但是分的路數(shù)越多,電路就越龐大,各路時(shí)鐘與數(shù)據(jù)之間的關(guān)系也就越復(fù)雜。綜合兩者考慮,采取了將ADC的輸出分成八路的方案,這樣每一路的數(shù)據(jù)產(chǎn)生率為62.5Mbyte/s,完全可以用普通的鎖存器來完成。數(shù)據(jù)鎖存部分的結(jié)構(gòu)如圖6所示。MAX101A輸出的鎖存時(shí)鐘(250MHz)經(jīng)四分頻后送入一個(gè)六位的移位寄存器產(chǎn)生6個(gè)相差4ns的時(shí)鐘,其中的ABCD用于鎖存各個(gè)端口的數(shù)據(jù),CDEF經(jīng)電平轉(zhuǎn)換后作為EPLD鎖存數(shù)據(jù)的時(shí)鐘,之所以推遲兩個(gè)時(shí)鐘是為了補(bǔ)償數(shù)據(jù)的傳輸延時(shí)和EPLD內(nèi)部FIFO的建立時(shí)間。數(shù)據(jù)進(jìn)入到EPLD后,后端的處理就方便得多了,可以用EPLD作DRAM控制接口將FIFO的數(shù)據(jù)存儲(chǔ)到大容量的DRAM中去,也可將數(shù)據(jù)分組打包通過傳輸介質(zhì)傳遞給計(jì)算機(jī)進(jìn)行處理。在本系統(tǒng)中,采取第二種方法將數(shù)據(jù)通過電纜傳遞給位于計(jì)算機(jī)內(nèi)的一塊PCI卡上,計(jì)算機(jī)再通過它把數(shù)據(jù)存放到硬盤上。

?

?

3 高速電路的設(shè)計(jì)

  在高速電路中如何避免各個(gè)信號(hào)之間的串?dāng)_(crosstalk),以及如何保證信號(hào)的完整性(integrality)是整個(gè)系統(tǒng)正常工作的保障。首先,對(duì)于高速電路的電路板(PCB)應(yīng)至少采用四層以上的多層板技術(shù),本系統(tǒng)采用了六層板(表1)。采用多層板的目的并不僅僅是為了走線的方便,更重要的是使用了大面積的電源或地層之后可以使各信號(hào)線與地或電源平面之間形成一個(gè)緊耦合從而減少信號(hào)線之間的串?dāng)_。通常所用的在走線層大面積網(wǎng)格鋪地的方法,雖然也可起到一定的屏蔽作用,但其面積和與信號(hào)線間距離的關(guān)系遠(yuǎn)不如地平面產(chǎn)生的效果好。其次,系統(tǒng)的整體布局要合理,應(yīng)該綜合考慮地平面和電源層的分割。使用相同電源和地的芯片,布局時(shí)應(yīng)盡量放在一起以避免地平面被瑣碎的分割。當(dāng)同一塊電路板上既有模擬電路也有數(shù)字電路時(shí),更應(yīng)該仔細(xì)地考慮這兩部分的布局。模擬部分和數(shù)字部分應(yīng)該隔離,不僅是空間的隔離,而且電源也應(yīng)該隔離,兩部分最好單獨(dú)供電。最后,模擬地和數(shù)字地通過磁珠(ferrite bead)在一點(diǎn)相連。地平面上的電流一般比較大,大電流流過時(shí)會(huì)對(duì)表面上的器件產(chǎn)生一定的影響,尤其是對(duì)模擬器件產(chǎn)生的影響將直接反映在輸出信號(hào)質(zhì)量的好壞。為了減少地電流的影響,在設(shè)計(jì)地平面時(shí)應(yīng)該在比較敏感的模擬器件下方加一道隔離溝阻斷大電流的通路(如圖7所示),以減小地電流對(duì)它的影響。

?

  高速電路的PCB設(shè)計(jì)是整個(gè)系統(tǒng)成敗的關(guān)鍵,PCB的設(shè)計(jì)在很大程度上與所選用的EDA工具有關(guān)。在本系統(tǒng)的PCB設(shè)計(jì)上選用的是PADS公司出品的PowerPCB,它和傳統(tǒng)的設(shè)計(jì)工具Protel相比有如下優(yōu)點(diǎn):

  (1)支持圓弧拐角布線,減少信號(hào)線的輻射,降低串?dāng)_;

  (2)支持淚滴焊盤,使走線阻抗變化均勻,減少反射;

  (3)可以方便地在PCB的內(nèi)部層進(jìn)行分割和走線;

  (4)支持多種布線規(guī)則,如布線長度、走線阻抗等規(guī)則;

  (5)與自動(dòng)布線器Specctra接口方便;

  (6)直接支持信號(hào)完整性分析軟件HyperLynx。

  鑒于以上種種優(yōu)越性能,它非常適合于高速電路板的PCB設(shè)計(jì)。

4 Windows95下軟件設(shè)計(jì)的實(shí)時(shí)性考慮

  本系統(tǒng)的軟件是運(yùn)行于Window95平臺(tái)之上的。設(shè)計(jì)的指標(biāo)要求每秒能進(jìn)行200次的操作,每次采集512點(diǎn),既要求系統(tǒng)在5毫秒內(nèi)將A/D部分采到的512Bytes傳到計(jì)算機(jī)并存儲(chǔ)在硬盤上。這個(gè)要求對(duì)于PCI接口來說是非常低的,實(shí)測結(jié)果顯示系統(tǒng)的平均反應(yīng)時(shí)間遠(yuǎn)小于這個(gè)時(shí)間。但是我們發(fā)現(xiàn)系統(tǒng)每處理10000次響應(yīng)總會(huì)有一到兩次的反應(yīng)時(shí)間特別慢,超過5毫秒有時(shí)甚至達(dá)到40毫秒。而我們的系統(tǒng)要處理的是一個(gè)連續(xù)有序的事件,要求對(duì)每一個(gè)事件都必須做出反應(yīng),否則后面的事件就會(huì)被誤處理。經(jīng)過分析表明,這種現(xiàn)象完全是由于Windows95操作系統(tǒng)本身的原因造成的。Windows95是一種多任務(wù)的平臺(tái),它的核心運(yùn)行在優(yōu)先級(jí)較高的Ring0上,普通的應(yīng)用程序則運(yùn)行在優(yōu)先級(jí)低的Ring3上,應(yīng)用程序靠內(nèi)核的調(diào)度分時(shí)運(yùn)行。Windows95是專門為PC機(jī)設(shè)計(jì)的,主要的用途是處理人們的娛樂以及辦公自動(dòng)化等事務(wù),考慮的是使用起來如何方便,并沒有對(duì)工業(yè)控制方面的實(shí)時(shí)性加以考慮,所以外層的應(yīng)用程序有可能會(huì)隨時(shí)被內(nèi)核打斷,根本沒有什么時(shí)間的保障。要想準(zhǔn)確無誤地處理對(duì)時(shí)間要求比較苛刻的事件,必須把處理程序放在運(yùn)行于內(nèi)核級(jí)的中斷服務(wù)程序中去執(zhí)行,這樣除非有更高級(jí)的中斷否則程序就不會(huì)被打斷。在編寫中斷服務(wù)程序處理函數(shù)時(shí)我們采用了Windriver提供的Kernal PlugIn功能,將自己編寫的中斷服務(wù)程序掛接在系統(tǒng)內(nèi)核上。用此種方法可以實(shí)現(xiàn)每秒10000次的中斷處理而不丟失。我們?cè)诰帉懼袛喾?wù)程序時(shí)借用了硬件設(shè)計(jì)中FIFO的思想。先在內(nèi)存中開辟一塊區(qū)域作緩沖區(qū)分別設(shè)置讀指針和寫指針,硬件觸發(fā)中斷后服務(wù)程序先從A/D讀取數(shù)據(jù)進(jìn)行處理,然后發(fā)出指令控制A/D等待下一次事件,接著向上層應(yīng)用軟件發(fā)出消息請(qǐng)求上層應(yīng)用程序從緩沖區(qū)讀取數(shù)據(jù)存盤和顯示。中斷服務(wù)程序發(fā)出的消息有可能不會(huì)馬上被上層應(yīng)用程序響應(yīng),但只要緩沖區(qū)足夠大,每一次事件產(chǎn)生的數(shù)據(jù)就不會(huì)丟失。整個(gè)程序的流程圖如圖8所示。

?

?

  本數(shù)據(jù)采集系統(tǒng)已成功地在上海某科研單位得到應(yīng)用。雖然設(shè)計(jì)初衷是為了滿足某用戶的需求,但它容易擴(kuò)展成通用的A/D采樣系統(tǒng)而應(yīng)用于相關(guān)的各個(gè)領(lǐng)域。

?

參考文獻(xiàn)

1 MAX101A Data Sheet, rev 0.MAXIM Inc,1996.7

2 MAX101A Evaluation Kit, rev 1.MAXIM Inc,1996.7

3 ALTERA Device Data Book. Altera Coporation, 1999

4 TIMING SOLUTIONS, rev 6. Motorola Inc. 1997

5 High Performance ECL Data,rev 4.Motorola Inc. 1996

6? PCI Products Data Book.AMCC Corporation, 1998

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。

相關(guān)內(nèi)容