基于LabVIEW與USB的虛擬儀器接口設計
0 引 言
LabVIEW是一種基于圖形程序的虛擬儀器編程語言,與傳統(tǒng)儀器相比,虛擬儀器技術以計算機為平臺,在程序界面中有用于模擬真實儀器面板的控件可供調(diào)用,可用于設置輸入數(shù)值、觀察輸出值以及實現(xiàn)圖表、文本等顯示,因此具有友好的人機界面。LabVIEW具有強大的數(shù)據(jù)采集、分析、處理、顯示和存儲功能。在測試與測量、數(shù)據(jù)采集、儀器控制、數(shù)字信號分析、工廠自動化等領域獲得了廣泛的應用,顯示出其強勁的生命力。LabVIEW平臺下開發(fā)的虛擬儀器在相同硬件條件下,改變軟件即可實現(xiàn)不同的儀器功能,真正實現(xiàn)了“軟件即儀器”的設計理念。
實現(xiàn)LabVIEW對數(shù)據(jù)的采集和處理,傳統(tǒng)的方法是采用數(shù)據(jù)采集卡,但是這些數(shù)據(jù)采集卡設備存在安裝不便,價格昂貴,受計算機插槽數(shù)量、地址、中斷資源的限制,可擴展性差等缺點。在LabVIEW平臺下使用USB總線進行數(shù)據(jù)傳輸,由于USB接口總線具有即插即用,接口簡單,傳送速率高等特點,因此基于Lab-VIEW和USB接口的虛擬儀器具有靈活、可靠、經(jīng)濟等特點。
鑒于以上LabVIEW和USB接口儀器的優(yōu)點,實現(xiàn)LabVIEW下USB接口的接口程序就顯得尤為重要。在此,介紹了一種基于LabVIEW與USB的虛擬儀器接口設計的方法。
1 設計方案
由于各類基于USB總線的數(shù)據(jù)采集、控制的虛擬儀器都涉及到LabVIEW與USB接口程序的設計,為了不失一般性,這里以虛擬示波器為例,介紹該接口程序的設計方法。
1.1 硬件設計方案
該系統(tǒng)是虛擬示波器,主要工作是采集被測模擬信號,并將信號通過USB2.o接口傳輸?shù)絇C104計算機,運行計算機LabVIEW平臺下的應用軟件完成數(shù)據(jù)的處理與記錄,并在顯示器上繪制曲線。
該系統(tǒng)主要由模擬信號采集模塊、FPGA控制模塊、USB傳輸模塊和計算機組成,其系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
1.1.1 FPGA控制模塊
該設計采用Alter公司的Cyclone系列現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA),芯片EP1c3T144來實現(xiàn)高速數(shù)據(jù)控制及傳輸。
EP1C3T144采用TPFQ封裝,擁有100個I/O口和2 910個邏輯單元,是一種高密度、高性能的FPGA。
FPGA的主要功能是高速數(shù)據(jù)采集、數(shù)據(jù)幀控制,以及與USB單片機進行通信。具體說明如下:
(1)高速數(shù)據(jù)采集及增益控制。高速數(shù)據(jù)采集功能是控制高速A/D的時序進行數(shù)據(jù)采集;增益控制功能是通過向程控增益放大電路發(fā)送控制命令,進而達到控制模擬電路放大倍數(shù)的目的。由于篇幅關系,有關這兩個方面的內(nèi)容不做詳細介紹。
(2)數(shù)據(jù)幀控制。FPGA每秒向PC機發(fā)送100幀和每幀512 B的數(shù)據(jù),將如此高速的數(shù)據(jù)進行準確無誤的控制和傳輸是系統(tǒng)的技術難點之一。該方案中,每幀數(shù)據(jù)由3部分組成:如圖2所示。
其中,每一幀數(shù)據(jù)的開始位和結(jié)束位是固定數(shù)據(jù),計算機的測井應用軟件判斷接收到每一幀數(shù)據(jù)的幀頭及幀尾是否錯誤。若出現(xiàn)錯誤,將該幀數(shù)據(jù)丟棄,同時準備接收下一幀數(shù)據(jù)。數(shù)據(jù)第二部分,模擬信號由FPGA控制A/D芯片采集得到。
1.1.2 USB傳輸模塊
Cypress公司的。EZ-USB FX2芯片CY7C68013是一款性能較高的USB 2.0微控制器。在單片機上集成USB 2.O收發(fā)器、SIE(串行接口引擎)、增強的8051微控制器和可編程的外圍接口。EZ-USB FX2中的智能SIE可以處理大部分USB 2.0協(xié)議,使得微控制器可以專注于應用功能,從而減少了開發(fā)時間,確保了USB的兼容性。
CY7C68013有3種可用的接口模式:端口、GPIF主控和Slave FIFO方式。在該系統(tǒng)中,根據(jù)系統(tǒng)對數(shù)據(jù)傳輸速度和實時性的要求,配置CY7C68013工作的接口模式為Slave FIFO模式。在Slave FIFO模式下,外部邏輯或外部處理器直接與FX2端點FIFO相連。這種模式下,外部主控器FPGA通過異步方式與CY7C68013進行數(shù)據(jù)通信。
FPGA與CY7C68013之間的硬件接口框圖如圖3所示。SL_WR/SL_RD是Slave FIFO的寫使能/讀允許信號。FPGA向CY7C68013提供Slave FIFO輸出允許信號SL_OE,僅在數(shù)據(jù)輸出時有效。FB[7:O]為8位雙向數(shù)據(jù)總線。ADDR[1:0]為FIFO端點選擇信號。在數(shù)據(jù)輸入時固定為00,選擇的是端點2;在數(shù)據(jù)輸出時固定為10,選擇的是端點6。
評論