基于FPGA的數(shù)字示波器
摘要:提出一種基于FPGA的簡易數(shù)字示波器設(shè)計方法,硬件上采用以Altera公司的EP2C8Q208CN現(xiàn)場可編程門陣列芯片作為核心器件,同時結(jié)合FPGA和NIOS軟核的優(yōu)勢,設(shè)計高效的片上可編程系統(tǒng)(SoPC)對高速A/D所采集的數(shù)據(jù)進行快速存儲和處理。整機測試表明,系統(tǒng)各功能正常,整個系統(tǒng)集成度高,體積小,可靠性高,易于程控,使用靈活。
關(guān)鍵詞:現(xiàn)場可編程邏輯門陣列;信號調(diào)整;高速A/D;片上可編程系統(tǒng)
高速數(shù)字化采樣技術(shù)和FPGA技術(shù)的發(fā)展對傳統(tǒng)測試儀器的體系結(jié)構(gòu),包括傳統(tǒng)測量方法、傳統(tǒng)儀器的定義和分類等都產(chǎn)生深刻的影響。伴隨數(shù)字技術(shù)的發(fā)展,數(shù)字示波器展現(xiàn)了其強大的功能:智能捕獲、參數(shù)分析、時頻等變換處理、超大規(guī)模數(shù)據(jù)波形存儲以及數(shù)據(jù)上網(wǎng)共享等。與傳統(tǒng)模擬示波器相比,數(shù)字示波器不僅具有可存儲波形,體積小,功耗低,使用方便等優(yōu)點,而且還具有強大的信號實時處理分析功能。
1 系統(tǒng)組成
設(shè)計的數(shù)字示波器總體框圖如圖1所示。
系統(tǒng)主要包括信號調(diào)理模塊、A/D轉(zhuǎn)換模塊、控制器模塊、時鐘產(chǎn)生模塊、觸發(fā)電路、數(shù)據(jù)緩存模塊、數(shù)據(jù)快速處理模塊、輸入模塊及顯示模塊。控制器模塊由MSP430單片機組成,用來控制信號調(diào)理模塊和A/D轉(zhuǎn)換模塊以及按鍵輸入;時鐘產(chǎn)生模塊、數(shù)據(jù)緩存模塊,數(shù)據(jù)快速處理模塊這三個部分在FPGA內(nèi)部完成;數(shù)據(jù)快速處理模塊是由基于FPGA的SoPC來完成的,同時SoPC還控制TFT液晶的顯示。
2 系統(tǒng)理論分析及硬件實現(xiàn)
2.1 信號調(diào)理模塊
信號調(diào)理電路包括衰減網(wǎng)絡(luò)、電壓跟隨電路、程控放大電路和直流偏置電路等。信號調(diào)理電路框圖如圖2所示。
為了保證輸入信號在AD芯片的參考電壓范圍內(nèi),當大信號輸入時,必須通過衰減網(wǎng)絡(luò)對其進行衰減,以滿足A/D采集電路的電壓要求。通過電阻網(wǎng)絡(luò)分壓實現(xiàn)信號的衰減,衰減倍數(shù)有1/2和1/20兩種,通過單片機控制繼電器(TQ2-5),實現(xiàn)對兩種衰減倍數(shù)的切換;另外,電容網(wǎng)絡(luò)是進行相位補償,通過可調(diào)電容可以實現(xiàn)相位的補償。電壓跟隨電路作為隔離級,可減小后級電路對前級電路的影響。電壓跟隨電路由TI公司的OPA656構(gòu)成,OPA656是寬帶單位增益穩(wěn)定FET輸入運算放大器。
程控放大電路由程控增益芯片AD603和雙通道串口數(shù)/模轉(zhuǎn)換器TLV5638組成。單片機通過控制TLV5638的通道A產(chǎn)生高精度模擬電壓,用于調(diào)節(jié)AD603的放大倍數(shù)。直流偏置電路中,單片機控制TLV5638,使其OUTB引腳輸出一個直流電壓,該電壓經(jīng)過NE5532組成的等比例反向器后接到OPA656的反向輸入端,可以通過這個電壓來確定OPA656的輸出,反映到屏幕上是波形的中線位置。如果液晶顯示的波形偏下或者偏上,可以調(diào)節(jié)TLV5638的B端輸出來調(diào)節(jié)。
2.2 采樣分析及A/D數(shù)據(jù)采集電路
對于信號的采樣分為兩種方法,實時采樣和等效采樣。實時取樣對波形進行等時間間隔取樣,按照取樣先后的次序進行A/D轉(zhuǎn)換,并存入存儲器中。等效時間取樣方式是先采用“取樣技術(shù)”,將周期性的高頻信號變換成波形與其相似的周期性低頻信號,然后再做進一步的處理,因而可以比較容易地獲得很寬的頻帶寬度。但等效時間取樣僅限于處理重復性的周期信號。圖3是實時采樣和等效采樣的對比。
由于系統(tǒng)的最高時鐘為50MHz,綜合以上考慮和現(xiàn)實要求,該系統(tǒng)采用了等效采樣和實時采樣兩種采樣方式。當輸入信號頻率低于10M-Hz,選用實時采樣;反之,選用等效采樣。數(shù)據(jù)采集電路中AD芯片選用TI公司的ADS830E,它是一個單通道并行8位的模/數(shù)轉(zhuǎn)換器,采樣速率最高可達60 MHz。為了減少硬件電路的設(shè)計和消除其他信號的干擾,A/D數(shù)據(jù)采集中的采樣時鐘由FPGA提供。
2.3 單片機控制模塊設(shè)計
單片機控制模塊采用TI公司的MSP430F149單片機。MSP430F149控制信號調(diào)理模塊以及按鍵的輸入等。
2.4 系統(tǒng)中FPGA設(shè)計
2.4.1 時鐘分頻電路設(shè)計
該數(shù)據(jù)采集系統(tǒng)具有比較寬的測量范圍,在FPGA內(nèi)部設(shè)計了一個分頻電路,用來實現(xiàn)針對不同頻率的被測信號選擇不同的采樣頻率,確保采集數(shù)據(jù)更加精確。圖4是使用Verilog實現(xiàn)的分頻電路,該電路可以實現(xiàn)對50 MHz頻率的時鐘源進行分頻。分頻比可由程序控制,從而使時鐘滿足A/D采集的需求。
2.4.2 FIFO及觸發(fā)電路設(shè)計
該系統(tǒng)利用FPGA設(shè)計大小為1 024 B的FIFO,實現(xiàn)對A/D采集數(shù)據(jù)的快速存儲。A/D采集電路開啟時,F(xiàn)IFO開始存儲數(shù)據(jù)。利用FPGA設(shè)計的FIFO如圖5所示。
當FIFO所存儲的數(shù)據(jù)在屏幕上還原出波形時,選取一個固定的起始點,使后面的波形能夠連續(xù)且沒有重疊的在屏幕上顯示。這個起始點反映到系統(tǒng)中就是觸發(fā)信號。該系統(tǒng)中采用內(nèi)部軟件觸發(fā)方式,通過軟件設(shè)置觸發(fā)電平。所設(shè)置的施密特觸發(fā)器參數(shù)易于修改,從而抑制比較器產(chǎn)生的毛刺。當采樣值大于觸發(fā)電平,則產(chǎn)生一次觸發(fā)。該方式充分利用了FPGA的資源,減少外圍電路,消除硬件毛刺產(chǎn)生的干擾,易于調(diào)整觸發(fā)電壓。
2.4.3 SoPC系統(tǒng)設(shè)計
由于采集的數(shù)字信號需要進行高速處理,因此本設(shè)計利用了FPGA,高效的SoPC,對FIFO(數(shù)據(jù)緩存)中的數(shù)據(jù)進行處理,并控制TFT液晶顯示所采集信號的波形。
3 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件設(shè)計實現(xiàn)了人機交互、信息提示、系統(tǒng)啟動與復位等功能。系統(tǒng)軟件設(shè)計如圖6所示,該系統(tǒng)包含采樣時鐘產(chǎn)生單元、顯存控制單元、TFT液晶顯示和可編程放大控制等模塊。Verilog可以形成原理圖,對其進行仿真實現(xiàn),而且SoPC配置的軟核CPU允許掛接這些單元,很容易實現(xiàn)總體功能的合理規(guī)劃。
4 系統(tǒng)測試分析
(1)單次觸發(fā)掃描測試,觀察設(shè)計的示波器能否產(chǎn)生掃描電壓,并在信號上升沿開始顯示波形。觀察結(jié)果能夠產(chǎn)生掃描電壓,并顯示波形。
(2)經(jīng)測量得到輸入短路時輸出噪聲的峰-峰值為1.72 mV。
(3)100 kHz方波校準信號的電壓幅值為0.308 V,誤差為0.69%。
(4)垂直靈敏度測試。正弦信號頻率為10 kHz,記錄數(shù)據(jù)如表1所示。
由表2中數(shù)據(jù)可知,測量結(jié)果都在測量誤差允許范圍內(nèi),很好地完成了設(shè)計任務(wù)。
5 結(jié)語
該系統(tǒng)的突出特點采用FPGA作為核心控制器,同時結(jié)合NIOS軟核的優(yōu)勢,實現(xiàn)了數(shù)字示波器的設(shè)計。結(jié)果表明,系統(tǒng)總體功能完善,集成度高,全數(shù)字化,體積小,重量輕,可靠性高,易于程控,使用靈活。