湯建鑫 黎小飛 何綺雯 梁火層 甘永進
(玉林師范學院 物理與電信工程學院,廣西 玉林537000)
所謂虛擬儀器,是以通用計算機為核心,根據用戶對儀器的設計定義,用軟件實現虛擬控制面板設計和測試功能的一種計算機儀器系統[1]。利用這一技術理念,通過使用計算機和儀器的密切結合,是目前儀器研究發展的又一重要方向。虛擬示波器是虛擬儀器中重要的一類,是一種用途十分廣泛的測試儀器,其優越性相較于傳統示波器而言,不僅具有數字示波器本身的功能,使用操作方便、易掌握,而且有效改善了實驗室建設與管理成本的問題,為一般用戶提供了一種輕量級的數字示波器。
本文主要是用高速AD 模塊對數據處理、采樣轉換和FPGA以及PC 端軟件LabVIEW 構成。其中由高速AD 模塊為主對模擬信號處理,經過交直流耦合及放大、衰減、偏置、濾波等處理后,采集轉換為數字信號,再通過FPGA 接收高速AD 采樣后的數據進行信號調理,使用串口進行通信,傳輸至PC 機上的的LabVIEW,LabVIEW 軟件的程序主運行界面用于采集的波形顯示、測量信息顯示,同時,對信號進行FFT、頻譜處理并顯示;使用LabVIEW 的TCP 多機通信還可實現在同一區域網內多臺電腦的同時顯示。
AD 采集模塊:
AD 轉換是模數轉換的過程。本文使用的是TI 公司的一款8 位高速AD 轉換器ADS830E,它可以在5v 供電條件下,擁有采壓頻率范圍為10kSa/s~60MSa/s,幅度在1.5v~3.5v 左右,該轉換速率范圍完全符合要求。所用偏置電路是由TI 公司所研發的低失真、高速的輸出運放OPA690,提供合適的偏置[2],有效改善電路性能。其原理圖如圖1 所示。

圖1 ADS830、偏置電路原理圖
本設計使用的是Altera 公司生產的一款FPGA 開發板。在設計中,采用FPGA+ARM架構可以有效地實現對信號參數的修改,大大提高整體的數據處理能力。即利用ADS830 將特定頻率信號采集好,再發送給RAM,運用通用異步收發器通過全雙工的方式進行傳輸數據,寫入CAM中的數據會和內部的每一個數據進行比較,并返回與端口數據相同的所有數據的地址,從而更好實現數據間的對比和傳輸。
LabVIEW 具有大量的驅動和專用工具,幾乎可以同所有的硬件接口相連接,并且提供良好的用戶界面以供使用。串口通信是最常用的通信方式之一,LabVIEW 通過VISA 實現串口通信發送和接收數據,PC 機接收到的數據再由LabVIEW 顯示出來。并用到TCP 通信協議,即在發送端和接收端之間,它提供了可靠性較高的通信[4]。利用了一點對多點的TCP 進行多機通信的,即在服務器端添加一個不斷循環的監聽連接,若服務器端接收到客戶端發送請求連接,便與該客戶端建立連接,并將連接放入隊列中,通過隊列的方式來實現每一個點對點的連接。該服務器端的程序框圖[3]如圖2 所示。

圖2 利用TCP 進行一點對多點通信——服務器端程序框圖
該虛擬示波器作為一種測試儀器,它的測試性能指標是否完全達到預定的設計要求是個關鍵的問題, 因此對該虛擬示波器性能的測試和驗證是重要的環節。本文取的采樣頻率點為150Hz 的信號進行測量,測試電壓幅度范圍為0.2v~2v,誤差范圍始終保持在0.5%內,測試誤差在合理范圍內。通過測試和驗證, 結果表明示波器完全能達到所要求的性能指標。虛擬示波器顯示結果如圖3 示,傳輸數據與實際測試對比如表所示。

圖3 虛擬示波器顯示結果

傳輸數據與實際測試對比
本文提供了一種基于FPGA 與LabVIEW 的虛擬示波器設計,由于LabVIEW 軟件的強大功能,使得該設計穩定、實用性強,提供的用戶界面方便易懂,實現了對信號的采樣以及在同一區域網內多臺電腦的數據顯示等功能,通過測試達到了最初的設計功能,本文設計的虛擬示波器還有很多的不足,需要在今后加以完善和彌補。