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