文獻標(biāo)識碼: A
文章編號: 0258-7998(2015)01-0053-04
0 引言
本文以計算機技術(shù)為基礎(chǔ),實現(xiàn)通過以太網(wǎng)對分布式儀器設(shè)備進行管理,,并能夠通過統(tǒng)一的命令對各個儀器設(shè)備進行控制,。
LXI[1]儀器設(shè)備的主要功能包括了網(wǎng)絡(luò)通信功能和傳統(tǒng)儀器的測試測量功能。但是,,目前大部分儀器設(shè)備都是基于RS232,、USB、GPIB等儀器總線的,,直接將其改造成LXI儀器設(shè)備是比較困難的,,通過嵌入式轉(zhuǎn)接模塊,即代理服務(wù)器將具有RS232,、USB,、VXI等接口的儀器設(shè)備連接到以太網(wǎng)中,使其具有LXI協(xié)議規(guī)定的網(wǎng)絡(luò)通信功能,;儀器程控命令SCPI[2]面向的是測量功能的描述,,不是直接描述儀器的操作,,能夠使用同樣的命令和參數(shù),控制具有相同功能的儀器,。而傳統(tǒng)的儀器設(shè)備傳輸?shù)目刂泼钍歉鲝S商自己規(guī)定的儀器命令,,不具有統(tǒng)一的信息格式和語法結(jié)構(gòu),在此本文將對非SCPI標(biāo)準(zhǔn)命令與標(biāo)準(zhǔn)SCPI命令進行解析和對比,,最后實現(xiàn)兩者之間的轉(zhuǎn)化,。
本文使用基于ARM Cortex-M3內(nèi)核的LPC1768處理器的嵌入式LXI代理模塊[3],實現(xiàn)USB接口和以太網(wǎng)接口的橋接,,將支持USB接口的可編程儀器接入以太網(wǎng),,便于計算機遠端訪問和管理[4],并解決標(biāo)準(zhǔn)SCPI命令語言和非標(biāo)準(zhǔn)儀器命令語言的編程和解析,,進行二者之間的轉(zhuǎn)換,,實現(xiàn)儀器語言的標(biāo)準(zhǔn)化。
1 嵌入式LXI代理模塊的研究
1.1 LXI標(biāo)準(zhǔn)
LXI基于LAN的標(biāo)準(zhǔn),,是繼GPIB,、VXI、PXI等傳統(tǒng)儀器接口的新一代總線技術(shù),。LXI標(biāo)準(zhǔn)根據(jù)同步與觸發(fā)方式的不同,,將LXI儀器分為3種基本類型A、B,、C 類:C類是最簡單最基本的一類,,沒有對觸發(fā)作出特殊要求,是局域網(wǎng)一致性的實現(xiàn),,該類通過SCPI命令可以實現(xiàn)儀器與計算機之間的信息交互,;B類在具有C類的全部功能之外,加入了IEEE 1588精密時鐘同步協(xié)議,;A 類除了具有B 類的全部功能外,,還加入硬件觸發(fā)總線[5]。
1.2 嵌入式代理模塊
嵌入式代理是指在LPC1768微處理器以及外圍電路所組成的ARM板子上,,運行代理服務(wù)器程序,,支持網(wǎng)絡(luò)管理協(xié)議SNMP,同時支持USB與LAN互相通信,,傳輸測量命令和數(shù)據(jù),,實現(xiàn)對測試設(shè)備的網(wǎng)絡(luò)管理。
嵌入式代理模塊完成的主要功能如下:硬件方面,,需要滿足LXI C類規(guī)范,;軟件方面作為服務(wù)器端,接收目標(biāo)服務(wù)器的命令,以現(xiàn)場設(shè)備即客戶端能夠識別的格式傳輸測量數(shù)據(jù)命令給客戶端,,客戶端返回測量數(shù)據(jù)后,,代理服務(wù)器以真正的目標(biāo)服務(wù)器能夠識別的格式回傳給目標(biāo)服務(wù)器;當(dāng)接收客戶端傳達的命令,,測量設(shè)備的參數(shù)作出相應(yīng)的修改,;而客戶端主要是時刻向服務(wù)器匯報當(dāng)前現(xiàn)場儀器的狀態(tài),將突發(fā)的異常信號反饋給服務(wù)器,,做出相應(yīng)處理。具體代理模塊在整個測試系統(tǒng)中所處的位置如圖1所示,。
本文中硬件基于ARM Cortex-M3處理器,,代理軟件是運行在以ARM Cortex-M3為處理器的嵌入式計算機上的。代理軟件構(gòu)成了服務(wù)器,,主要是實現(xiàn)網(wǎng)絡(luò)管理分布式設(shè)備以及傳輸儀器命令數(shù)據(jù)的功能,。具體的物理模塊如圖2所示。
2 系統(tǒng)硬件平臺的搭建
本系統(tǒng)主要由LXI代理模塊,、LXI總線設(shè)備儀器,、路由器和裝有LabVIEW 2010的PC構(gòu)成。通過路由器可以完成多個LXI總線設(shè)備儀器與PC間的數(shù)據(jù)通信,。PC作為系統(tǒng)的控制器,,主要完成與儀器之間的通信,并把以太網(wǎng)的數(shù)據(jù)格式轉(zhuǎn)換成USB的數(shù)據(jù)格式,,同時在這個過程中實現(xiàn)非標(biāo)準(zhǔn)SCPI命令與標(biāo)準(zhǔn)SCPI命令之間的轉(zhuǎn)換,。LXI代理模塊主要完成將不具有LXI總線C類設(shè)備特性的儀器接入到以太網(wǎng)中,實現(xiàn)LAN通信功能以及C類設(shè)備的觸發(fā)同步功能,。LXI代理模塊的硬件結(jié)構(gòu)如圖3所示,。
從圖3可以看出,該硬件平臺包括ARM芯片LPC1768以及外圍功能電路模塊,。外圍電路模塊有電源,、以太網(wǎng)接口、USB接口,、復(fù)位系統(tǒng),、JTAG接口等[6]。這些模塊協(xié)同工作,,最終實現(xiàn)將LXI總線設(shè)備儀器接入以太網(wǎng)中的功能,。
3 系統(tǒng)軟件設(shè)計與實現(xiàn)
3.1 系統(tǒng)軟件整體設(shè)計
軟件主要由以下四部分組成,具體結(jié)構(gòu)圖如圖4所示,。
(1)μC/OS-II操作系統(tǒng)的移植,;
(2)以太網(wǎng)協(xié)議棧的移植;
(3)USB-HOST驅(qū)動程序的編寫,;
(4)標(biāo)準(zhǔn)SCPI命令與非標(biāo)準(zhǔn)SCPI命令之間的轉(zhuǎn)換,。
由于論文篇幅有限,,軟件設(shè)計的前三部分不作詳細敘述,下面僅介紹SCPI命令轉(zhuǎn)換部分的軟件實現(xiàn),。
3.2 SCPI命令轉(zhuǎn)換實現(xiàn)
3.2.1 SCPI簡介
SCPI是基于IEEE488.2標(biāo)準(zhǔn)的測量儀器程控命令[7],,對程控命令的數(shù)據(jù)格式、響應(yīng)消息,、語法結(jié)構(gòu),、關(guān)鍵詞定義的方式給出了標(biāo)準(zhǔn)化的定義,其目的是能夠統(tǒng)一使用該命令系統(tǒng)控制不同廠家的程控儀器。SCPI的通信模型如圖5所示,。
3.2.2 SCPI命令與示波器命令間的轉(zhuǎn)換
本課題所使用的是泰克TDS2000系列的示波器,,首先需要找出示波器和SCPI命令中功能相同命令的對應(yīng)關(guān)系,然后通過軟件程序的轉(zhuǎn)換,,將輸入的SCPI命令在LXI代理模塊上通過內(nèi)部的轉(zhuǎn)換直接轉(zhuǎn)換成示波器可以識別的命令,,傳輸給示波器后,控制示波器,。
實現(xiàn)示波器的編程命令與標(biāo)準(zhǔn)SCPI命令的相互轉(zhuǎn)換是本文需要做的主要工作,。具體實現(xiàn)的過程是,在嵌入式LXI代理模塊上,,USB接口和以太網(wǎng)接口調(diào)通的工作完成之后,,實現(xiàn)類似SCPI標(biāo)準(zhǔn)的示波器編程命令轉(zhuǎn)換成標(biāo)準(zhǔn)SCPI命令的相關(guān)代碼。整個通信的過程具體如圖6所示,。
從上圖中可以看出PC(即控制器)與嵌入式LXI代理模塊是通過以太網(wǎng)接口相連,,而LXI代理模塊又通過USB接口和示波器相連,從硬件上實現(xiàn)了LXI C類標(biāo)準(zhǔn),;將μC/OSII系統(tǒng)移植于代理模塊中,,用于代理服務(wù)器任務(wù)調(diào)度的管理,驅(qū)動層實現(xiàn)了USB主機驅(qū)動和USBTMC協(xié)議,,便于傳輸儀器控制命令,,以太網(wǎng)通信方面進行了Socket編程的移植,在以太網(wǎng)和USB接口能夠相互通信的基礎(chǔ)上,,將以太網(wǎng)傳輸過來的SCPI標(biāo)準(zhǔn)命令轉(zhuǎn)換為類似SCPI標(biāo)準(zhǔn)的示波器命令,,又以USB的包格式傳輸給示波器。
編程部分首先需要實現(xiàn)的是將SCPI命令樹[9]進行存儲,,為了實現(xiàn)存儲,、插入、刪除,、遍歷的快速便捷操作,,本文將按照二叉樹的存儲方式[8]將命令樹存儲到程序當(dāng)中,當(dāng)以太網(wǎng)將SCPI命令發(fā)給代理模塊時,代理模塊通過ucUdpDataBuff()接收命令,,并對其進行解析查找匹配的命令,,取出對應(yīng)的命令號,并從結(jié)構(gòu)體ComdId中得到對應(yīng)的示波器命令,,處理器再通過usbDataBuff()將這個命令傳給USB接口,,發(fā)送給示波器,示波器可以直接識別,,然后返回相應(yīng)的應(yīng)答,。
4 測試方案及結(jié)果
4.1 測試方案
在測試命令轉(zhuǎn)換功能時,首先必須明確是通過控制器在上位機上給設(shè)備發(fā)送命令,,設(shè)備收到命令之后能夠成功地做出相應(yīng)的應(yīng)答,。實現(xiàn)的環(huán)境是:將計算機與LXI代理模塊通過以太網(wǎng)相連,將代理模塊的USB接口與儀器設(shè)備相連,,而本文所指的設(shè)備是泰克公司的示波器TDS2014B,該設(shè)備支持USBTMC協(xié)議(即非標(biāo)準(zhǔn)SCPI命令),。
測試的方法是在PC(控制器)上運行LabVIEW編寫的上位機界面[10],,這個界面是建立在UDP通信協(xié)議上的。代理需要建立兩個任務(wù):一個是以太網(wǎng)數(shù)據(jù)和USB數(shù)據(jù)轉(zhuǎn)換任務(wù),,另一個是標(biāo)準(zhǔn)SCPI命令與非標(biāo)準(zhǔn)SCPI命令之間轉(zhuǎn)換的任務(wù),。這兩種轉(zhuǎn)換都是雙向的,發(fā)送和接收的格式都是一樣的,,轉(zhuǎn)換的過程在由程序?qū)崿F(xiàn),,最終將返回的數(shù)據(jù)顯示在接收數(shù)據(jù)區(qū)。
4.2 測試過程及結(jié)果
命令之間的成功轉(zhuǎn)換是建立在以太網(wǎng)和USB數(shù)據(jù)格式轉(zhuǎn)換的基礎(chǔ)上,,PC通過以太網(wǎng)在PC端發(fā)送標(biāo)準(zhǔn)SCPI命令數(shù)據(jù)包給代理模塊,,代理模塊將該命令轉(zhuǎn)換成示波器識別的命令,并通過USB接口發(fā)送給示波器,,最后代理模塊需要將示波器返回的信息發(fā)給PC,。圖7顯示了發(fā)送給示波器的測量命令MEASure[:SCALar]:VOLTage:FREQuency?,用于測量示波器當(dāng)前電壓的頻率值,,這是一條標(biāo)準(zhǔn)的SCPI命令,,所對應(yīng)的示波器執(zhí)行的命令是MEASUrement:IMMed:TYPe FREQuency,MEASUrement:IMMed:VALue?,。示波器返回的值同樣如圖7所示,,測得的頻率是1 kHz,可以說明完成了查詢類命令的轉(zhuǎn)換功能,。
對于控制命令中還有一類是設(shè)置命令,,設(shè)置命令的直觀表現(xiàn)是發(fā)送的命令沒有返回數(shù)據(jù),但是示波器面板上的相應(yīng)設(shè)置會實現(xiàn),這樣實現(xiàn)了控制器對設(shè)備的遠程控制,。這里發(fā)送的命令是將示波器的面板語言設(shè)置成英文的,,標(biāo)準(zhǔn)的SCPI命令是SYSTem:LANGuage <ENGLish>,而示波器相對應(yīng)的這條命令是LANGuage ENGLish,。在上位機界面的發(fā)送數(shù)據(jù)區(qū)輸入該SCPI標(biāo)準(zhǔn)指令并發(fā)送,,示波器接收代理模塊轉(zhuǎn)換的指令后,示波器面板的語言由中文變成了英文,,這樣即可說明標(biāo)準(zhǔn)的SCPI設(shè)置類命令轉(zhuǎn)換成示波器的命令是成功的,。
5 結(jié)論
本文在基于LPC1768 Cortex-M3系列微處理器的基礎(chǔ)上,結(jié)合μC/OS-II嵌入式操作系統(tǒng)組成了一個將USB接口儀器接入以太網(wǎng)中的代理平臺,,實現(xiàn)了通過標(biāo)準(zhǔn)SCPI命令網(wǎng)絡(luò)遠程控制儀器設(shè)備的功能,。本平臺能夠使非LXI接口的儀器儀表接入到支持LXI標(biāo)準(zhǔn)的儀器儀表系統(tǒng)中,并且能同時使用SCPI標(biāo)準(zhǔn)可編程儀器命令對設(shè)備進行統(tǒng)一管理,,具有較強的通用性,。
參考文獻
[1] 樂天,蔡遠文,,解維奇,,等.LXI總線標(biāo)準(zhǔn)最新進展及發(fā)展趨勢[J].兵工自動化,2014,,33(6):48-52.
[2] 崔猛,,曹廣忠.SCPI在IGBT可靠性測試系統(tǒng)中的應(yīng)用[J].電子技術(shù)應(yīng)用,2014,,40(4):88-95.
[3] 李哲,,強少鋒.基于USB的儀器儀表驅(qū)動程序設(shè)計與實現(xiàn)[J].西安郵電學(xué)院學(xué)報,2012,,17(5):61-64.
[4] 韓金霞,,楊景常,杜煥勇,,等.儀器接口平臺的通用USB接口模塊設(shè)計[J].自動化儀表,,2010,31(11):75-78.
[5] 陳勇.LXI儀器主時鐘模塊的設(shè)計與實現(xiàn)[D].西安:西安電子科技大學(xué),,2011.
[6] 蔡長安,,鐘銳.串行通信轉(zhuǎn)網(wǎng)絡(luò)通信的數(shù)據(jù)模塊的硬件設(shè)計[J].微計算機信息,2009,,25(12):214-216.
[7] Liu Guili,,Kong Quancun.Design of virtual oscilloscope basedon GPIB interface and SCPI[C].Electronic Measurement & Instruments(ICEMI),2013 IEEE 11th International Confer-ence on.IEEE,,2013:294-298.
[8] 韋榮昌,,賴小紅.SCPI命令解釋器的實現(xiàn)[J].信息與電子工程,,2012(3):377-381.
[9] 郭同華.數(shù)字示波表SCPI程控命令解析器設(shè)計[J].科技信息,2014(11):225,,256.
[10] Li-ying L.Design and study of strain data communication system based on LabVIEW[C].Computer Science and Information Technology,,2009.ICCSIT 2009.2nd IEEE International Conference on.IEEE,2009:66-68.