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

?

通用半實(shí)物仿真資源管理器的設(shè)計(jì)

2023-06-10 06:42金鵬飛李曉明
軟件工程 2023年6期
關(guān)鍵詞:通信協(xié)議總線儀器

金鵬飛, 李曉明

(浙江理工大學(xué)機(jī)械工程學(xué)院, 浙江 杭州 310018)

1 引言(Introduction)

模塊化、通用化、可擴(kuò)展是虛擬儀器[1]的重要特征,一臺虛擬儀器系統(tǒng)的不同功能模塊可能是由不同的儀器廠家生產(chǎn)的。如果想確保市場上各種各樣不同功能、不同廠家生產(chǎn)的儀器模塊能夠相互組合成為一臺完整的儀器系統(tǒng)并能正常運(yùn)行,那么對這些儀器模塊進(jìn)行管理就起到了關(guān)鍵性的作用。雖然各類管理軟件產(chǎn)品類型及數(shù)量眾多,但是仍主要采取各自的體系架構(gòu),在技術(shù)內(nèi)部融合及接口一致性處理方面面臨的技術(shù)難度比較大[2-5]。

針對上述問題,楊浩前的研究實(shí)現(xiàn)了設(shè)備資源的自我控制和自我管理,使用戶擺脫了煩瑣的底層硬件接口驅(qū)動(dòng)命令,但是楊浩前的方案卻沒有包含所有的數(shù)據(jù)類型,并且在數(shù)據(jù)傳輸?shù)倪^程中會(huì)出現(xiàn)中斷的錯(cuò)誤[6];趙俊設(shè)計(jì)的IVI(互換虛擬儀器)設(shè)備驅(qū)動(dòng)分成儀器類驅(qū)動(dòng)和專用驅(qū)動(dòng)兩層,更改函數(shù)時(shí),只需要改變其配置文件,而不需要改變上層程序,但是趙俊的方案沒有實(shí)現(xiàn)相同儀器間的互換,沒有實(shí)現(xiàn)各個(gè)儀器之間的通用[7]。為了解決上述設(shè)備管理器方案中存在的缺點(diǎn),本文設(shè)計(jì)出一種資源管理器的方案,包括資源管理器的功能,前端模塊[8]資源的設(shè)計(jì)和與之對應(yīng)的XML[9]配置文件,以及前端模塊和主機(jī)模塊的通信協(xié)議,實(shí)現(xiàn)了半實(shí)物仿真的標(biāo)準(zhǔn)化和通用化[10]。

2 資源管理器的設(shè)計(jì)內(nèi)容(Design content of resource manager)

本文研究的內(nèi)容是通用半實(shí)物仿真平臺資源管理的設(shè)計(jì)。這些資源的主要目的是作用于大部分前端設(shè)備。其中,需要實(shí)現(xiàn)的功能包含設(shè)備樹的自動(dòng)生成、設(shè)備運(yùn)行狀況的實(shí)時(shí)監(jiān)測和前端設(shè)備的管理。通過該資源管理系統(tǒng)可以在開發(fā)平臺對前端硬件進(jìn)行查看、監(jiān)測數(shù)據(jù)文件傳輸及更新前端設(shè)備。因此,需要一套符合整個(gè)管理軟件開發(fā)平臺的前端設(shè)備管理器,用于在開發(fā)時(shí)對當(dāng)前所連接的前端設(shè)備進(jìn)行管理和狀態(tài)監(jiān)控?;诖?課題的研究內(nèi)容主要包括以下兩點(diǎn)。

(1)前端模塊管理功能:本系統(tǒng)具備硬件模塊化的特點(diǎn),主機(jī)模塊是系統(tǒng)的控制中心。管理軟件運(yùn)行于主機(jī)模塊之上,對前端模塊進(jìn)行控制,與前端模塊進(jìn)行信息交互,實(shí)現(xiàn)平臺的測試測量和監(jiān)測功能。該管理軟件還需要對當(dāng)前系統(tǒng)內(nèi)的前端模塊及其運(yùn)行狀態(tài)信息進(jìn)行管理。

(2)狀態(tài)記錄功能:系統(tǒng)中存在很多的特性或狀態(tài)需要量化表達(dá)。這些狀態(tài)有些用于前端模塊的管理,例如模塊的ID、生產(chǎn)廠家ID等;有些狀態(tài)用于配置硬件參數(shù),控制平臺系統(tǒng)的運(yùn)行,例如與總線相關(guān)的前端模塊地址濾波器值及基本時(shí)間周期值等;有些狀態(tài)與總線等硬件狀態(tài)密切相關(guān);有些狀態(tài)僅用于底層的功能調(diào)整或者表達(dá)軟件的運(yùn)行狀態(tài);有些狀態(tài)表征系統(tǒng)的運(yùn)行狀態(tài),需要實(shí)時(shí)更新獲取,例如某個(gè)前端模塊的總線丟幀情況等。因此,需要建立一套標(biāo)準(zhǔn)機(jī)制記錄整個(gè)系統(tǒng)的狀態(tài)運(yùn)行參數(shù)。

3 資源管理器的實(shí)現(xiàn)(Implementation of resource manager)

3.1 前端模塊的建模

對于以上需要實(shí)現(xiàn)的功能,整個(gè)資源管理器中關(guān)鍵的部分就是對其設(shè)備的管理,而設(shè)備管理器系統(tǒng)中最主要管理的對象之一就是形形色色的前端模塊。因此,針對該系統(tǒng)建立了相應(yīng)的模型圖,如圖1所示。

圖1 設(shè)備管理器前端模型Fig.1 Front-end model of the device manager

前端模塊[10]是組合式儀器平臺里的一個(gè)組成部分,由DSP(數(shù)字信號處理)控制板、總線板和外部接口模塊組成,其中總線板實(shí)現(xiàn)了前端模塊與主機(jī)及其他前端模塊之間的通信,總線板里的總線是系統(tǒng)內(nèi)置的儀器總線;DSP控制板主要是一個(gè)DSP控制系統(tǒng),包括DSP和存儲(chǔ)系統(tǒng)等;外部接口模塊是前端模塊與被測實(shí)物之間的信號交流接口,例如RS232[11]、1553B總線接口[12]及CameraLink接口[13]等。

3.2 前端模塊資源的設(shè)計(jì)

前端模塊資源用戶管理前端應(yīng)用擴(kuò)展模塊的屬性信息和狀態(tài),記錄模塊的屬性狀態(tài),提供獲取和配置屬性狀態(tài)的接口。需要針對前端模塊的硬件特征和測試系統(tǒng)的軟件特征,抽象模塊特性,在總線驅(qū)動(dòng)中量化表達(dá)。對屬性特征進(jìn)行分類,不同類型的屬性有著不同的獲取和配置方式。結(jié)合前端模塊的特性,將屬性分為靜態(tài)屬性和動(dòng)態(tài)屬性,靜態(tài)屬性包含前端模塊的廠家ID等所有前端模塊都具有的屬性,而動(dòng)態(tài)屬性是某些前端模塊獨(dú)有的,就需要專門的代碼實(shí)現(xiàn),進(jìn)而實(shí)現(xiàn)資源管理的通用化?,F(xiàn)階段對前端模塊資源屬性的分類見表1。

表 1 前端模塊屬性分類表Tab.1 Classification table of front-end module property

3.2.1 XML的設(shè)計(jì)

通用化設(shè)計(jì)的標(biāo)準(zhǔn)就是設(shè)計(jì)有標(biāo)準(zhǔn)的接口,能夠讓所有的其他組件在使用這個(gè)數(shù)據(jù)傳輸組件時(shí),只要根據(jù)標(biāo)準(zhǔn)的接口進(jìn)行設(shè)計(jì)就能完成數(shù)據(jù)的傳輸。那么,對于各式各樣的組件,傳輸?shù)臄?shù)據(jù)格式和要求是不一樣的,那么至于這些參數(shù)的傳入就可以使用XML文檔進(jìn)行配置[9-10]。XML可配置的參數(shù)有數(shù)據(jù)類型、數(shù)據(jù)屬性、輸入端口及輸出端口等。本文用XML語言描述前端模塊提供的資源與功能,包括基礎(chǔ)屬性、配置參數(shù)、命令列表、通道列表。因此,為了實(shí)現(xiàn)數(shù)據(jù)標(biāo)準(zhǔn)化,設(shè)計(jì)了對應(yīng)的XML文檔,具體實(shí)現(xiàn)代碼(節(jié)選)如下:

16路輸出口、32路輸入口

3.2.2 JavaBean的設(shè)計(jì)

數(shù)據(jù)經(jīng)過XML文檔傳輸之后會(huì)被相應(yīng)的解析器解析,而數(shù)據(jù)經(jīng)過解析后應(yīng)該有其進(jìn)行標(biāo)識,這樣可以在之后的數(shù)據(jù)處理中提供映射?;诖?設(shè)計(jì)了對應(yīng)的JavaBean作為數(shù)據(jù)的載體,解析數(shù)據(jù)字段表述見表2。

表 2 解析數(shù)據(jù)字段表述表Tab.2 Parsing data field description table

3.3 前端模塊與主機(jī)模塊的通信協(xié)議設(shè)計(jì)

3.3.1 協(xié)議需求分析

為了滿足以上兩種工作模式的需求,設(shè)計(jì)了前端設(shè)備與應(yīng)用軟件之間的傳輸層協(xié)議。該協(xié)議主要是根據(jù)傳輸?shù)臄?shù)據(jù)類型與功能指定的。傳輸?shù)膬?nèi)容大致可以分為兩大類(圖2):一是工作模式,這種模式下可以與主機(jī)模塊一對一地通信、進(jìn)行模塊注冊、接收資源查詢和配置命令、接收狀態(tài)查詢命令、接收DSP應(yīng)用安裝命令及接收DSP程序信息查詢命令。二是用戶模式,在該模式下能接收消息日志、數(shù)據(jù)和退出用戶模式的命令。當(dāng)前端模塊執(zhí)行DSP程序后會(huì)自動(dòng)進(jìn)入用戶模式。

圖2 數(shù)據(jù)傳輸圖Fig.2 Data transmission diagram

3.3.2 通信協(xié)議的制定

通信協(xié)議的數(shù)據(jù)鏈路層幀結(jié)構(gòu)如圖3所示,主要包含仲裁場和數(shù)據(jù)場。仲裁場的功能是首先根據(jù)數(shù)據(jù)的優(yōu)先級進(jìn)行判斷,然后判斷該數(shù)據(jù)是否可以被接收。數(shù)據(jù)場主要是發(fā)送數(shù)據(jù),用戶在數(shù)據(jù)場中可以撰寫自己需要的協(xié)議,之后形成TLV(Tag、Length、Value)格式。對于在前端模塊上傳輸?shù)臄?shù)據(jù),將仲裁場定義為數(shù)據(jù)幀頭,將數(shù)據(jù)場定義為數(shù)據(jù)體。數(shù)據(jù)的數(shù)據(jù)場是一個(gè)長度為1 024字節(jié)的字符數(shù)組,消息的數(shù)據(jù)場是由3個(gè)無符號整型數(shù)構(gòu)成的,長度為12字節(jié)。

圖3 總線數(shù)據(jù)鏈路層幀結(jié)構(gòu)Fig.3 Layer frame structure of bus data link

根據(jù)資源管理器分析的協(xié)議需求和通信特性,將不同功能、不同類型的數(shù)據(jù)和消息按照不同的通信方式和優(yōu)先級發(fā)送。針對前端模塊的應(yīng)用情況,對仲裁場和數(shù)據(jù)場進(jìn)行定義。對仲裁場的定義如圖4所示,圖4中的type部分是提供給用戶的應(yīng)用軟件使用的,實(shí)現(xiàn)了通用化和標(biāo)準(zhǔn)化。

圖4 消息和數(shù)據(jù)仲裁場協(xié)議Fig.4 Message and data arbitration field protocol

根據(jù)仲裁場中的協(xié)議規(guī)定,數(shù)據(jù)和消息的優(yōu)先級主要是依靠協(xié)議中的前7位來決定(31—25位)。在仲裁場的協(xié)議中,信息的類別class和優(yōu)先程度degree共同影響著數(shù)據(jù)的優(yōu)先權(quán)。盡管低位的值可能會(huì)對優(yōu)先權(quán)產(chǎn)生影響,但它的影響力不及高位的值,因此最后選擇前7位作為重要的評估標(biāo)準(zhǔn)。數(shù)據(jù)信息的優(yōu)先傳輸級一般來自數(shù)據(jù)信息大類class,但是通過改變degree的方式,也能夠有效地調(diào)整默認(rèn)數(shù)據(jù)類型的優(yōu)先程度。將數(shù)據(jù)信息大類class和degree創(chuàng)新性地結(jié)合起來,促使它們之間的關(guān)系變得平衡,從而取得最佳的效果。class的取值范圍能夠從0到F不等,它能夠支持16種消息類型和16種數(shù)據(jù)類型,這樣能夠允許低優(yōu)先級的數(shù)據(jù)類型在某些情況下,具有更高的優(yōu)先權(quán),從而使數(shù)據(jù)傳輸更為便捷,更具有層次感。

仲裁場中的under字段用來判斷通信是上位機(jī)管理軟件(上層)還是虛擬儀器嵌入式系統(tǒng)(底層)。1代表底層通信,0代表上層通信。tag用來指定底層通信中的指令類型,type用來指定上層通信中的指令類型。用戶可以在type中根據(jù)自身的需求,設(shè)置對應(yīng)的協(xié)議。instr_addr(10—6位)和sessn_id(5—1位)分別是底層通信和上層通信的地址,取值范圍是0—F(Hex)。retry用來顯示數(shù)據(jù)的發(fā)送是否發(fā)生了丟幀,正常情況下數(shù)字為0,當(dāng)從0變成1時(shí),就表示出現(xiàn)了丟幀,前端模塊通信就會(huì)對數(shù)據(jù)丟幀進(jìn)行檢測。如果檢測后發(fā)現(xiàn)有數(shù)據(jù)丟失或者出現(xiàn)錯(cuò)誤,前端模塊驅(qū)動(dòng)會(huì)自動(dòng)進(jìn)行重發(fā)。

數(shù)據(jù)場的具體設(shè)計(jì)如圖5所示。其中,包含關(guān)于消息的數(shù)據(jù)和前端模塊采集的數(shù)據(jù)。消息總線數(shù)據(jù)場的首半個(gè)字節(jié)為消息長度,其余為消息內(nèi)容;數(shù)據(jù)總線數(shù)據(jù)場的前兩個(gè)字節(jié)為數(shù)據(jù)長度,其余為數(shù)據(jù)內(nèi)容。在數(shù)據(jù)內(nèi)容的最后會(huì)跟著一個(gè)編號,它是一個(gè)遞增數(shù),用于丟幀檢測。每當(dāng)數(shù)據(jù)傳輸成功后,這個(gè)編號就會(huì)自動(dòng)加1,當(dāng)接收端接收到的數(shù)據(jù)是斷斷續(xù)續(xù)的,說明出現(xiàn)了數(shù)據(jù)丟失,就需要通知發(fā)送端重新發(fā)送丟失的數(shù)據(jù)幀。

圖5 消息和數(shù)據(jù)總線數(shù)據(jù)場協(xié)議Fig.5 Message and data bus data field protocol

3.3.3 通信協(xié)議的設(shè)計(jì)

設(shè)備管理器連接到主機(jī)模塊,通過主機(jī)模塊接口調(diào)用VISA(虛擬儀器軟件結(jié)構(gòu))接口,連接到前端模塊進(jìn)行獲取。需要與前端模塊通過儀器總線進(jìn)行交互,按照前文對協(xié)議進(jìn)行分析和制定,前端模塊與主機(jī)通信協(xié)議節(jié)選見表3。

表 3 前端模塊與主機(jī)通信協(xié)議節(jié)選Tab.3 Excerpts from the communication protocol between the front-end module and the host

4 實(shí)例演示(Example demonstration)

本文所提軟件是基于浙江大學(xué)課題組研發(fā)的通用測試儀器系統(tǒng),實(shí)物如圖6所示。

圖6 儀器系統(tǒng)實(shí)物圖Fig.6 Physical diagram of instrument system

通過前端模塊和上位機(jī)軟件進(jìn)行通信后,運(yùn)行上位機(jī)管理軟件,可以實(shí)時(shí)展示前端設(shè)備的數(shù)據(jù),能夠?qū)η岸嗽O(shè)備進(jìn)行管理。如圖7所示,界面左側(cè)能夠顯示前端設(shè)備的可用狀態(tài),界面右側(cè)是對單個(gè)前端設(shè)備具體信息和數(shù)據(jù)的展示,界面的下方是日志的輸出。

圖7 上位機(jī)管理軟件界面展示Fig.7 PC management software interface display

5 結(jié)論(Conclusion)

本文分析了資源管理器技術(shù)的研究現(xiàn)狀,針對浙江大學(xué)課題組研發(fā)的多功能儀器組件前端設(shè)備的復(fù)雜性,設(shè)計(jì)相對應(yīng)的資源管理器方案。對前端模塊進(jìn)行抽象建模,設(shè)計(jì)前端模塊的資源管理應(yīng)用程序,并模擬實(shí)際測試案例,驗(yàn)證通用半實(shí)物仿真資源管理器及通信協(xié)議標(biāo)準(zhǔn)化方案的可行性,可以實(shí)現(xiàn)軟件中關(guān)于各種前端模塊中設(shè)備樹的自動(dòng)生成、IO通信、屬性管理、事件通知等全部功能,滿足了資源管理器的應(yīng)用需求。最重要的是,本設(shè)計(jì)方案只要配置對應(yīng)的XML文檔,就可以對前端模塊即插即用,應(yīng)用程序開發(fā)非常簡單,具備標(biāo)準(zhǔn)化、通用性、避免軟件重復(fù)開發(fā)的特點(diǎn)。

猜你喜歡
通信協(xié)議總線儀器
《現(xiàn)代儀器與醫(yī)療》2022年征訂回執(zhí)
《現(xiàn)代儀器與醫(yī)療》2022年征訂回執(zhí)
基于PCI Express總線的xHC與FPGA的直接通信
機(jī)載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計(jì)
我國古代的天文儀器
基于Z-Stack通信協(xié)議棧的紅外地溫采集電路設(shè)計(jì)
基于DMX512通信協(xié)議的多路轉(zhuǎn)發(fā)器設(shè)計(jì)與研究
基于NS-3的PLC多頻通信協(xié)議仿真平臺設(shè)計(jì)與實(shí)現(xiàn)
多通道ARINC429總線檢查儀
RSSP-I、RSSP-Ⅱ及SAHARA三種安全通信協(xié)議實(shí)現(xiàn)技術(shù)簡介