新聞中心

EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 高速A/D系統(tǒng)設(shè)計(jì)結(jié)構(gòu)及電路設(shè)計(jì)問(wèn)題

高速A/D系統(tǒng)設(shè)計(jì)結(jié)構(gòu)及電路設(shè)計(jì)問(wèn)題

作者: 時(shí)間:2017-06-12 來(lái)源:網(wǎng)絡(luò) 收藏

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

本文引用地址:http://butianyuan.cn/article/201706/353099.htm

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

系統(tǒng)分為A/D轉(zhuǎn)換和數(shù)據(jù)傳輸控制兩大部分(圖1)。數(shù)據(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ù)傳遞通過(guò)扁平電纜來(lái)完成。

2 A/D轉(zhuǎn)換

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

對(duì)于高速A/D采樣電路來(lái)講,前端調(diào)理電路顯得尤為重要,不僅要有足夠的帶寬,而且還要將單端的輸入信號(hào)變成差分信號(hào)提供給ADC,以減少偶次諧波的產(chǎn)生,同時(shí)本身的噪聲也要很小,這樣才不會(huì)對(duì)ADC的精度產(chǎn)生影響??紤]到上述因素,在前端部分采用了AD公司的AD8138作為緩沖放大器,它的性能指標(biāo)為:-3dB帶寬320MHz,輸入噪聲5nV/(根號(hào)Hz)。AD8138為表面封裝器件,本身的體積非常小巧,使得ADC與信號(hào)輸入點(diǎn)的距離可以很近,大大減少了外界噪聲的影響。經(jīng)測(cè)試,器件的模擬帶寬為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ì)帶來(lái)采樣點(diǎn)的不確定性,被采樣信號(hào)的頻率越高造成的誤差就越大(圖3)。經(jīng)過(guò)調(diào)研,市場(chǎng)上有兩種比較成熟的芯片可供選擇。一是Motorola公司MC12439,另一個(gè)是Synergy公司的SY89424。MC12439可輸出的頻率是50~800MHz(Peak-to-Peak jitter 25ps 8δ),/TRK1 SY89424的最高輸出頻率為1GHz(Peak-to-Peak jitter 3δ)且兩者的輸出電平都為差分的PECL。雖然兩種芯片給出的jitter相差不大,但實(shí)際上以上參數(shù)都是在輸出時(shí)鐘頻率小于其最大輸出頻率一半的條件下給出的,也就是說(shuō)此時(shí)的輸出時(shí)鐘是內(nèi)部VCO的輸出經(jīng)過(guò)分頻后得到的。如果輸出時(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)輸出都是完全分開(kāi)的兩部分。這樣做給與用戶很大的自由度,但同時(shí)也帶來(lái)一個(gè)問(wèn)題,那就是很難確定在每一次上電后究竟是哪一個(gè)ADC先輸出,從而無(wú)法正確地進(jìn)行數(shù)據(jù)鎖存。MAX101A要求用戶提供一個(gè)外加的控制信號(hào)TRK1和TRK1來(lái)確定兩個(gè)ADC的先后順序。它規(guī)定在系統(tǒng)采樣時(shí)鐘的下降沿到來(lái)時(shí),如果TRK1為“1”,/TRK1為“0”則第一個(gè)ADC輸出有效,反之則第二個(gè)ADC輸出有效(圖4)。這樣的控制信號(hào)實(shí)現(xiàn)起來(lái)并不難,但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所示的電路來(lái)產(chǎn)生這樣的時(shí)鐘信號(hào)。D觸發(fā)器將時(shí)鐘信號(hào)二分頻后經(jīng)隔直電容送到電阻分壓網(wǎng)絡(luò)進(jìn)行衰減,同時(shí)提供新的基準(zhǔn)電平,這樣原來(lái)的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)換而不需要額外的電路,使用起來(lái)相當(dāng)方便。

2.4 的鎖存

高速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)確無(wú)誤的鎖存下來(lái)還是相當(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,完全可以用普通的鎖存器來(lái)完成。數(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)入到EPLF后,后端的處理就方便得多了,可以用EPLD作DRAM控制接口將FIFO的數(shù)據(jù)存儲(chǔ)到大容量的DRAM中去,也可將數(shù)據(jù)分組打包通過(guò)傳輸介質(zhì)傳遞給計(jì)算機(jī)進(jìn)行處理。在本系統(tǒng)中,采取第二種方法將數(shù)據(jù)通過(guò)電纜傳遞給位于計(jì)算機(jī)內(nèi)的一塊PCI卡上,計(jì)算機(jī)再通過(guò)它把數(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)該綜合考慮地平面和電源層的分割。使用相同電源和地的芯片,布局盡量放在一起以避免地平面被瑣碎的分割。當(dāng)同一塊電路板上既有模擬電路也有數(shù)字電路時(shí),更應(yīng)該仔細(xì)地考慮這兩部分的布局。模擬部分和數(shù)字部分應(yīng)該隔離,不僅是空間的隔離,而且電源也應(yīng)該隔離,兩部分最好單獨(dú)供電。最后,模擬地和數(shù)字地通過(guò)磁珠(ferrite bead)在一點(diǎn)相連。地平面上的電流一般比較大,大電流流過(guò)時(shí)會(huì)對(duì)表面上的器件產(chǎn)生一公平的影響,尤其是對(duì)模擬器件產(chǎn)生的影響將直接反映在輸出信號(hào)質(zhì)量的好壞。為了減少地電流的影響,在設(shè)計(jì)地平面時(shí)應(yīng)該在比較敏感的模擬器件下方加一道隔離溝阻斷大電流的通路(如圖7所示),以減小地電流對(duì)它的影響。

表1

名 稱 用途說(shuō)明

頂層 布線、元件

中間層1 模擬地、VTT

中間層2 數(shù)字地、ECL的VCC

中間層3 模擬+5V、數(shù)字+5V、數(shù)字+3.3V

中間層4 模擬-5V、數(shù)字-5V、數(shù)字+2.5V

底層 布線

高速電路的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)線的輻射,降低串優(yōu);

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

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

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

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

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

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

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

本系統(tǒng)的軟件運(yùn)行于Window 95平臺(tái)之上的。設(shè)計(jì)的指標(biāo)要求每秒能計(jì)時(shí)200次的操作,每次采集512點(diǎn),既要求系統(tǒng)在5毫秒內(nèi)將A/D部分采到的512Bytes傳到計(jì)算機(jī)并存儲(chǔ)在硬盤上。這個(gè)要求對(duì)于PCI接口來(lái)說(shuō)是非常低的,實(shí)測(cè)結(jié)果顯示系統(tǒng)的平均反應(yīng)時(shí)間遠(yuǎn)小于這個(gè)時(shí)間。但是結(jié)果顯示系統(tǒng)的平均反應(yīng)時(shí)間遠(yuǎn)小于這個(gè)時(shí)間。但是我們發(fā)現(xiàn)系統(tǒng)每處理10 000次響應(yīng)總會(huì)有一到兩次的反應(yīng)時(shí)間特別慢,超過(guò)5毫秒有時(shí)甚至達(dá)到40毫秒。而我們的系統(tǒng)要處理的是一個(gè)連續(xù)有序的事件,要求對(duì)每一個(gè)事件都必須做反應(yīng),否則后面的事件就會(huì)被誤處理。經(jīng)過(guò)分析表明,這種現(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)用程序靠?jī)?nèi)核的調(diào)度分時(shí)運(yùn)行。Windows95是專門為設(shè)計(jì)的,主要的用途是處理人們的娛樂(lè)以及辦公自動(dòng)化等事務(wù),考慮的是使用起來(lái)如何方便,并沒(méi)有對(duì)工業(yè)控制方面的實(shí)時(shí)性加以考慮,所以外層的應(yīng)用程序有可能會(huì)隨時(shí)被內(nèi)核打斷,根本沒(méi)有什么時(shí)間的保障。

要想準(zhǔn)確無(wú)誤地處理對(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)每秒10 000次的斷處理而不丟失。我們?cè)诰帉懼袛喾?wù)程序時(shí)借用了硬件設(shè)計(jì)中FIFO的思想,先在內(nèi)存中開(kāi)辟一塊共域作緩沖區(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ò)展成通用的應(yīng)用于相關(guān)的各個(gè)領(lǐng)域。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉