100MHz 數(shù)字存儲(chǔ)示波表樣機(jī)的研究與試制----數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)(一)
第三章數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
本文引用地址:http://2s4d.com/article/201706/348245.htm數(shù)據(jù)采集系統(tǒng)是數(shù)字存儲(chǔ)示波表的核心部分,它完成由模擬信號(hào)到數(shù)字信號(hào)的轉(zhuǎn)換,即模擬信號(hào)經(jīng)調(diào)理通道后進(jìn)入A/D轉(zhuǎn)換成數(shù)字量,再將這些數(shù)字量存入緩存器FIFO,由DSP讀回進(jìn)行計(jì)算處理,最后送去顯示。
3.1 A/D的選擇
數(shù)字存儲(chǔ)示波表要顯示信號(hào)波形首先要對(duì)模擬信號(hào)進(jìn)行采樣。所謂采樣就是對(duì)模擬信號(hào)進(jìn)行量化的過程。而量化過程實(shí)際上存在著許多限制。首先,它要受到量化范圍的限制。由于A/D總有一定的輸入量程,超出了該量程,轉(zhuǎn)換結(jié)果就會(huì)出現(xiàn)很大的誤差。例如,信號(hào)如果超出了上限,那么A/D只能給出最大碼值;反之,如果超出了下限,只能給出最小碼值。這樣,采樣結(jié)果就會(huì)相對(duì)于模擬信號(hào)產(chǎn)生很大的畸變,不能有效的反映真實(shí)的信號(hào)信息。另外,A/D對(duì)量化值進(jìn)行編碼的位數(shù)決定了采樣模擬信號(hào)的精確性。編碼位數(shù)越多,對(duì)模擬信號(hào)的分辨率也就越高,采樣出來的信號(hào)電壓值也就更準(zhǔn)確。在實(shí)際應(yīng)用中我們選擇的模擬/數(shù)字變換器(ADC)是ANALOG DEVICE公司的AD9288,它的基本性能描述如下:
◆兩個(gè)八位模擬/數(shù)字變換通道,100MSPS采樣率/每通道
◆低功耗:90mW/每通道(100MSPS時(shí))
◆片內(nèi)提供參考電壓和采樣、保持電路
◆模擬通道:475MHz模擬帶寬信噪比:SNR=47dB@41MHz
◆模擬輸入范圍:1Vpp/每通道
◆單電壓供電(+3.0V)
◆等待模式選擇
◆兩種數(shù)據(jù)輸出格式
◆輸出數(shù)據(jù)與拼接模式
AD9288是雙通道八位單片模擬/數(shù)字轉(zhuǎn)換器,具有內(nèi)部的采樣保持電路,是一款低價(jià)格、低功耗、體積小易于使用的優(yōu)化產(chǎn)品。它工作在100MSPS轉(zhuǎn)換率時(shí)同樣具有出色的動(dòng)態(tài)性能,并且兩個(gè)通道可以完全獨(dú)立工作。
這款模擬/數(shù)字變換器只需要單3.0V電源供電(2.7V-3.6V),提供編碼時(shí)鐘輸入方式,在大多數(shù)應(yīng)用領(lǐng)域,不需要外接參考電壓或者是驅(qū)動(dòng)器件。數(shù)字輸出和TTL/CMOS兼容,并且有獨(dú)立的輸出供電引腳,支持多數(shù)字邏輯電壓(2.5V或3.3V)接口。編碼輸入是與TTL/CMOS兼容的,并且8位數(shù)字輸出能在2.5V到3.3V電壓范圍內(nèi)工作(典型值為3.0V)。用戶選擇項(xiàng)提供聯(lián)合等待模式、數(shù)據(jù)格式選擇,數(shù)據(jù)拼接模式。在等待模式下,數(shù)據(jù)輸出處于高阻狀態(tài)。先進(jìn)的CMOS工藝使得AD9288體積超?。?mm * 7mm * 1.4mm),采用48PIN_LQFP封裝。
工業(yè)制品溫度范圍:(-40℃—+85℃)。
AD9288提供的S1、S2兩個(gè)引腳可以用來選擇多種操作模式。操作模式如表3-1.
如表所示,當(dāng)S1、S2都設(shè)置為1時(shí),AD9288工作在雙通道拼接模式。所謂拼接模式即是允許使用者將B通道輸出數(shù)據(jù)錯(cuò)位半個(gè)周期。也就是說,向A、B兩個(gè)通道提供相同的采樣時(shí)鐘(CLK_A=CLK_B),對(duì)同一信號(hào)進(jìn)行采樣。兩通道的數(shù)據(jù)同在CLK_A上升沿有效。這樣,在輸出時(shí)B通道的數(shù)據(jù)就和A通道的數(shù)據(jù)相差180度相位。從而,使采樣率達(dá)到了普通工作模式下的2倍。這一功能是非常有用的:如果用100MSPS的采樣率對(duì)20MHz信號(hào)進(jìn)行采樣每個(gè)周期只能得到5個(gè)采樣點(diǎn),只能基本恢復(fù)和再現(xiàn)信號(hào)波形,如果利用相同的時(shí)鐘,工作在拼接模式,將一個(gè)被測信號(hào)同時(shí)送入兩個(gè)通道,就可以得到10個(gè)采樣點(diǎn),重現(xiàn)波形的效果會(huì)得到很大改善。我們?cè)趯?shí)際使用中,令其工作在普通模式下,兩通道采集相互獨(dú)立,及S1=1,S2=0.其具體連接圖如圖3-1所示。
3.2 FIFO的構(gòu)成
當(dāng)模擬信號(hào)被A/D采樣進(jìn)來以后,需要有一個(gè)能夠快速保存采樣數(shù)據(jù)的存儲(chǔ)器。FIFO(First In First Out)是一種先進(jìn)先出(即第一個(gè)讀出來的數(shù)據(jù)就是第一個(gè)寫進(jìn)去的數(shù)據(jù))存儲(chǔ)器。它沒有地址線,省去了尋址時(shí)間。另外,它還可以同時(shí)對(duì)存儲(chǔ)空間進(jìn)行讀寫。所以,它比一般存儲(chǔ)器的讀取速度要快很多。能夠滿足在高速采樣時(shí),對(duì)存儲(chǔ)器快速讀寫的要求。在實(shí)際應(yīng)用中,我們沒有采用現(xiàn)成的FIFO芯片。而是利用FPGA里面自帶的5K RAM,通過MAX-PLUS II調(diào)用它宏單元庫MEGA_LPM里的庫文件LPM_FIFO_DC,把它設(shè)置成為兩個(gè)2.5K的FIFO.由于一個(gè)LPM_FIFO_DC庫文件只能實(shí)現(xiàn)2n個(gè)存儲(chǔ)空間。所以,我們調(diào)用了兩個(gè)庫文件(大小分別為2 9=512和2 11=2048)串連,來實(shí)現(xiàn)2.5K的空間。
具體連接如圖3-2.
如圖所示,一個(gè)LPM_FIFO_DC庫文件有一個(gè)寫使能信號(hào)wrreq,一個(gè)寫時(shí)鐘信號(hào)wrclock,一個(gè)讀使能信號(hào)rdreq,一個(gè)讀時(shí)鐘信號(hào)rdclock,一個(gè)清除端aclr,8位數(shù)據(jù)輸入線和8位數(shù)據(jù)輸出線;同時(shí)還有兩個(gè)狀態(tài)端:FIFO滿信號(hào)wrfull和FIFO空信號(hào)rdempty.它的具體工作原理是:1.寫FIFO時(shí),數(shù)據(jù)首先進(jìn)入0.5K的FIFO.此時(shí),0.5K FIFO讀寫使能同時(shí)有效,數(shù)據(jù)進(jìn)入0.5K FIFO后,隨即被寫入到2K的FIFO.當(dāng)2K的FIFO寫滿后,此FIFO模塊的滿信號(hào)有效,使得該模塊FIFO的寫使能和0.5K FIFO讀使能都置為無效,寫入的數(shù)據(jù)直接存入0.5K的FIFO不再轉(zhuǎn)移,直到2.5K全部寫滿為止。2.讀FIFO時(shí),初始狀態(tài)為0.5K FIFO讀使能有效,2K FIFO讀寫使能同時(shí)有效。來一個(gè)讀時(shí)鐘就從2K FIFO讀走一個(gè)最老的數(shù)據(jù),同時(shí),又從0.5K FIFO寫進(jìn)一個(gè)數(shù)據(jù)。當(dāng)0.5K FIFO讀空后,即0.5K FIFO的數(shù)據(jù)已全部轉(zhuǎn)移至2K FIFO后,0.5K FIFO讀空信號(hào)有效,從而,關(guān)斷2K FIFO的寫使能,使2K FIFO只讀不寫,直到所有2.5K數(shù)據(jù)全部讀空。
3.3觸發(fā)
觸發(fā)是由觸發(fā)電路來實(shí)現(xiàn)的。如果沒有觸發(fā)電路,你在屏幕上看到的將會(huì)是具有隨機(jī)起始點(diǎn)的很多波形雜亂重疊的圖像。而觸發(fā)電路的主要作用就是保證每次拿去顯示的點(diǎn)都是從輸入信號(hào)上的一精確確定的點(diǎn)開始。它主要包括:觸發(fā)源選擇、觸發(fā)類型選擇、觸發(fā)耦合方式選擇、觸發(fā)釋抑等。
3.3.1觸發(fā)電路
1.觸發(fā)源選擇
觸發(fā)源一般有內(nèi)觸發(fā)、外觸發(fā)和電源觸發(fā)三種類型。觸發(fā)源的選擇應(yīng)根據(jù)被測信號(hào)的特點(diǎn)來確定,以保證被測信號(hào)波形的穩(wěn)定顯示。
(1)內(nèi)觸發(fā):將被測信號(hào)本身作為觸發(fā)源。
(2)外觸發(fā):用外接的、與被測信號(hào)有嚴(yán)格同步關(guān)系的信號(hào)作為觸發(fā)源,這種觸發(fā)源用于比較兩個(gè)信號(hào)的同步關(guān)系,或者,當(dāng)被測信號(hào)不適于作觸發(fā)信號(hào)時(shí)使用。
(3)電源觸發(fā):用50Hz的工頻正弦信號(hào)作為觸發(fā)源,適用于觀測與50Hz交流有同步關(guān)系的信號(hào)。
在實(shí)際項(xiàng)目中,我們只采用了內(nèi)觸發(fā)和外觸發(fā)兩種觸發(fā)源。它主要通過DSP發(fā)出的串行碼經(jīng)過FPGA和D觸發(fā)器來控制一個(gè)四路選擇器來實(shí)現(xiàn)。具體電路如圖3-3.
2.觸發(fā)耦合方式選擇
選擇好觸發(fā)源后,為了適應(yīng)不同的觸發(fā)信號(hào)頻率,示波器一般設(shè)有四種觸發(fā)耦合方式。
(1)“DC”直流耦合:是一種直接耦合方式,用于接入直流或緩慢變化的觸發(fā)信號(hào),或者頻率較低并含有直流分量的觸發(fā)信號(hào)。
(2)“AC”交流耦合:是一種通過電容耦合的方式,有隔直作用。觸發(fā)信號(hào)經(jīng)一個(gè)電容接入,用于觀察從低頻到較高頻率的信號(hào)。
(3)“低頻抑制”耦合:使觸發(fā)源信號(hào)通過一個(gè)高通濾波器以抑制其低頻成分。
這對(duì)于顯示包含很多電源交流噪聲的信號(hào)是很有用的。
(4)“高頻抑制”耦合:使觸發(fā)源信號(hào)通過低通濾波器以抑制其高頻分量。這意味著既使一個(gè)低頻信號(hào)中包含很多高頻噪聲,我們?nèi)阅苁蛊浒吹皖l信號(hào)觸發(fā)。
3.觸發(fā)類型選擇
數(shù)字存儲(chǔ)示波器最大的優(yōu)點(diǎn)就是具有先進(jìn)、多樣的觸發(fā)功能,從而使示波器的應(yīng)用更加得心應(yīng)手。利用這些觸發(fā)功能,示波器就能完成比以前更多的工作。常用的觸發(fā)類型有邊沿觸發(fā)、視頻觸發(fā)、脈沖觸發(fā)和毛刺觸發(fā)。本項(xiàng)目中采用了邊沿觸發(fā)和視頻觸發(fā)。其中,邊沿觸發(fā)分為上升沿觸發(fā)和下降沿觸發(fā)兩種;視頻觸發(fā)分為行頻觸發(fā)和場頻觸發(fā)兩種。這四種觸發(fā)信號(hào)分別進(jìn)入FPGA,通過一個(gè)四路選擇器,選擇其中之一作為系統(tǒng)觸發(fā)信號(hào)。其具體電路如圖3-4.
4.觸發(fā)釋抑
觸發(fā)釋抑的主要作用就是調(diào)整觸發(fā)信號(hào)為一標(biāo)準(zhǔn)的周期信號(hào),從而達(dá)到穩(wěn)定顯示波形的目的。例如,我們要觀測如圖3-5所示的周期信號(hào)。這個(gè)信號(hào)波形一個(gè)周期內(nèi)的1、2、3、4點(diǎn)的位置都滿足觸發(fā)條件。如果按一般情況,系統(tǒng)
就會(huì)在1、2、3、4點(diǎn)都產(chǎn)生觸發(fā)信號(hào),這樣就會(huì)造成顯示時(shí)波形的左右抖動(dòng)。
解決這一問題的關(guān)鍵就是在于調(diào)節(jié)觸發(fā)釋抑時(shí)間,使觸發(fā)信號(hào)產(chǎn)生在每個(gè)信號(hào)波形周期的相同位置,即,使每次觸發(fā)都發(fā)生在各周期的1、2、3或4位置,這樣,信號(hào)波形才能無抖動(dòng)的重現(xiàn)出來。
本項(xiàng)目中觸發(fā)釋抑具體實(shí)現(xiàn)電路如圖3-6所示。由圖知,這個(gè)電路包括三
個(gè)輸入信號(hào):計(jì)數(shù)使能信號(hào)PRE_TRI_FULL;計(jì)數(shù)時(shí)鐘信號(hào)CNT_CLK;釋抑時(shí)間設(shè)置TRI_DELAY_DATA.一個(gè)輸出信號(hào):觸發(fā)屏蔽信號(hào)Armed.它的工作原理是:剛開始時(shí)Armed為低電平,屏蔽所有觸發(fā)信號(hào)。達(dá)到預(yù)觸發(fā)深度后,計(jì)數(shù)使能信號(hào)PRE_TRI_FULL有效,使計(jì)數(shù)器按照計(jì)數(shù)時(shí)鐘CNT_CLK開始計(jì)數(shù)。當(dāng)計(jì)數(shù)到預(yù)先設(shè)置的計(jì)數(shù)值TRI_DELAY_DATA后(此計(jì)數(shù)值由DSP送過來),Armed變?yōu)楦唠娖?,開放觸發(fā)信號(hào)。
評(píng)論