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