隨著目前科學技術(shù)的發(fā)展,電子技術(shù)的應(yīng)用領(lǐng)域越來越廣。電子測試測量儀器作為電子技術(shù)的基礎(chǔ),其應(yīng)用范圍也越來越廣。在許多領(lǐng)域?qū)@些儀器提出了很高的要求,不僅要有高的測量、傳輸速度,高的精確度、穩(wěn)定性、可靠性等,有的甚至要有一定的智能化,能夠?qū)崿F(xiàn)自動測量、自動控制,還要能夠快速完成一些復雜的數(shù)學運算與處理,能夠根據(jù)實際應(yīng)用的情況,快速開發(fā)出新的功能。傳統(tǒng)的測試測量儀器由于設(shè)計理念落后、發(fā)展緩慢、功能單一,開發(fā)新功能或新產(chǎn)品的難度大,已經(jīng)無法適應(yīng)各種新的測量情況。而且其價格昂貴、體積大、不易操作,已經(jīng)無法滿足人們的要求。
虛擬儀器作為傳統(tǒng)測試測量儀器的可能的替代品,從1986年美國國家儀器公司(NI)首先提出其概念至今不過短短二十幾年,但其發(fā)展卻十分迅速。目前已生產(chǎn)數(shù)百個型號的虛擬儀器產(chǎn)品,其應(yīng)用涉及到電子測量、過程控制、電信、醫(yī)學等領(lǐng)域。我國虛擬儀器研究的起步較晚,最早的研究也是從引進消化NI的產(chǎn)品開始,但其發(fā)展也是十分迅速的。我國國民經(jīng)濟的持續(xù)快速發(fā)展,加快了企業(yè)的技術(shù)升級步伐,對先進儀器設(shè)備的需求更加強勁,虛擬儀器賴以生存的個人計算機最近幾年以極高的速度在中國發(fā)展,這些都為虛擬儀器在我國的普及奠定了良好的基礎(chǔ)。隨著我國個人計算機的普及以及性能的不斷提高,這種基于計算機的虛擬儀器在我國將會被更加廣泛的應(yīng)用。在我國由于電子技術(shù)水平相對落后,許多高精度、高性能的電子儀器都要進口,價格昂貴,難以被廣泛使用,因而研制這種成本低的高性能的虛擬儀器,是很有必要的,而虛擬儀器也將成為今后電子器件發(fā)展的主流。
1 系統(tǒng)整體結(jié)構(gòu)概述
本設(shè)計主要是研制一個基于USB以及FPGA的虛擬數(shù)字存儲示波器,該系統(tǒng)的整體結(jié)構(gòu)框圖如圖1所示。系統(tǒng)主要由基于FPGA的數(shù)據(jù)采集電路、基于USB接口總線傳輸控制電路和計算機應(yīng)用程序三個主要部分組成。其中信號預處理電路還包括峰值檢測電路、信號觸發(fā)電路。USB接口傳輸電路主要是能實現(xiàn)數(shù)據(jù)的雙向傳輸,既要使數(shù)據(jù)采集電路采集到的數(shù)據(jù)能夠傳到計算機,也要使計算機的控制信息能夠傳到硬件電路,控制數(shù)據(jù)采集工作。計算機的應(yīng)用程序要能夠?qū)Σ杉降臄?shù)據(jù)進行處理、顯示,能夠控制硬件進行數(shù)據(jù)采集等工作。
系統(tǒng)的基本工作原理如下:計算機首先通知FPGA開始采集數(shù)據(jù),F(xiàn)PGA等到信號觸發(fā)時刻到來時就開始從A/D轉(zhuǎn)換器中讀取500個數(shù)據(jù)存儲到FPGA的存儲器中;然后計算機就控制從FPGA讀取數(shù)據(jù),單片機接到命令后就從FPGA中讀取數(shù)據(jù)和信號的放大衰減倍數(shù)通過USB接口傳送到計算機。計算機軟件讀取了采集數(shù)據(jù)和信號的放大衰減倍數(shù)就能夠顯示出來了,并且通過控制虛擬界面就能夠?qū)崿F(xiàn)各種各樣的功能。而FPGA通過定時讀取信號的峰值幅度范圍再決定控制信號的放大衰減倍數(shù)。定時去重復以上過程就能夠看到信號的實時波形。
2 系統(tǒng)硬件設(shè)計
2.1 數(shù)據(jù)采集電路設(shè)計
數(shù)據(jù)采集部分的功能就是采集被測信號波形數(shù)據(jù)并把它存人到FPGA中。首先把信號進行預處理,再經(jīng)過A/D轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字信號,最后存入FPGA中。數(shù)據(jù)采集部分可以分為以下幾個模塊:信號調(diào)理、A/D轉(zhuǎn)換、觸發(fā)電路、峰值檢測以及FPGA的設(shè)計。數(shù)據(jù)采集電路結(jié)構(gòu)框圖如圖2所示。
由于被測信號的種類多種多樣,相應(yīng)的采樣方式也千差萬別?;静蓸臃绞娇煞譃閮纱箢悾簩崟r采樣和等效時間采樣??紤]到采樣方式的基本原則是:以保證采樣精度為前提,以被測信號的具體特性為依據(jù),盡量以較低的速率實現(xiàn)采樣,從而減少數(shù)據(jù)量,降低對傳輸、變換系統(tǒng)的要求,提高數(shù)據(jù)處理的效率。因此選擇實時采樣方式。對于實時采樣,當數(shù)字化一開始,信號波形的第一個采樣點就被采樣并數(shù)字化,經(jīng)過一個采樣間隔,再采入第二個子樣,這樣一直將整個信號波形數(shù)字化后存入波形示波器。實時采樣的優(yōu)點在于信號波形一到就采入,因此適用于任何形式的信號,重復的或不重復的,單次的或連續(xù)的。所有的采樣點都是以時間為順序,因而易于實現(xiàn)波形顯示功能。本設(shè)計采用高的采樣頻率來實現(xiàn)對比較高的頻率信號進行實時采樣,采用的A/D轉(zhuǎn)換器是TLC5510,采樣頻率最高可以達到20 MHz。
對于觸發(fā)電路采用比較器電路來實現(xiàn),用A/D轉(zhuǎn)換之前的模擬信號與一個固定的電壓進行比較,比較器的輸出為一個與采樣信號同頻率的矩形波作為FPGA開始讀取數(shù)據(jù)觸發(fā)信號。具體實現(xiàn)方法如下:采樣信號接比較器的同向輸入端,可變電阻的調(diào)整端接反向輸入端,而可調(diào)電阻的另外兩端分別接電源的正負極,這樣就可以通過調(diào)節(jié)可變電阻調(diào)節(jié)觸發(fā)電平。
被測信號調(diào)理電路的作用就是使輸入信號滿足A/D轉(zhuǎn)換器的幅度要求,同時也擴大了輸入信號的幅度范圍。比如大信號必須經(jīng)過適當?shù)乃p,以免因為幅度過大而損壞電路中的元器件或是引起信號失真。而小信號又需要適當?shù)姆糯螅駝t采集恢復后的信號幅度太小,以至于無法正確地觀測信號。模擬信號調(diào)理主要包括:高阻衰減電路、程控放大器和加法器。被測信號調(diào)理電路原理圖如圖3所示。該電路主要采用多級運算放大器電路構(gòu)成。
為了使FPGA能夠準確地控制程控放大器的模擬開關(guān),使程控放大器放大或衰減后的信號幅度在±1 V之內(nèi),又能夠充分利用A/D轉(zhuǎn)換器的量程。所以FPGA必須要先知道信號的峰值電壓,這就需要采用峰值檢測電路來檢測信號的峰值電壓。采樣信號先經(jīng)過電壓跟隨器來隔離輸入信號和峰值檢測電路,再用運算放大器、二極管和電容組成檢測信號峰值。用三極管可以對電容上的電荷進行放電。最后經(jīng)過比較器就可知道信號的峰值范圍。FPGA通過定時檢測峰值,從而去控制模擬開關(guān),實時跟蹤信號的幅度。峰值檢測電路原理圖如圖4所示。
控制數(shù)據(jù)采集和從存儲器讀數(shù)據(jù)模塊的功能就是控制從A/D轉(zhuǎn)換器的輸出端中讀取數(shù)據(jù),然后存儲到FPGA中的存儲器。當計算機需要讀數(shù)據(jù)時,就控制把存儲器中的數(shù)據(jù)依次送出去,再通過USB接口傳送到計算機。控制數(shù)據(jù)采集模塊和讀存儲器數(shù)據(jù)的電路示意圖如圖5所示。FPGA采用Altera公司生產(chǎn)的FPGA芯片EP1C3T144主芯片。
2.2 USB接口電路設(shè)計
USB接口電路綜合多方面因素進行考慮,選用Philips公司的專用USB接口芯片PDIUSBD12和AT-MEL公司的AT89S52單片機進行連接來實現(xiàn)USB總線接口功能。PDIUSBD12芯片提供了與任何外部微控制器或微處理器連接的高速并行接口。對單片機而言,PDIUSBD12就像一個帶8位數(shù)據(jù)總線和地址總線的存儲器件。PDIUSBD12芯片與單片機連接有兩種方式:地址和數(shù)據(jù)總線復用模式和非復用模式。這兩種模式的主要區(qū)別是芯片的第10引腳ALE和第28引腳A0的連接有所不同。本系統(tǒng)采用地址和數(shù)據(jù)總線復用模式,將第10腳ALE連接到單片機的地址鎖存使能端ALE,該腳將地址/數(shù)據(jù)總線上的地址信息鎖存,并通過內(nèi)部邏輯產(chǎn)生選通信號,來判斷總線上傳輸?shù)氖敲钸€是數(shù)據(jù),因此單片機與該芯片的通信采用如下的方式:一個偶數(shù)地址表示單片機對芯片進行讀/寫數(shù)據(jù),本設(shè)計中使用7F00H地址,一個奇數(shù)地址表示單片機對芯片寫入操作指令,本設(shè)計中使用7F01H地址。在這種模式下,該芯片的28引腳A0可以忽略,通過上拉電阻接電源。PDIUSBD12與單片機的連接電路原理圖如圖6所示。
3 系統(tǒng)軟件設(shè)計
應(yīng)用程序是指為了完成某項或某幾項特定任務(wù)開發(fā)運行于操作系統(tǒng)之上的計算機程序。本系統(tǒng)利用Borland C++ Builder 6.0開發(fā)了一個具有基本硬件控制、數(shù)據(jù)傳輸、數(shù)據(jù)處理與顯示功能的應(yīng)用程序。該應(yīng)用程序主要包括顯示部分和控制面板部分。顯示部分可以將經(jīng)過一定處理的信號數(shù)據(jù)顯示出來,并可對顯示方式做一定的調(diào)整??刂泼姘宀糠挚梢栽诳刂茢?shù)據(jù)采集硬件電路的啟動、停止、采樣頻率以及存儲數(shù)據(jù)、頻譜分析等工作。
應(yīng)用軟件是整個系統(tǒng)的控制中心,所有的命令都是由這里發(fā)出的。主要由面板顯示部分、觸發(fā)采集數(shù)據(jù)與讀取數(shù)據(jù)部分、采樣頻率控制部分、頻譜分析部分、波形保存與回放部分、調(diào)節(jié)波形顯示部分等幾部分組成的。工作過程如下:軟件先發(fā)出開始波形信號采集的命令,通過USB接口控制FPGA采集數(shù)據(jù),根據(jù)采樣頻率即可大概估計FPGA采集500個點所需要的時間,經(jīng)過適當?shù)难訒r之后就控制從FPGA存儲器讀取采集的數(shù)據(jù),然后根據(jù)采樣頻率和信號的放大倍數(shù)對數(shù)據(jù)進行適當?shù)奶幚?,最后就在面板上顯示出來。定時地重復上面的過程就能夠定時地更新顯示的波形,從而實時顯示信號的波形。
應(yīng)用程序中主循環(huán)程序是核心內(nèi)容,它主要是檢查事件標志,然后進入對應(yīng)的子程序進行進一步處理。本系統(tǒng)主要用到端點2的輸入與輸出兩個功能,利用端點2的輸入傳輸采集到的數(shù)據(jù),利用端點2的輸出讓單片機接受計算機的命令,例如啟動采樣,改變采樣頻率等。主循環(huán)程序的流程圖如圖7所示。
最后開發(fā)出具有多功能綜合測量應(yīng)用軟件界面如圖8所示。
4 結(jié) 語
本設(shè)計是在C++ Builder。的應(yīng)用軟件開發(fā)環(huán)境下,由PDIUSBD12的USB接口芯片組成的USB接口電路及FPGA控制的數(shù)據(jù)采集系統(tǒng)做成的虛擬數(shù)字示波器。該系統(tǒng)能實現(xiàn)對信號幅度在±O.1~±25 V,頻率在0~1 MHz的信號進行測量并顯示出波形。本設(shè)計研究的虛擬數(shù)字示波器具有普通示波器的顯示信號波形的功能,而且具有普通示波器所不具有的存儲和回放信號的波形、頻譜分析等功能。通過對應(yīng)用軟件進行操作,可對信號波形進行左右拉伸、上下拉伸、左右移動和上下移動。還可以對信號進行頻譜分析、存儲和顯示信號的波形,調(diào)節(jié)信號的采樣頻率。實驗結(jié)果表明該設(shè)計方案是可行的,并具有較好的應(yīng)用前景。