(中車青島四方機車車輛股份有限公司 山東 青島 266000)
本文中虛擬邏輯分析儀的硬件系統(tǒng)是基于AVR單片機的數(shù)據(jù)采集系統(tǒng),軟件系統(tǒng)是以LabVIEW軟件為核心構建邏輯分析的虛擬儀器平臺。
數(shù)據(jù)采集技術研究信息數(shù)據(jù)的采集、處理、傳輸、儲存以及控制等方面的技術。本系統(tǒng)的數(shù)據(jù)采集是多路模擬信號和數(shù)字信號獲取的過程
本數(shù)據(jù)采集系統(tǒng)的主要核心就是AVR單片機,在數(shù)據(jù)采集系統(tǒng)中,AVR單片機就是擔當控制中心,以單片機為核心拓展和配置整個硬件系統(tǒng)。整個數(shù)據(jù)采集系統(tǒng)的各拓展電路包括運算放大電路、信號檢測保護電路、光耦隔離電路、串口通信電路等。
對于典型的模擬信號采集系統(tǒng),是包括信號輸入、信號調(diào)理、采樣保持、信號轉化、信號傳輸?shù)炔糠值?。在本虛擬邏輯分析儀的下位機信號采集系統(tǒng)中,分辨率、分辨率、通道數(shù)、檢測速度或吞吐量、信號電平及其處理這些都影響著采集系統(tǒng)的采集效率。
數(shù)字量信號是指在信號變化中是離散的信號,也就是指數(shù)字量信號的自變量和因變量都是離散的一種整數(shù)信號[2]。在以單片機為核心的數(shù)字量信號采集系統(tǒng)中,單片機的I/O可以直接檢測和接收外界輸入的開關量信號,虛擬邏輯分析儀的開關量信號輸入就是16路開關電路的按鍵輸入,由16個按鍵控制的開關電路,開關電路通過按鍵的斷開和閉合將高低電平通過單片機的引腳傳輸?shù)絾纹瑱C中。
通信技術就是信息的傳輸和交流的技術。因為單片機的內(nèi)部集成一個USART接口,即通用異步串行接收/發(fā)送接口,所以單片機也就有串行和并行兩種通信方式。串口通信是單片機和計算機之間連接的核心[3]。AVR單片機內(nèi)部自帶的串口通信模塊就是串行口。單片機通過串行通信接口,可以將其配置成與串行ADC等芯片之間通信的系統(tǒng)。
考慮到電源和開關之間的電氣隔離和抗干擾的問題,電路中采用光電耦合隔離技術,光電耦合隔離技術就是光電耦合器利用發(fā)光二極管和光敏三極管的特性將輸入信號和內(nèi)部電路隔離,這種隔離技術有著極強的抗干擾能力。
對于軟件的程序設計,下位機中基于ATmega128(L)單片機的數(shù)據(jù)采集系統(tǒng)中包括單片機的端口初始化、ADC初始化和USART0模塊初始化以及數(shù)據(jù)采集程序,數(shù)據(jù)傳輸部分的程序。程序的設計利用循環(huán)語句,將單通道數(shù)據(jù)采集轉換為八通道的數(shù)據(jù)采集。
本儀器采用LabVIEW軟件進行設計,LabVIEW的編程過程采用了圖形化編程語言,它包含了大量控件、工具和函數(shù)。
1.虛擬邏輯分析儀控制面板設計
利用LabVIEW軟件可以構建一個顯示8路轉換后的模擬信號和16路數(shù)字量信號的虛擬邏輯分析儀的前面板。前面板部分虛擬邏輯分析儀的面板設計程序如下:
(1)首先添加一個串口資源檢測控件:控件(Controls)→新式(Modern)→I/O→VISA資源名稱(VISA resource name)。
(2)添加11個數(shù)值顯示控件:控件(Controls)→數(shù)值(Numeric)→數(shù)值顯示控件(Numeric indicator),并將其中的八個分別用通道1至通道8標記,其余的標記為數(shù)值、開關量和讀取1。
(3)添加兩個字符串顯示控件:控件(Controls)→新式(Modern)→字符串與路徑(String & Path)→字符顯示控件(String Indicator),并將兩個控件分別標記為讀取緩沖區(qū)和字符串1。
2.虛擬邏輯分析儀程序設計
(1)數(shù)據(jù)讀取模塊程序設計。
①添加一個串口配置函數(shù):編程(Programming)→儀器I/O(Instruments I/O)→串口(Serial)→VISA配置串口(VISA Configure Serial Port)
②添加4個數(shù)值常量函數(shù):編程(Programming)→數(shù)值(Numeric)→數(shù)值常量(Numeric Constant),并將四個數(shù)值常量分別按照數(shù)據(jù)傳輸?shù)膮?shù)標記,分別是波特率9600、數(shù)據(jù)位為8、沒有校驗位、1個停止位。
(2)數(shù)據(jù)截取分道模塊
①添加九個截取字符串函數(shù):編程(Programming)→字符串(String)→字符串截取(String Subest)。將每一個截取控件分配到九個顯示面板上。
②添加九個數(shù)值/字符串轉換函數(shù):編程(Programming)→字符串(String)→數(shù)值/字符串轉換(String/Number Conversion)→十六進制數(shù)字符至數(shù)值轉換。
虛擬邏輯分析儀下位機是利用雙路跟蹤穩(wěn)流穩(wěn)壓電源和示波器對硬件系統(tǒng)進行調(diào)試和功能實現(xiàn),將穩(wěn)壓電源作為硬件系統(tǒng)的整體電源輸入和模擬信號輸入,對硬件進行單片機最小系統(tǒng)測試,再將程序寫入單片機,根據(jù)擬定好的信號輸入幅值表依次對每個通道進行信號采集的測試,然后進行數(shù)字量信號測試,所有的測試結果均是由示波器來進行顯示。
上位機是利用串口調(diào)試助手進行測試,模擬數(shù)據(jù)采集系統(tǒng)的數(shù)據(jù)傳輸,將利用USB下位機轉換串口將數(shù)據(jù)傳輸?shù)教摂M邏輯分析儀,根據(jù)設定好的數(shù)據(jù)協(xié)議將數(shù)據(jù)分次傳遞到邏輯分析儀,邏輯分析儀對數(shù)據(jù)進行接收、讀取、處理、顯示,實現(xiàn)虛擬邏輯分析儀的功能。
在串口調(diào)試助手中分四次發(fā)送數(shù)據(jù),打開LabVIEW中的邏輯分析儀,點擊連接接口的刷新,選擇VISA串口資源檢測控件自動檢測出來的LPT1或者COM3。然后點擊面板的運行按鈕,開始程序的運行。然后觀察緩沖區(qū)和各個通道的數(shù)據(jù)顯示。
本文研究的是虛擬數(shù)字信號邏輯分析儀的設計與實現(xiàn),相比較于傳統(tǒng)的儀器儀表,可以通過計算機來進行一些儀器的功能模擬,完成儀器的功能。虛擬邏輯分析儀的實現(xiàn)使得其數(shù)據(jù)采集處理能力和數(shù)據(jù)傳輸能力得到大幅度的提高,而且虛擬邏輯分析儀的優(yōu)越的操作性能、強大的功能和低廉的成本,使得虛擬邏輯分析儀在儀器儀表等領域越來越受歡迎。