基于USB接口和FPGA控制的虛擬儀器設計

發(fā)布時(shí)間:2010-8-13 11:40    發(fā)布者:lavida
關(guān)鍵詞: FPGA , USB , 虛擬儀器
隨著(zhù)目前科學(xué)技術(shù)的發(fā)展,電子技術(shù)的應用領(lǐng)域越來(lái)越廣。電子測試測量?jì)x器作為電子技術(shù)的基礎,其應用范圍也越來(lái)越廣。在許多領(lǐng)域對這些儀器提出了很高的要求,不僅要有高的測量、傳輸速度,高的精確度、穩定性、可靠性等,有的甚至要有一定的智能化,能夠實(shí)現自動(dòng)測量、自動(dòng)控制,還要能夠快速完成一些復雜的數學(xué)運算與處理,能夠根據實(shí)際應用的情況,快速開(kāi)發(fā)出新的功能。傳統的測試測量?jì)x器由于設計理念落后、發(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主芯片。  



2.2 USB接口電路設計  

USB接口電路綜合多方面因素進(jìn)行考慮,選用Philips公司的專(zhuān)用USB接口芯片PDIUSBD12和AT-MEL公司的AT89S52單片機進(jìn)行連接來(lái)實(shí)現USB總線(xiàn)接口功能。PDIUSBD12芯片提供了與任何外部微控制器或微處理器連接的高速并行接口。對單片機而言,PDIUSBD12就像一個(gè)帶8位數據總線(xiàn)和地址總線(xiàn)的存儲器件。PDIUSBD12芯片與單片機連接有兩種方式:地址和數據總線(xiàn)復用模式和非復用模式。這兩種模式的主要區別是芯片的第10引腳ALE和第28引腳A0的連接有所不同。本系統采用地址和數據總線(xiàn)復用模式,將第10腳ALE連接到單片機的地址鎖存使能端ALE,該腳將地址/數據總線(xiàn)上的地址信息鎖存,并通過(guò)內部邏輯產(chǎn)生選通信號,來(lái)判斷總線(xiàn)上傳輸的是命令還是數據,因此單片機與該芯片的通信采用如下的方式:一個(gè)偶數地址表示單片機對芯片進(jìn)行讀/寫(xiě)數據,本設計中使用7F00H地址,一個(gè)奇數地址表示單片機對芯片寫(xiě)入操作指令,本設計中使用7F01H地址。在這種模式下,該芯片的28引腳A0可以忽略,通過(guò)上拉電阻接電源。PDIUSBD12與單片機的連接電路原理圖如圖6所示。  



3 系統軟件設計  

應用程序是指為了完成某項或某幾項特定任務(wù)開(kāi)發(fā)運行于操作系統之上的計算機程序。本系統利用Borland C++ Builder 6.0開(kāi)發(fā)了一個(gè)具有基本硬件控制、數據傳輸、數據處理與顯示功能的應用程序。該應用程序主要包括顯示部分和控制面板部分。顯示部分可以將經(jīng)過(guò)一定處理的信號數據顯示出來(lái),并可對顯示方式做一定的調整?刂泼姘宀糠挚梢栽诳刂茢祿杉布娐返膯(dòng)、停止、采樣頻率以及存儲數據、頻譜分析等工作。  

應用軟件是整個(gè)系統的控制中心,所有的命令都是由這里發(fā)出的。主要由面板顯示部分、觸發(fā)采集數據與讀取數據部分、采樣頻率控制部分、頻譜分析部分、波形保存與回放部分、調節波形顯示部分等幾部分組成的。工作過(guò)程如下:軟件先發(fā)出開(kāi)始波形信號采集的命令,通過(guò)USB接口控制FPGA采集數據,根據采樣頻率即可大概估計FPGA采集500個(gè)點(diǎn)所需要的時(shí)間,經(jīng)過(guò)適當的延時(shí)之后就控制從FPGA存儲器讀取采集的數據,然后根據采樣頻率和信號的放大倍數對數據進(jìn)行適當的處理,最后就在面板上顯示出來(lái)。定時(shí)地重復上面的過(guò)程就能夠定時(shí)地更新顯示的波形,從而實(shí)時(shí)顯示信號的波形。  

應用程序中主循環(huán)程序是核心內容,它主要是檢查事件標志,然后進(jìn)入對應的子程序進(jìn)行進(jìn)一步處理。本系統主要用到端點(diǎn)2的輸入與輸出兩個(gè)功能,利用端點(diǎn)2的輸入傳輸采集到的數據,利用端點(diǎn)2的輸出讓單片機接受計算機的命令,例如啟動(dòng)采樣,改變采樣頻率等。主循環(huán)程序的流程圖如圖7所示。  


最后開(kāi)發(fā)出具有多功能綜合測量應用軟件界面如圖8所示。  



4 結 語(yǔ)  

本設計是在C++ Builder。的應用軟件開(kāi)發(fā)環(huán)境下,由PDIUSBD12的USB接口芯片組成的USB接口電路及FPGA控制的數據采集系統做成的虛擬數字示波器。該系統能實(shí)現對信號幅度在±O.1~±25 V,頻率在0~1 MHz的信號進(jìn)行測量并顯示出波形。本設計研究的虛擬數字示波器具有普通示波器的顯示信號波形的功能,而且具有普通示波器所不具有的存儲和回放信號的波形、頻譜分析等功能。通過(guò)對應用軟件進(jìn)行操作,可對信號波形進(jìn)行左右拉伸、上下拉伸、左右移動(dòng)和上下移動(dòng)。還可以對信號進(jìn)行頻譜分析、存儲和顯示信號的波形,調節信號的采樣頻率。實(shí)驗結果表明該設計方案是可行的,并具有較好的應用前景。
本文地址:http://selenalain.com/thread-21206-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页