1 系統(tǒng)方案設計
設計的數(shù)字示波器系統(tǒng)主要使用了Xilinx系統(tǒng)的開發(fā)環(huán)境,,并在此環(huán)境內(nèi)部建立了AD采樣控制模塊、鍵盤控制模塊,、VGA顯示模塊等多個模塊,,從很大程度上減少了硬件電路的搭建,也因此提高了系統(tǒng)的穩(wěn)定性和可靠性,,系統(tǒng)框圖如圖1所示,。
另外,設計使用XPS將32位的MicroBlaze微處理器嵌入到了FPGA中,,實現(xiàn)了可編程片的嵌入以及在可編程片上的系統(tǒng)設計,。MieroBlaze通過LBM總線訪問片上的存儲模塊BlockRAM,然后通過OPB總線上掛接外設進行接口連接和驅(qū)動,。
VGA顯示部分采用雙緩沖機制進行工作,在FPGA內(nèi)部建立RAM,,按照一定時序降RAM內(nèi)的緩存數(shù)據(jù)映射到VGA顯示屏上,。
2 硬件設計
2.1 信號調(diào)理電路模塊
信號調(diào)理電路模塊,對輸入的模擬信號進行處理,由于輸入電壓幅度為-2.5~+2.5 V之間,,而后一級的AD模塊采用了12位的高速A/D轉(zhuǎn)換芯片ADS804,,只能對0~2 V的電壓進行模/數(shù)轉(zhuǎn)換,故需要將輸入電壓先抬升為0~5 V,,在應用運算放大器進行比例縮小,,達到0~2 V的模數(shù)轉(zhuǎn)換要求。
2.2 A/D轉(zhuǎn)換電路
A/D轉(zhuǎn)換模塊采用存儲采樣數(shù)據(jù)的并行數(shù)據(jù)處理方法,,這樣可以使硬件電路得到最大程度的簡化,,同時也提高了系統(tǒng)的穩(wěn)定性。AD部分的采樣,,選用實時采樣技術,。能夠捕獲到單個信號。采樣速率為10 MHz,,即在最高頻率1 MHz時,,實時采樣可以在每周期采10個點以保證取到一個完整的信號波形。
2.3 觸發(fā)電路模塊
觸發(fā)電路模塊屬于外觸發(fā),,對模擬信號實現(xiàn)任意電平觸發(fā),,該模塊采用電壓比較器來實現(xiàn)單次觸發(fā)。
2.4 存儲模塊
存儲模塊包括內(nèi)存儲和外存儲兩部分,,使用外部電路進行搭建的為外存儲,,內(nèi)存儲在軟件部分進行說明。
外部非易失性存儲器模塊采用存儲容量為16 KB的E2PROM芯片24C128,,該芯片作為手動存儲的存儲介質(zhì),,從而實現(xiàn)掉電不丟失的設計目的。
2.5 VGA顯示模塊
VGA顯示模塊是建于FPGA內(nèi)的雙緩沖機制,,由嵌入的MicroBlaze軟核進行控制,,能夠進行多個頁面間的切換。另外,,每個界面,,可以實現(xiàn)中文信息、彩色通道和所測輸入波形的顯示,,并可控制顯示內(nèi)容的顯示顏色,。
2.6 鍵盤模塊
4×4矩陣鍵盤模塊實現(xiàn)人機交互。
通過鍵盤,,可以對示波器的數(shù)字通道,、模擬通道、混合通道,、存儲,、回放,、波形左移、波形右移等功能進行選擇,。
3 基于FPGA的軟件設計
FPGA的硬件主要包括:觸發(fā)電路模塊,、數(shù)字信號發(fā)生模塊、存儲模塊,、鍵盤模塊,、VGA顯示模塊等5個部分,軟件流程圖如圖2所示,。
1 系統(tǒng)方案設計
設計的數(shù)字示波器系統(tǒng)主要使用了Xilinx系統(tǒng)的開發(fā)環(huán)境,,并在此環(huán)境內(nèi)部建立了AD采樣控制模塊、鍵盤控制模塊,、VGA顯示模塊等多個模塊,,從很大程度上減少了硬件電路的搭建,也因此提高了系統(tǒng)的穩(wěn)定性和可靠性,,系統(tǒng)框圖如圖1所示,。
另外,設計使用XPS將32位的MicroBlaze微處理器嵌入到了FPGA中,,實現(xiàn)了可編程片的嵌入以及在可編程片上的系統(tǒng)設計,。MieroBlaze通過LBM總線訪問片上的存儲模塊BlockRAM,然后通過OPB總線上掛接外設進行接口連接和驅(qū)動,。
VGA顯示部分采用雙緩沖機制進行工作,,在FPGA內(nèi)部建立RAM,按照一定時序降RAM內(nèi)的緩存數(shù)據(jù)映射到VGA顯示屏上,。
2 硬件設計
2.1 信號調(diào)理電路模塊
信號調(diào)理電路模塊,,對輸入的模擬信號進行處理,由于輸入電壓幅度為-2.5~+2.5 V之間,,而后一級的AD模塊采用了12位的高速A/D轉(zhuǎn)換芯片ADS804,,只能對0~2 V的電壓進行模/數(shù)轉(zhuǎn)換,故需要將輸入電壓先抬升為0~5 V,,在應用運算放大器進行比例縮小,,達到0~2 V的模數(shù)轉(zhuǎn)換要求。
2.2 A/D轉(zhuǎn)換電路
A/D轉(zhuǎn)換模塊采用存儲采樣數(shù)據(jù)的并行數(shù)據(jù)處理方法,,這樣可以使硬件電路得到最大程度的簡化,,同時也提高了系統(tǒng)的穩(wěn)定性。AD部分的采樣,,選用實時采樣技術,。能夠捕獲到單個信號。采樣速率為10 MHz,,即在最高頻率1 MHz時,,實時采樣可以在每周期采10個點以保證取到一個完整的信號波形,。
2.3 觸發(fā)電路模塊
觸發(fā)電路模塊屬于外觸發(fā),,對模擬信號實現(xiàn)任意電平觸發(fā),,該模塊采用電壓比較器來實現(xiàn)單次觸發(fā)。
2.4 存儲模塊
存儲模塊包括內(nèi)存儲和外存儲兩部分,,使用外部電路進行搭建的為外存儲,,內(nèi)存儲在軟件部分進行說明。
外部非易失性存儲器模塊采用存儲容量為16 KB的E2PROM芯片24C128,,該芯片作為手動存儲的存儲介質(zhì),,從而實現(xiàn)掉電不丟失的設計目的。
2.5 VGA顯示模塊
VGA顯示模塊是建于FPGA內(nèi)的雙緩沖機制,,由嵌入的MicroBlaze軟核進行控制,,能夠進行多個頁面間的切換。另外,,每個界面,,可以實現(xiàn)中文信息、彩色通道和所測輸入波形的顯示,,并可控制顯示內(nèi)容的顯示顏色,。
2.6 鍵盤模塊
4×4矩陣鍵盤模塊實現(xiàn)人機交互。
通過鍵盤,,可以對示波器的數(shù)字通道,、模擬通道、混合通道,、存儲,、回放、波形左移,、波形右移等功能進行選擇,。
3 基于FPGA的軟件設計
FPGA的硬件主要包括:觸發(fā)電路模塊、數(shù)字信號發(fā)生模塊,、存儲模塊,、鍵盤模塊、VGA顯示模塊等5個部分,,軟件流程圖如圖2所示,。
3.1 觸發(fā)電路程序
AD采樣啟動后,將從AD進來的數(shù)據(jù)與觸發(fā)字進行比較,,當滿足設定條件時,,會產(chǎn)生觸發(fā)信號,此信號送到RAM控制器端,。通過對外部觸發(fā)電路發(fā)出觸發(fā)信號與內(nèi)部的兩路數(shù)字信號進行觸發(fā)的選擇后,,RAM控制器得到觸發(fā)后將采樣數(shù)據(jù)寫入到RAM中,。當RAM在進行寫數(shù)據(jù)過程中觸發(fā)信號是被抑制的;當RAM達到預觸發(fā)深度時,,釋放觸發(fā)信號,,等待下一次觸發(fā)的到來。
3.2 數(shù)竽信號發(fā)生程序
利用DDS的原理,,在FPGA內(nèi)部生成一個信號發(fā)生器,。主要包括頻率控制寄存器、高速相位累加器和比較器3部分,。具體做法為:使用一個表示信號平均值的數(shù)據(jù)與AD采樣得來的數(shù)據(jù)進行比較得到同頻同相的A路信號,,再經(jīng)由A信號觸發(fā)計數(shù)器,經(jīng)過合理設置計數(shù)脈沖,,得到有45°延時,,占空比25%的B路信號。最后對該相位值計算數(shù)字化正弦波幅度輸出,。
表示信號平均值的數(shù)據(jù)由MicroBlaze測量信號提供,。
3.3 存儲程序
存儲模塊分RAM存儲和FLASH存儲RAM存儲使用一個雙口RAM,寫和讀分開,,波形數(shù)據(jù)滿足觸發(fā)條件時送進RAM,,存儲了1 024個點,其中前560組送住VGA顯示,。
FLASH存儲完成掉電不丟失的存儲目的,。20世紀使用開發(fā)板上的一塊型號為AM29LV160DB的FLASH存儲器,當按下存儲健后,,F(xiàn)LASH把RAM中的數(shù)據(jù)寫到FLASH中,,根據(jù)資料中的讀寫時序圖,使用狀態(tài)機實現(xiàn)這個過程,,當按下回顯的按鍵時將FLASH中的數(shù)據(jù)讀回圖像顯示RAM,,再顯示出來。
3.4 鍵盤程序
鍵盤采用4×4矩陣鍵盤,,使用FPGA進行掃描控制,,實現(xiàn)人機交互。
鍵盤子程序主要包括數(shù)字通道,、模擬通道,、混合通道、存儲,、回放,、波形左移、波形右移,、垂直靈敏度檔位設置,,掃描速度檔位設置等功能與按鍵的對應,。
3.4.1 顯示分辨率分析
垂直方向劃分為10 div,設置3檔垂直靈敏度:1 000 mV/div,,100 mV/div和10 V/div,,即每div可代表1 000 mV,100 mV和10 mV,。
A/D轉(zhuǎn)換模塊的模擬信號輸入端的輸入信號電壓為0~2 V,,當示波器滿刻度顯示時,,被測信號的幅度將分別為:V11=1 V/div×10 div=10 V,,V12=0.1 V/div×10 div=1 V,V13=10 mv/div×10 div=100 mV,。A/D轉(zhuǎn)換器的滿刻度輸入值為Vmax=2 V,,程控放大器電路的增益AN=Vmax/VIn,其中N=1,,2,,3,對應于3檔不同垂直靈敏度的增益分別為:A1=2/10=0.2,;A2=2/1=2,;A3=2/0.1=20。
A/D轉(zhuǎn)換器的滿刻度輸入值為Vmax=5 V《10 V,,將AD采樣的值和數(shù)字信號的值據(jù)當前檔位進行計數(shù)存儲,,即1μs/div時每10個點保存一個,1 ms,,/div時每10 000個點保存一個,,1 s/div時每采樣10 000 000個點保存一個。
3.4.2 掃描速率分析
A/D的轉(zhuǎn)換速率取決于被測信號的頻率范圍,,或DSO對掃描速度的要求,,設計掃描速度含1 ms/div,1μs,,/div,,1 s/div三檔,通過FPGA內(nèi)部建立分頻電路實現(xiàn)了最高采樣率16 MS/s,,每10倍頻步進,,共六檔,增加了該示波器的實用性,。水平顯示分辨率為64點/div,,以保證顯示波形清晰穩(wěn)定。
3.5 VGA顯示部分
VGA顯示模塊使用雙緩沖機制,,軟核MicroBlaze通過讀寫顯存來控制VGA顯示,。VGA顯示可顯示3種顏色,,利用了SOPC的優(yōu)勢。GRAM位寬32b,,大大提高了FPGA刷屏的速度,。vga_dn與GRAM對內(nèi)嵌的MCU設計成為BlackBox,MCU只需向相應地址發(fā)送合適數(shù)據(jù)即可顯示想要的波形,。本設計主要實現(xiàn)了的顯示為:底色,,漢字,示波器的顯示框,,波形數(shù)據(jù),。通過取字摸的方式,可在顯示屏上顯示中文信息,。當部分的數(shù)據(jù)進行綜合時,,這幾部分的數(shù)據(jù)各自有不同的優(yōu)先級,當多部分重疊時,,根據(jù)優(yōu)先級顯示出來,。
4 總體效果
圖3為同時顯示2個數(shù)字通道和1個模擬通道的界面,通道1(CH1)為模擬通道,,通道2(CH2)和通道3(CH3)為數(shù)字通道,,輸入信號為一正弦波,峰一峰值為1.2 V,,通道2,,設定輸入信號信號電壓大于0為高電平,反之為低電平,,故通道2為占空比為50%的矩形波,。通道3設定輸入信號大于3.3 V為高電平,反之為低電平,,故在本圖上通道3為占空比約為25%的矩形波,。由圖可知觀察值與計算值相符。
5 結語
設計實現(xiàn)了一款基于FPGA的VGA顯示的多通道數(shù)字存儲示波器,。FPGA的高速性比其他控制芯片更適合于高速數(shù)據(jù)的采集和處理,,另外FPGA內(nèi)部存儲模塊在完成輸入信號的量化存儲速度上有著外接RAM無法比擬的優(yōu)勢。通過測試,,設計系統(tǒng)比較好地完成了各項設計要求,。