国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

HiSLIP協(xié)議的原理及機(jī)制剖析

2015-09-23 21:32:18龐新法
現(xiàn)代電子技術(shù) 2015年17期
關(guān)鍵詞:通信

龐新法

摘 要: 為了對(duì)HiSLIP協(xié)議的網(wǎng)絡(luò)化儀器編程建立理論基礎(chǔ)并方便編程,通過(guò)分析該協(xié)議的結(jié)構(gòu)和功能、消息格式、交互過(guò)程以及標(biāo)志,提出了語(yǔ)法規(guī)則,參數(shù)含義,編程過(guò)程,初始化連接,請(qǐng)求鎖和釋放鎖,最大消息尺寸,傳輸數(shù)據(jù)請(qǐng)求,服務(wù)及狀態(tài)請(qǐng)求,消息可用標(biāo)志等,在局域網(wǎng)環(huán)境下,實(shí)現(xiàn)了兩臺(tái)示波器之間的通信,從而解決了測(cè)量系統(tǒng)中網(wǎng)絡(luò)化儀器間難以協(xié)同工作,進(jìn)而限制測(cè)量系統(tǒng)測(cè)量效率的問(wèn)題。

關(guān)鍵詞: 網(wǎng)絡(luò)化儀器; HiSLIP協(xié)議; 通信; TCP連接

中圖分類(lèi)號(hào): TN915.04?34; TP312 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2015)17?0041?04

Analysis on principle and mechanism of HiSLIP protocol

PANG Xinfa

(Department of Science and Technology Teaching?Research, Shaanxi Province Party School of the CPC, Xian 710061, China)

Abstract: The aim in this paper is to establish theoretical foundation for network instrument program of HiSLIP protocol and program conveniently. By analyzing the protocol′s structure, function, message format, interaction process and logo, the interaction process of HiSLIP protocol is proposed, which consists of grammar rules, parameters meaning, programming process, initializing connection, request and release locks, maximum message size, data transmission request, service and status requests, and message available marks. The communication between two oscilloscopes was realized in LAN environment. The problem that it is hard to work collaboratively among network instruments in measurement system was solved, and the efficiency of measurement system was improved.

Keywords: network instrument; HiSLIP protocol; communication; TCP connection

LXI(LAN eXtensions for Instrumentation)標(biāo)準(zhǔn)是測(cè)量?jī)x器在網(wǎng)絡(luò)化過(guò)程中與計(jì)算機(jī)網(wǎng)絡(luò)結(jié)合的產(chǎn)物,促進(jìn)了測(cè)量?jī)x器在網(wǎng)絡(luò)化過(guò)程中更好的發(fā)展。為了滿足儀器在網(wǎng)絡(luò)化過(guò)程中對(duì)高速傳輸數(shù)據(jù)和高效控制的需求,IVI聯(lián)盟于2011年推出HiSLIP(High?Speed LAN Insturment Protocol)高速以太網(wǎng)儀器協(xié)議,專(zhuān)門(mén)用于儀器通信和儀器遠(yuǎn)程控制的協(xié)議,并將這個(gè)協(xié)議作為L(zhǎng)XI標(biāo)準(zhǔn)的擴(kuò)展功能進(jìn)行發(fā)布。該協(xié)議能夠很好地支持TCP/IP協(xié)議,可以為IPv4和IPv6提供服務(wù),易于網(wǎng)絡(luò)組網(wǎng)和擴(kuò)展。

1 HiSLIP協(xié)議的結(jié)構(gòu)

1.1 協(xié)議簡(jiǎn)述

HiSLIP[1]基于TCP的儀器控制協(xié)議,提供了與傳統(tǒng)儀器相同的測(cè)試和測(cè)量功能。協(xié)議的主要功能有設(shè)備清除、儀器的本地/遠(yuǎn)程儀器狀態(tài)控制、儀器的鎖機(jī)制、儀器端到客戶端的服務(wù)請(qǐng)求、消息結(jié)束機(jī)制、錯(cuò)誤檢測(cè)中斷時(shí)的消息交換機(jī)制。該協(xié)議本身結(jié)構(gòu)清晰,形式簡(jiǎn)單,易于實(shí)現(xiàn),并支持虛擬儀器軟件結(jié)構(gòu)中的鎖機(jī)制,便于儀器資源的控制與共享。

1.2 協(xié)議特點(diǎn)

HiSLIP協(xié)議的特點(diǎn)如下:

(1) 靈活的端口號(hào)。服務(wù)器端和客戶端既可使用IANA分配的建議端口號(hào)4880,也可以使用雙方約定的端口號(hào)。

(2) 創(chuàng)建兩個(gè)TCP連接。兩個(gè)連接一個(gè)作為同步通道,另一個(gè)作為異步通道,均采用既定格式傳輸消息。同步通道主要用于雙方通信時(shí)傳輸文本形式的控制命令(如SCPI命令等);異步通道主要用于傳輸突發(fā)事務(wù)請(qǐng)求(如中斷和錯(cuò)誤等)。二者均由客戶端發(fā)起建立連接。

(3) 支持兩種不同的模式。為了實(shí)現(xiàn)對(duì)已有儀器的兼容性,協(xié)議需要支持重疊模式和同步模式。重疊模式[2?3],是指在客戶端和服務(wù)器端之間,輸入或者輸出的數(shù)據(jù)消息或者觸發(fā)消息可以任意緩存,而不需要等待前一個(gè)消息處理完畢。比如,相對(duì)獨(dú)立的一串請(qǐng)求消息從客戶端發(fā)送給服務(wù)器端,不需要每一個(gè)消息都處理完畢,服務(wù)器的響應(yīng)消息按照接收消息順序發(fā)送給客戶端。由于服務(wù)器端和客戶端的處理速度會(huì)有不同,因此在重疊模式下還要控制消息發(fā)送的速率。同步模式[4?5]與重疊模式在機(jī)制上相反,即每一次發(fā)送請(qǐng)求消息時(shí),都需要等待上一個(gè)消息處理完畢,如果客戶端處理出錯(cuò)時(shí),協(xié)議自身產(chǎn)生中斷操作清除之前發(fā)送的請(qǐng)求處理。

1.3 消息幀格式

HiSLIP幀格式[6]如圖1所示,幀首部為16 B,分別是消息標(biāo)志“HS”、類(lèi)型碼、控制碼、消息參數(shù)、數(shù)據(jù)長(zhǎng)度。幀尾部為數(shù)據(jù)字段,每幀消息的長(zhǎng)度等于16加上數(shù)據(jù)長(zhǎng)度。

(1) 每幀消息第一、第二字節(jié)內(nèi)容固定不變。第一字節(jié)是“H” 的ASCII碼值,第二字節(jié)是“S”的ASCII碼值,用于判斷收到的消息是否正確。如果不是“HS”,則說(shuō)明在傳輸過(guò)程中發(fā)生了錯(cuò)誤,應(yīng)丟棄此消息。

(2) 消息類(lèi)型(Message Type),大小為1 B,定義接收到的消息類(lèi)型,用來(lái)對(duì)每一個(gè)HiSLIP協(xié)議的消息進(jìn)行惟一識(shí)別。每一個(gè)消息類(lèi)型,都在協(xié)議中確定了相應(yīng)的含義,通過(guò)對(duì)消息類(lèi)型的識(shí)別就可以對(duì)消息中的字段進(jìn)行特定含義的解釋。

(3) 控制碼,大小為1 B,一般用于表示當(dāng)前消息的響應(yīng)參數(shù),含義會(huì)根據(jù)消息類(lèi)型的不同而不同。

(4) 消息參數(shù),大小為4 B,在HiSLIP消息中有多種用途。

(5) 數(shù)據(jù)長(zhǎng)度(Payload Length),占用8 B,標(biāo)識(shí)數(shù)據(jù)字段中的字節(jié)數(shù)。

(6) 數(shù)據(jù)(Data),字節(jié)數(shù)不定,存放該消息所傳遞的數(shù)據(jù)信息。

1.4 消息分類(lèi)

如表1所示,消息類(lèi)型共26種。通信雙方通過(guò)發(fā)送相關(guān)消息進(jìn)行交互,用以協(xié)調(diào)雙方的行為,達(dá)到數(shù)據(jù)傳輸?shù)饶康模瓿蓞f(xié)議功能。

其中,發(fā)送方C指協(xié)議客戶端(Client),S指協(xié)議服務(wù)器端(Server),B指通信客戶端和服務(wù)器端雙方(Both);通道中的S指同步通道消息(Synchronous channel message),A指異步通道消息(Asynchronous channel message),B指服務(wù)器端和客戶端都可發(fā)送;消息類(lèi)型號(hào),是指實(shí)際傳輸時(shí)對(duì)消息類(lèi)型的邏輯編號(hào)。

2 HiSLIP協(xié)議交互過(guò)程

協(xié)議雙方通過(guò)約定的格式和順序發(fā)送特定消息類(lèi)型的HiSLIP協(xié)議消息,協(xié)調(diào)通信雙方行為,配合完成協(xié)議的功能,為應(yīng)用軟件和資源設(shè)備提供服務(wù)。在說(shuō)明交互過(guò)程時(shí),以“<消息類(lèi)型><控制碼><消息參數(shù)><數(shù)據(jù)長(zhǎng)度><數(shù)據(jù)>”的格式表示HiSLIP消息,通過(guò)每一個(gè)功能交互,具體說(shuō)明協(xié)議的語(yǔ)法、語(yǔ)義和同步特性。

2.1 初始化HiSLIP連接

初始化連接消息交互過(guò)程如圖2所示。

(1) 在同步通道客戶端向服務(wù)器端發(fā)起建立TCP連接。

(2) 客戶端發(fā)送給服務(wù)器的初始化消息格式為: [<初始化>]<0><客戶端協(xié)議版本及客戶端廠商標(biāo)識(shí)符> <客戶端子網(wǎng)地址>。

(3) 服務(wù)器端發(fā)送給客戶端的響應(yīng)消息格式為:[<初始化響應(yīng)>]<工作模式><服務(wù)器協(xié)議版本及設(shè)備會(huì)話號(hào)><0>。

(4) 在異步通道客戶端發(fā)起建立第二次TCP連接。

(5) 客戶端發(fā)送給服務(wù)器的異步通道初始化消息格式為:<異步初始化><0><設(shè)備會(huì)話號(hào)><0>。

(6) 服務(wù)器端發(fā)送給客戶端的響應(yīng)消息格式為:[<異步初始化響應(yīng)>]<0><服務(wù)器端廠商標(biāo)識(shí)符><0>。

2.2 請(qǐng)求鎖和釋放鎖

加鎖請(qǐng)求過(guò)程如圖3所示。

(1) 客戶端發(fā)送給服務(wù)器的加鎖消息格式為:<異步鎖請(qǐng)求><1=請(qǐng)求鎖><超時(shí)時(shí)間><鎖描述串長(zhǎng)度><鎖描述字符串>。超時(shí)時(shí)間,是客戶端允許等待服務(wù)器端發(fā)送響應(yīng)的等待時(shí)間,如果超時(shí)時(shí)間為0,說(shuō)明是請(qǐng)求立即加鎖操作。

(2) 服務(wù)器端發(fā)送給客戶端的響應(yīng)消息格式為:[<異步鎖請(qǐng)求響應(yīng)>]<0=加鎖失敗,1=加鎖成功,3=錯(cuò)誤><0><0>。

釋放鎖請(qǐng)求過(guò)程如圖3所示。

(1) 客戶端發(fā)送給服務(wù)器的釋放鎖消息格式為:[<異步鎖請(qǐng)求>]<0=釋放鎖><消息編號(hào)><0>。消息編號(hào)是服務(wù)器端保存的已發(fā)送消息的編號(hào)。

(2) 服務(wù)器端發(fā)送給客戶端的響應(yīng)消息格式為:[<異步鎖請(qǐng)求響應(yīng)>]<1=釋放獨(dú)占鎖成功,2=釋放共享鎖成功,3=錯(cuò)誤><0><0>。

2.3 最大消息尺寸

為了防止消息尺寸過(guò)大造成接收方緩存溢出導(dǎo)致數(shù)據(jù)丟失,通信雙方必須協(xié)商在同步通道上傳輸?shù)淖畲笙⒊叽纾^(guò)程如圖4所示。

(1) 客戶端告知服務(wù)器端自己能夠接收的最大消息尺寸??蛻舳税l(fā)送給服務(wù)器的最大消息尺寸請(qǐng)求格式為:<最大消息尺寸請(qǐng)求><0><0><8><8>。

(2) 服務(wù)器端告知客戶端服務(wù)器能夠接收的最大消息尺寸。服務(wù)器端發(fā)送給客戶端的響應(yīng)消息格式為:<最大消息尺寸請(qǐng)求><0><0><8><8>。

說(shuō)明:<數(shù)據(jù)>字段的8 B給出消息長(zhǎng)度(無(wú)符號(hào)整數(shù))。

2.4 傳輸數(shù)據(jù)請(qǐng)求

數(shù)據(jù)消息發(fā)送過(guò)程如圖5所示。

客戶端向服務(wù)器端發(fā)送消息:

(1) 客戶端發(fā)送給服務(wù)器的數(shù)據(jù)消息格式為:<數(shù)據(jù)消息><交付標(biāo)志><消息包編號(hào)><數(shù)據(jù)長(zhǎng)度,單位是字節(jié)><數(shù)據(jù)內(nèi)容>。

(2) 客戶端發(fā)送給服務(wù)器的數(shù)據(jù)結(jié)束消息格式為:<數(shù)據(jù)結(jié)束消息><交付標(biāo)志><消息編號(hào)><數(shù)據(jù)長(zhǎng)度,單位是字節(jié)><數(shù)據(jù)內(nèi)容>。

服務(wù)器端向客戶端發(fā)送數(shù)據(jù)消息:

(1) 服務(wù)器端發(fā)送給客戶端的數(shù)據(jù)消息格式為:[<數(shù)據(jù)消息><0><消息編號(hào)><數(shù)據(jù)長(zhǎng)度,][單位是字節(jié)>][<數(shù)據(jù)內(nèi)容>。]

(2) 服務(wù)器端發(fā)送給客戶端的數(shù)據(jù)結(jié)束消息格式為:<數(shù)據(jù)結(jié)束消息><0><消息編號(hào)><數(shù)據(jù)長(zhǎng)度,單位是字節(jié)><數(shù)據(jù)內(nèi)容>。

客戶端向服務(wù)器端發(fā)送數(shù)據(jù)時(shí),如果要發(fā)送的數(shù)據(jù)量不超過(guò)最大消息尺寸,數(shù)據(jù)會(huì)通過(guò)“數(shù)據(jù)結(jié)束消息”一次性發(fā)給服務(wù)器端;否則,先通過(guò)“數(shù)據(jù)消息”發(fā)送若干,再通過(guò)“數(shù)據(jù)結(jié)束消息”把剩余部分(不大于最大消息尺寸)發(fā)送給服務(wù)器端。服務(wù)器端向客戶端發(fā)送數(shù)據(jù)的機(jī)制與此類(lèi)似,其方向相反。

交付標(biāo)志,是服務(wù)器端進(jìn)行維護(hù)并核實(shí)的一個(gè)標(biāo)志,旨在保證服務(wù)器端的正常運(yùn)行。

2.5 鎖信息交互

鎖信息交互的目的:在加鎖前,客戶端向服務(wù)器端發(fā)起鎖信息請(qǐng)求,獲取當(dāng)前在儀器資源上連接的客戶端數(shù)目以及儀器資源擁有的鎖類(lèi)型,消息序列如圖6所示。

說(shuō)明:授權(quán)的獨(dú)占鎖(exclusive?locks?granted),1表示獨(dú)占鎖被授權(quán),0表示其他。

授權(quán)的獨(dú)占鎖數(shù)(Locks?granted),表示當(dāng)執(zhí)行AsyncLockInfo(請(qǐng)求鎖信息)時(shí),擁有鎖的客戶端數(shù)。

2.6 服務(wù)請(qǐng)求

服務(wù)請(qǐng)求消息交互的目的:服務(wù)器將自身的一些狀態(tài)值,通過(guò)服務(wù)請(qǐng)求發(fā)送給客戶端。本交互過(guò)程由服務(wù)器端主動(dòng)向客戶端發(fā)起服務(wù)請(qǐng)求,交互消息序列如圖7所示。

說(shuō)明:控制碼部分,是一個(gè)8 b的狀態(tài)值(status),用來(lái)表示服務(wù)器端運(yùn)行的狀態(tài)。

2.7 狀態(tài)請(qǐng)求

狀態(tài)請(qǐng)求消息交互的目的:客戶端獲取服務(wù)器端的狀態(tài)值,交互過(guò)程消息序列如圖8所示。

說(shuō)明:控制碼部分是一個(gè)8 b的狀態(tài)值,用來(lái)表示服務(wù)器端運(yùn)行的狀態(tài)。

3 服務(wù)器端使用到的標(biāo)志

3.1 交付標(biāo)志和交付期待標(biāo)志

為了保證雙方協(xié)調(diào)一致工作,在正常交互時(shí),服務(wù)器端需要維護(hù)(核實(shí)和設(shè)置)兩個(gè)標(biāo)志:交付標(biāo)志(RTM?delivered)和交付期待標(biāo)志(RTM?expected)。方法如下:

(1) 發(fā)送數(shù)據(jù)結(jié)束消息時(shí),設(shè)置交付期待標(biāo)志為“真”(True)。在接收到狀態(tài)查詢(xún)消息(AsyncStatusQuery)并且交付標(biāo)志為“真”時(shí),清空交付期待標(biāo)志位。

(2) 接收到數(shù)據(jù)消息、 數(shù)據(jù)結(jié)束消息或觸發(fā)消息時(shí),如果交付期待標(biāo)志和交付標(biāo)志同為“真”(True)或同為“假”(False)時(shí),則清空交付期待標(biāo)志位(RTM?expected),否則產(chǎn)生錯(cuò)誤報(bào)告。

3.2 消息可用標(biāo)志

MAV(Message Available Bit)消息可用標(biāo)志,表明來(lái)自服務(wù)器的消息是否可用。該比特位的設(shè)置及狀態(tài)轉(zhuǎn)換如圖9所示。

MAV標(biāo)志設(shè)置和轉(zhuǎn)換說(shuō)明:

在設(shè)備啟動(dòng)(Power?on)、設(shè)備清除(Device?clear)或者錯(cuò)誤恢復(fù)(Error?recovery)時(shí),設(shè)置MAV為“假”False。接收到消息類(lèi)型為Data或者DataEND的HiSLIP消息時(shí),把MAV從“假”(False)設(shè)置為“真”(True)。

在接收到消息類(lèi)型為AsyncStatusQuery,Data,DataEND或者Trigger的HiSLIP消息,并且其中包含RTM?delivered時(shí),設(shè)置MAV從“真”(True)到“假”(False)。

4 結(jié) 語(yǔ)

在網(wǎng)絡(luò)化測(cè)量系統(tǒng)中借助于HiSLIP協(xié)議的高效性、實(shí)時(shí)性和可靠性,減少網(wǎng)絡(luò)時(shí)延突發(fā)異常等對(duì)測(cè)控系統(tǒng)的影響,實(shí)現(xiàn)網(wǎng)絡(luò)化儀器間通信,使儀器間協(xié)同工作,以提高網(wǎng)絡(luò)化儀器測(cè)量系統(tǒng)的測(cè)量效率。另外,HiSLIP協(xié)議既支持IPv4也支持IPv6,具有良好的向后兼容性,便于網(wǎng)絡(luò)化測(cè)量系統(tǒng)的擴(kuò)展。

參考文獻(xiàn)

[1] IVI Foundation. IVI?6.1: High?speed LAN instrument protocol (HiSLIP) [EB/OL]. [2011?05?25]. http://www.ivifoundation.org.

[2] 余成波,王士彬,李洪兵.網(wǎng)絡(luò)化儀器技術(shù)與實(shí)現(xiàn)[M].北京:清華大學(xué)出版社,2010.

[3] 林玉池.測(cè)量控制與儀器儀表前沿技術(shù)及發(fā)展趨勢(shì)[M].天津:天津大學(xué)出版社,2005.

[4] 董永清.Linux C編程實(shí)戰(zhàn)[M].北京:人民郵電出版社,2008.

[5] 宋寶華.Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解[M].北京:人民郵電出版社,2008.

[6] 李宥謀,劉釗遠(yuǎn),馬博.嵌入式系統(tǒng)開(kāi)發(fā)[M].北京:清華大學(xué)出版社,2011.

[7] 陳莉君,康華.Linux操作系統(tǒng)原理與應(yīng)用[M].北京:清華大學(xué)出版社,2006.

猜你喜歡
通信
基于數(shù)字化變電站SV報(bào)文通信可靠性問(wèn)題研究
鐵路光纜運(yùn)營(yíng)維護(hù)方式研究
淺析無(wú)線通信技術(shù)應(yīng)用于軌道交通通信、信號(hào)業(yè)務(wù)
SDH光纖通信網(wǎng)在電網(wǎng)中的應(yīng)用
電子對(duì)抗中通信技術(shù)研究
多媒體融合通信與平臺(tái)通信優(yōu)化方案研究
基于“一級(jí)調(diào)度、兩級(jí)運(yùn)維”的通信管理體系研究①
科技資訊(2016年19期)2016-11-15 10:10:38
計(jì)算機(jī)技術(shù)在通信中的應(yīng)用
簡(jiǎn)述計(jì)算機(jī)通信網(wǎng)絡(luò)安全與防護(hù)策略
Android環(huán)境下主UI線程與子線程通信機(jī)制研究
平江县| 义马市| 古蔺县| 苍南县| 益阳市| 龙陵县| 绿春县| 临邑县| 高阳县| 江孜县| 汤阴县| 正安县| 岳西县| 灵璧县| 永川市| 鄂托克旗| 阳朔县| 固安县| 神农架林区| 报价| 定兴县| 油尖旺区| 沁阳市| 诏安县| 佳木斯市| 秦皇岛市| 昌平区| 武功县| 绵阳市| 顺昌县| 舟曲县| 桃源县| 大连市| 镇远县| 洪江市| 阜新| 咸宁市| 云南省| 镇康县| 营山县| 丹棱县|