基于USB接口和FPGA控制的虛擬儀器設計
隨著(zhù)目前科學(xué)技術(shù)的發(fā)展,電子技術(shù)的應用領(lǐng)域越來(lái)越廣。電子測試測量儀器作為電子技術(shù)的基礎,其應用范圍也越來(lái)越廣。在許多領(lǐng)域對這些儀器提出了很高的要求,不僅要有高的測量、傳輸速度,高的精確度、穩定性、可靠性等,有的甚至要有一定的智能化,能夠實(shí)現自動(dòng)測量、自動(dòng)控制,還要能夠快速完成一些復雜的數學(xué)運算與處理,能夠根據實(shí)際應用的情況,快速開(kāi)發(fā)出新的功能。傳統的測試測量儀器由于設計理念落后、發(fā)展緩慢、功能單一,開(kāi)發(fā)新功能或新產(chǎn)品的難度大,已經(jīng)無(wú)法適應各種新的測量情況。而且其價(jià)格昂貴、體積大、不易操作,已經(jīng)無(wú)法滿(mǎn)足人們的要求。
虛擬儀器作為傳統測試測量?jì)x器的可能的替代品,從1986年美國國家儀器公司(NI)首先提出其概念至今不過(guò)短短二十幾年,但其發(fā)展卻十分迅速。目前已生產(chǎn)數百個(gè)型號的虛擬儀器產(chǎn)品,其應用涉及到電子測量、過(guò)程控制、電信、醫學(xué)等領(lǐng)域。我國虛擬儀器研究的起步較晚,最早的研究也是從引進(jìn)消化NI的產(chǎn)品開(kāi)始,但其發(fā)展也是十分迅速的。我國國民經(jīng)濟的持續快速發(fā)展,加快了企業(yè)的技術(shù)升級步伐,對先進(jìn)儀器設備的需求更加強勁,虛擬儀器賴(lài)以生存的個(gè)人計算機最近幾年以極高的速度在中國發(fā)展,這些都為虛擬儀器在我國的普及奠定了良好的基礎。隨著(zhù)我國個(gè)人計算機的普及以及性能的不斷提高,這種基于計算機的虛擬儀器在我國將會(huì )被更加廣泛的應用。在我國由于電子技術(shù)水平相對落后,許多高精度、高性能的電子儀器都要進(jìn)口,價(jià)格昂貴,難以被廣泛使用,因而研制這種成本低的高性能的虛擬儀器,是很有必要的,而虛擬儀器也將成為今后電子器件發(fā)展的主流。
1 系統整體結構概述
本設計主要是研制一個(gè)基于USB以及FPGA的虛擬數字存儲示波器,該系統的整體結構框圖如圖1所示。系統主要由基于FPGA的數據采集電路、基于USB接口總線(xiàn)傳輸控制電路和計算機應用程序三個(gè)主要部分組成。其中信號預處理電路還包括峰值檢測電路、信號觸發(fā)電路。USB接口傳輸電路主要是能實(shí)現數據的雙向傳輸,既要使數據采集電路采集到的數據能夠傳到計算機,也要使計算機的控制信息能夠傳到硬件電路,控制數據采集工作。計算機的應用程序要能夠對采集到的數據進(jìn)行處理、顯示,能夠控制硬件進(jìn)行數據采集等工作。
系統的基本工作原理如下:計算機首先通知FPGA開(kāi)始采集數據,FPGA等到信號觸發(fā)時(shí)刻到來(lái)時(shí)就開(kāi)始從A/D轉換器中讀取500個(gè)數據存儲到FPGA的存儲器中;然后計算機就控制從FPGA讀取數據,單片機接到命令后就從FPGA中讀取數據和信號的放大衰減倍數通過(guò)USB接口傳送到計算機。計算機軟件讀取了采集數據和信號的放大衰減倍數就能夠顯示出來(lái)了,并且通過(guò)控制虛擬界面就能夠實(shí)現各種各樣的功能。而FPGA通過(guò)定時(shí)讀取信號的峰值幅度范圍再決定控制信號的放大衰減倍數。定時(shí)去重復以上過(guò)程就能夠看到信號的實(shí)時(shí)波形。
2 系統硬件設計
2.1 數據采集電路設計
數據采集部分的功能就是采集被測信號波形數據并把它存人到FPGA中。首先把信號進(jìn)行預處理,再經(jīng)過(guò)A/D轉換器轉換成數字信號,最后存入FPGA中。數據采集部分可以分為以下幾個(gè)模塊:信號調理、A/D轉換、觸發(fā)電路、峰值檢測以及FPGA的設計。數據采集電路結構框圖如圖2所示。
由于被測信號的種類(lèi)多種多樣,相應的采樣方式也千差萬(wàn)別?;静蓸臃绞娇煞譃閮纱箢?lèi):實(shí)時(shí)采樣和等效時(shí)間采樣??紤]到采樣方式的基本原則是:以保證采樣精度為前提,以被測信號的具體特性為依據,盡量以較低的速率實(shí)現采樣,從而減少數據量,降低對傳輸、變換系統的要求,提高數據處理的效率。因此選擇實(shí)時(shí)采樣方式。對于實(shí)時(shí)采樣,當數字化一開(kāi)始,信號波形的第一個(gè)采樣點(diǎn)就被采樣并數字化,經(jīng)過(guò)一個(gè)采樣間隔,再采入第二個(gè)子樣,這樣一直將整個(gè)信號波形數字化后存入波形示波器。實(shí)時(shí)采樣的優(yōu)點(diǎn)在于信號波形一到就采入,因此適用于任何形式的信號,重復的或不重復的,單次的或連續的。所有的采樣點(diǎn)都是以時(shí)間為順序,因而易于實(shí)現波形顯示功能。本設計采用高的采樣頻率來(lái)實(shí)現對比較高的頻率信號進(jìn)行實(shí)時(shí)采樣,采用的A/D轉換器是TLC5510,采樣頻率最高可以達到20 MHz。
對于觸發(fā)電路采用比較器電路來(lái)實(shí)現,用A/D轉換之前的模擬信號與一個(gè)固定的電壓進(jìn)行比較,比較器的輸出為一個(gè)與采樣信號同頻率的矩形波作為FPGA開(kāi)始讀取數據觸發(fā)信號。具體實(shí)現方法如下:采樣信號接比較器的同向輸入端,可變電阻的調整端接反向輸入端,而可調電阻的另外兩端分別接電源的正負極,這樣就可以通過(guò)調節可變電阻調節觸發(fā)電平。
被測信號調理電路的作用就是使輸入信號滿(mǎn)足A/D轉換器的幅度要求,同時(shí)也擴大了輸入信號的幅度范圍。比如大信號必須經(jīng)過(guò)適當的衰減,以免因為幅度過(guò)大而損壞電路中的元器件或是引起信號失真。而小信號又需要適當的放大,否則采集恢復后的信號幅度太小,以至于無(wú)法正確地觀(guān)測信號。模擬信號調理主要包括:高阻衰減電路、程控放大器和加法器。被測信號調理電路原理圖如圖3所示。該電路主要采用多級運算放大器電路構成。
為了使FPGA能夠準確地控制程控放大器的模擬開(kāi)關(guān),使程控放大器放大或衰減后的信號幅度在±1 V之內,又能夠充分利用A/D轉換器的量程。所以FPGA必須要先知道信號的峰值電壓,這就需要采用峰值檢測電路來(lái)檢測信號的峰值電壓。采樣信號先經(jīng)過(guò)電壓跟隨器來(lái)隔離輸入信號和峰值檢測電路,再用運算放大器、二極管和電容組成檢測信號峰值。用三極管可以對電容上的電荷進(jìn)行放電。最后經(jīng)過(guò)比較器就可知道信號的峰值范圍。FPGA通過(guò)定時(shí)檢測峰值,從而去控制模擬開(kāi)關(guān),實(shí)時(shí)跟蹤信號的幅度。峰值檢測電路原理圖如圖4所示。
控制數據采集和從存儲器讀數據模塊的功能就是控制從A/D轉換器的輸出端中讀取數據,然后存儲到FPGA中的存儲器。當計算機需要讀數據時(shí),就控制把存儲器中的數據依次送出去,再通過(guò)USB接口傳送到計算機??刂茢祿杉K和讀存儲器數據的電路示意圖如圖5所示。FPGA采用Altera公司生產(chǎn)的FPGA芯片EP1C3T144主芯片。
評論