999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

星載CAN總線即插即用解決方案

2021-06-28 12:42:38呂良慶
關(guān)鍵詞:設(shè)計(jì)

龍 可,呂良慶

(1.國家空間科學(xué)中心 中國科學(xué)院復(fù)雜航天系統(tǒng)電子信息技術(shù)重點(diǎn)實(shí)驗(yàn)室,北京 100190; 2.中國科學(xué)院大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,北京 100049)

0 引 言

CAN總線通信協(xié)議標(biāo)準(zhǔn)主要規(guī)定的是鏈路層協(xié)議,在實(shí)際任務(wù)中需要根據(jù)任務(wù)需要設(shè)計(jì)通信協(xié)議。由于任務(wù)需求各不相同,因此對應(yīng)的通信協(xié)議也各不相同,這使得任務(wù)之間難以通用,對項(xiàng)目合作時(shí)異構(gòu)系統(tǒng)之間的協(xié)調(diào)工作造成了困難[1]。引入即插即用設(shè)計(jì)思路有利于解決這一問題?,F(xiàn)有的CAN總線即插即用方法多數(shù)是基于地面通用即插即用技術(shù)[2],對設(shè)備信息描述的方法往往是個(gè)性化的,這不利于航天架構(gòu)異構(gòu)子網(wǎng)的標(biāo)準(zhǔn)化接入。目前,采用電子數(shù)據(jù)單(electronic data sheet,EDS)技術(shù)來管理設(shè)備信息已成為一種主流[3]。例如空間數(shù)據(jù)系統(tǒng)咨詢委員會(huì)(consultative committee for space data system,CCSDS)提出的航天器接口業(yè)務(wù)(spacecraft onboard interface services,SOIS)[4],采用SOIS EDS(SEDS)對部件信息進(jìn)行描述[5];美國空軍實(shí)驗(yàn)室(air force research laboratory,AFRL)提出的SPA(space PnP avionics)計(jì)劃,利用xTEDS(XML transducer electronic data sheet)來管理所有設(shè)備和服務(wù)[6]。在上述架構(gòu)中,CAN總線作為底層子網(wǎng)之一,需要在總線內(nèi)部先解決設(shè)備級的即插即用[7],然后與上層的應(yīng)用和業(yè)務(wù)過程進(jìn)行銜接。

1 概 述

在CAN總線中增加即插即用特性,可以在不改變各自節(jié)點(diǎn)原有通信協(xié)議的基礎(chǔ)上,建立它們之間的互通性,提高航天器的協(xié)調(diào)和集成效率。即插即用技術(shù)的實(shí)現(xiàn)思路一般可以歸納為以下幾個(gè)步驟:設(shè)備編址、設(shè)備發(fā)現(xiàn)、設(shè)備描述、設(shè)備控制、設(shè)備事件和設(shè)備表達(dá)[8]。結(jié)合星載CAN總線的實(shí)際特點(diǎn),擬定了CAN總線即插即用的整體流程,如圖1所示。

圖1 CAN PnP整體流程

為方便即插即用的過程描述,將系統(tǒng)主計(jì)算機(jī)所在的CAN總線節(jié)點(diǎn)定義為主節(jié)點(diǎn)(master node),其余接入節(jié)點(diǎn)為從節(jié)點(diǎn)(slave node)。航天任務(wù)中CAN總線通信協(xié)議對系統(tǒng)中各節(jié)點(diǎn)的地址做了固定分配。

用于描述設(shè)備信息的EDS可以參考IEEE1451.0[9]的TEDS格式。當(dāng)主節(jié)點(diǎn)收到從節(jié)點(diǎn)的EDS消息,對消息內(nèi)容進(jìn)行解析、存儲(chǔ),并依據(jù)解析結(jié)果進(jìn)行消息的編排,以啟動(dòng)雙方的正常通信,這一過程需考慮單從節(jié)點(diǎn)、多從節(jié)點(diǎn)的接入以及撤出等多種場景。從節(jié)點(diǎn)方面只需按照協(xié)議約定的格式進(jìn)行EDS內(nèi)容的填寫,遵循握手協(xié)議發(fā)送給主節(jié)點(diǎn)。

CAN總線只是航天器綜合系統(tǒng)架構(gòu)底層子網(wǎng)的一種,若系統(tǒng)中還有其它異構(gòu)子網(wǎng),則需進(jìn)行異構(gòu)子網(wǎng)之間的協(xié)議同構(gòu),即匯聚層的設(shè)計(jì)。為方便用戶填寫EDS,還需考慮EDS的生成工具和解析工具的設(shè)計(jì),構(gòu)建EDS工具鏈,使CAN總線即插即用協(xié)議能在實(shí)際應(yīng)用中推廣。

因此,CAN總線即插即用解決方案涉及的主要內(nèi)容包括:①EDS設(shè)計(jì);②握手協(xié)議設(shè)計(jì);③主節(jié)點(diǎn)設(shè)計(jì)(主要是消息調(diào)度算法設(shè)計(jì));④從節(jié)點(diǎn)設(shè)計(jì);⑤匯聚層設(shè)計(jì);⑥EDS工具鏈設(shè)計(jì)。

2 通信協(xié)議基礎(chǔ)約定

為了實(shí)現(xiàn)即插即用,需要在CAN總線技術(shù)規(guī)范基礎(chǔ)上進(jìn)行必要的約定。①主節(jié)點(diǎn)地址固定為0,確保主節(jié)點(diǎn)消息的發(fā)送優(yōu)先權(quán),明確從節(jié)點(diǎn)發(fā)送EDS消息的目標(biāo)地址;②不支持從節(jié)點(diǎn)之間的通信;③消息首幀的數(shù)據(jù)場前兩字節(jié)約定為消息類型,可根據(jù)任務(wù)需要進(jìn)行約定。細(xì)分為消息子類型和子編號,各占一個(gè)字節(jié)。其中EDS消息類型定義為0xEDXX。

定義CAN總線表的概念來描述總線上消息的運(yùn)行情況,其作用類似于列車時(shí)刻表,它由一個(gè)個(gè)消息單元順序組成,每個(gè)消息單元包括一條消息的類型、地址、消息時(shí)間。由周期性消息組織而成的總線表稱為主總線表,突發(fā)性的消息編排入插入總線表。

對用于描述即插即用過程的相關(guān)時(shí)間概念做以下定義(如圖2所示):

圖2 時(shí)間概念說明

(1)消息時(shí)間(TMSG):一條消息傳輸所需的時(shí)間與幀間隙之和。CAN總線標(biāo)準(zhǔn)數(shù)據(jù)幀包含44 bit-108 bit,考慮星上對CAN總線幀間隙Titv的常見要求在0.2 ms-0.6 ms(此處取0.4 ms),以常用通信速率500 Kbps為例計(jì)算,即發(fā)送1 bit數(shù)據(jù)耗時(shí)2 μs。當(dāng)從節(jié)點(diǎn)接入系統(tǒng)時(shí),單幀數(shù)據(jù)域?yàn)榭盏南ⅲ琓MSG=44 bit×2 μs/bit+400 μs=488 μs,一個(gè)字節(jié)的數(shù)據(jù)傳輸時(shí)間為8 bit×2 μs /bit=16 μs,數(shù)據(jù)域每增加1個(gè)字節(jié),消息幀傳輸時(shí)間增加16 μs,帶8字節(jié)數(shù)據(jù)的消息幀TMSG為616 μs。

(2)小幀周期(TFRM):主總線表中一個(gè)小幀內(nèi)所有消息的TMSG累加和。為確保主總線表周期的相對穩(wěn)定,消息在不上線的小幀內(nèi)仍然占用該消息的TMSG時(shí)間。

(3)消息間隔(TITV):同一消息連續(xù)兩次傳輸之間的最小間隔,是從節(jié)點(diǎn)的期望值。

下面以標(biāo)準(zhǔn)幀格式為例進(jìn)行說明。

3 CAN總線即插即用解決方案

3.1 EDS格式設(shè)計(jì)

為了增強(qiáng)協(xié)議的通用性,在一定程度上適應(yīng)不同的CAN總線通信協(xié)議,對地址分配、總線占用以及幀類型等方面的不同約定,本文設(shè)計(jì)了兩種形式的EDS:握手EDS(shake-hand EDS,SH EDS)和通信EDS(slave communication EDS,SC EDS)。SH EDS交代節(jié)點(diǎn)地址、幀類型、總線占用等信息,解決通信格式的識別問題。SC EDS用以描述從節(jié)點(diǎn)的個(gè)性化鏈路層通信需求,說明消息類型、方向、長度、最小期望間隔等信息,解決總線通信的消息編排問題。

3.1.1 SH EDS格式設(shè)計(jì)

SH EDS為數(shù)據(jù)幀,幀頭仲裁場的11位標(biāo)識符格式見表1。

表1 SH EDS仲裁場格式

D10~D5:由節(jié)點(diǎn)自行定義,以適應(yīng)不同節(jié)點(diǎn)遵循的不同協(xié)議。

D4~D0:節(jié)點(diǎn)地址,00000代表主節(jié)點(diǎn),其余用于從節(jié)點(diǎn)地址。

SH EDS數(shù)據(jù)場包含8字節(jié),前2字節(jié)為消息類型,方便初始握手時(shí)節(jié)點(diǎn)雙方的第一次識別,取值0xED00~0xED03(分別對應(yīng)單幀SH EDS、多幀SH EDS的起始幀、中間幀和尾幀)。

SH EDS數(shù)據(jù)場后6字節(jié)是正式內(nèi)容,解釋仲裁場D10~D5位的個(gè)性化格式約定。如果仲裁場D10~D5位有多個(gè)域的劃分,則每一個(gè)域?qū)?yīng)一個(gè)字節(jié),最多6個(gè)域(擴(kuò)展幀域的數(shù)量可能大于6)。每個(gè)字節(jié)的格式都見表2。

表2 SH EDS數(shù)據(jù)場字節(jié)格式

D7~D4:標(biāo)識符類型,具體可根據(jù)實(shí)際工程需要自定義,例如表3。

表3 標(biāo)識符類型定義實(shí)例

D3~D0:該標(biāo)識符類型在仲裁場中所占的位數(shù)(1~6)。

3.1.2 SC EDS格式設(shè)計(jì)

主節(jié)點(diǎn)在解析完SH EDS后,開始向該從節(jié)點(diǎn)發(fā)送SC EDS請求消息,該消息為單幀數(shù)據(jù)幀,仲裁場內(nèi)容與SH EDS相同,消息類型為0xED04,數(shù)據(jù)場中的后6字節(jié)填0。

從節(jié)點(diǎn)收到請求消息后,向主節(jié)點(diǎn)發(fā)送SC EDS,用以描述其個(gè)性化的鏈路層通信需求,SC EDS消息仲裁場內(nèi)容與SH EDS相同。數(shù)據(jù)場的具體格式見表4。

表4 SC EDS數(shù)據(jù)場格式

表4中,EDS識別符:取值0xED05;EDS長度:消息定義部分的長度;消息定義:描述節(jié)點(diǎn)消息,每個(gè)消息的定義占用6個(gè)字節(jié),分別包括消息類型、消息方向、消息長度和消息最小期望間隔。具體格式見表5。

表5 SC EDS中消息定義格式

①消息方向T/R:指該消息是由從節(jié)點(diǎn)發(fā)送(1)或接收(0);②消息長度:0~32 767,單位字節(jié);③U/D:默認(rèn)上下線。指該子地址消息在安排入總線表時(shí),是默認(rèn)上線(1)還是默認(rèn)不上線(0),默認(rèn)上線代表在從第一個(gè)運(yùn)行周期開始該類消息一直周期性傳輸,直到從節(jié)點(diǎn)主動(dòng)請求其下線(下線消息類型:0xFFFF)或者異常結(jié)束,主節(jié)點(diǎn)可以通過改變該位的狀態(tài)對消息實(shí)現(xiàn)上下線控制;④間隔:代表從節(jié)點(diǎn)期望的該消息傳輸最小間隔,全0代表該消息非周期性傳輸,即突發(fā)性消息,期望的最小間隔取值0 ms~32 767 ms。

3.2 握手協(xié)議設(shè)計(jì)

CAN總線即插即用握手時(shí)序圖如圖3所示。

圖3 CAN PnP握手時(shí)序圖

具體的握手步驟如下:

(1)從節(jié)點(diǎn)接入過程:

步驟1 從節(jié)點(diǎn)以500 ms周期性發(fā)送SH EDS。

步驟2 主節(jié)點(diǎn)收到SH EDS后解析從節(jié)點(diǎn)個(gè)性化通信格式并進(jìn)行記錄。

步驟3 主節(jié)點(diǎn)發(fā)送SC EDS請求消息。

步驟4 從節(jié)點(diǎn)收到SC EDS請求消息后,停止發(fā)送SH EDS,并向主節(jié)點(diǎn)發(fā)送SC EDS消息。

步驟5 主節(jié)點(diǎn)收到SC EDS后解析從節(jié)點(diǎn)對于消息的約定情況并進(jìn)行記錄。

步驟6 根據(jù)SC EDS解析內(nèi)容編排新的總線表并調(diào)整總線周期:同類型消息按從節(jié)點(diǎn)的接入順序編排;同一節(jié)點(diǎn)多次發(fā)送EDS按最新EDS定義的消息情況進(jìn)行編排,原紀(jì)錄被覆蓋。

步驟7 按照SH EDS定義的通信格式,啟動(dòng)總線表運(yùn)行,正常通信建立。

步驟8 重復(fù)以上步驟實(shí)現(xiàn)多個(gè)從節(jié)點(diǎn)的加入。

(2)從節(jié)點(diǎn)撤出過程:

步驟1 當(dāng)某一從節(jié)點(diǎn)連續(xù)5次出現(xiàn)應(yīng)答超時(shí),且發(fā)送恢復(fù)幀和切換總線不能恢復(fù),或從節(jié)點(diǎn)發(fā)送下線指令,可判定其下線。

步驟2 主節(jié)點(diǎn)刪除該節(jié)點(diǎn)的通信格式和信息記錄。

步驟3 重新計(jì)算總線周期,調(diào)整總線表。

步驟4 主節(jié)點(diǎn)與其余從節(jié)點(diǎn)正常通信。

3.3 主節(jié)點(diǎn)設(shè)計(jì)

主節(jié)點(diǎn)設(shè)計(jì)主要考慮對從節(jié)點(diǎn)的EDS的傳輸、讀取和解析等過程的控制,并根據(jù)EDS進(jìn)行總線表的編排,以實(shí)現(xiàn)后續(xù)的正常通信。

3.3.1 總線表構(gòu)建算法

總線表構(gòu)建算法主要解決在從節(jié)點(diǎn)從無到有加入以及從一到多加入過程中,主節(jié)點(diǎn)進(jìn)行總線表編排時(shí)對各從節(jié)點(diǎn)消息的合理調(diào)度問題,在滿足各節(jié)點(diǎn)消息傳輸需求的前提下,盡量減小接入和撤出節(jié)點(diǎn)時(shí)對系統(tǒng)穩(wěn)定性的影響。總線表的編排遵循以下步驟:

(1) 第一個(gè)節(jié)點(diǎn)加入主總線表:

步驟1 主節(jié)點(diǎn)收到第一個(gè)SC EDS后,將其中所有TITV非零的消息按順序編入主總線表。

步驟2 累加其中所有消息的消息時(shí)間TMSG作為TFRM,若TFRM滿足TFRM≥max{TITV1…TITVn},說明小幀周期能滿足所有消息對最小間隔的要求,否則,應(yīng)調(diào)整TFRM,拉長最后一條消息的TMSG,拉長的長度為max{TITV1…TITVn}-TFRM。

(2)第N個(gè)節(jié)點(diǎn)加入主總線表:

步驟1 記錄當(dāng)前小幀周期為Tbase。

步驟3 若m=0或1,小幀不做復(fù)制,新接入節(jié)點(diǎn)的所有消息依次加入到該小幀中。

步驟5 所有消息插入完成后,計(jì)算新TFRM,若滿足TFRM≥max{TITV1…TITVn},編排結(jié)束,否則應(yīng)調(diào)整TFRM,拉長最后一條消息的TMSG。

步驟6 若無后續(xù)節(jié)點(diǎn)的接入,該小幀即作為最終主總線表。

SC EDS中TITV為零的突發(fā)性消息順序編入插入總線表,將突發(fā)性消息與其觸發(fā)條件進(jìn)行關(guān)聯(lián)。

(3)節(jié)點(diǎn)撤出時(shí)總線表的編排:

步驟1 從主總線表和插入總線表中撤出該節(jié)點(diǎn)的所有消息。

步驟2 消息撤出完成后,計(jì)算新TFRM,若滿足TFRM≥max{TITV1…TITVn},編排結(jié)束,否則應(yīng)調(diào)整TFRM。

3.3.2 管理數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)

設(shè)計(jì)了3種管理數(shù)據(jù)結(jié)構(gòu)來描述即插即用通信過程:通信特征表(FEATAB)、消息表(MSGTAB)和節(jié)點(diǎn)信息表(NODEINFOTAB)。

首先,通信特征表(FEATAB)用于記錄初始握手時(shí)從節(jié)點(diǎn)SH EDS中對其標(biāo)識符段的分配使用情況,按SH EDS中標(biāo)識符定義順序依次記錄其長度和相對位置。

其次,消息表(MSGTAB)對SC EDS中定義的節(jié)點(diǎn)消息進(jìn)行記錄,包括消息地址、消息類型、消息長度和消息間隔等,是系統(tǒng)建立的消息索引表,能在需要某條消息時(shí)快速查詢。

第三,節(jié)點(diǎn)信息表(NODEINFOTAB)中記錄每個(gè)節(jié)點(diǎn)的地址信息、FEATAB指針、消息數(shù)和MSGTAB指針,包含了一個(gè)節(jié)點(diǎn)的所有個(gè)性化信息,方便在節(jié)點(diǎn)加入撤出時(shí)的索引及消息的上下線控制。

3.3.3 基礎(chǔ)功能模塊設(shè)計(jì)

根據(jù)CAN總線即插即用握手協(xié)議,對其中每一個(gè)步驟涉及的交互對象、交互數(shù)據(jù)進(jìn)行了分析,繪制了圖4所示的CAN PnP主節(jié)點(diǎn)數(shù)據(jù)流。

圖4 CAN PnP主節(jié)點(diǎn)數(shù)據(jù)流

為完成CAN總線即插即用主節(jié)點(diǎn)的軟件設(shè)計(jì),主要需實(shí)現(xiàn)的功能包括:總線運(yùn)行控制、數(shù)據(jù)讀寫、數(shù)據(jù)解析、總線表編排等。根據(jù)功能編寫了如表6所示的基礎(chǔ)模塊。

表6 CAN PnP主節(jié)點(diǎn)基礎(chǔ)功能模塊

用戶可根據(jù)需求對基礎(chǔ)功能模塊進(jìn)行編寫、擴(kuò)充,并與自定義系統(tǒng)進(jìn)行銜接,其中每個(gè)模塊可包括多個(gè)程序函數(shù)。

3.4 從節(jié)點(diǎn)設(shè)計(jì)

從節(jié)點(diǎn)的軟件只需按照CAN PnP協(xié)議,將個(gè)性化的SH EDS和SC EDS發(fā)送給主節(jié)點(diǎn)即可,建立握手后的通信過程按照從節(jié)點(diǎn)原有協(xié)議進(jìn)行。

3.5 匯聚層設(shè)計(jì)

如果在一個(gè)系統(tǒng)中存在多個(gè)具有即插即用能力的異構(gòu)子網(wǎng),則需要在它們之上設(shè)計(jì)匯聚層協(xié)議以解決系統(tǒng)上層業(yè)務(wù)和應(yīng)用的銜接和標(biāo)準(zhǔn)化訪問問題。參考CCSDS.850.0-G-2[4]對匯聚層的設(shè)計(jì),給出了匯聚層設(shè)計(jì)思路,如圖5所示。

圖5 匯聚層設(shè)計(jì)思路

匯聚層在鏈路協(xié)議子層可以采用冗余模型,即除了統(tǒng)一的路由功能和尋址功能外,其余功能都是平行設(shè)計(jì)。

路由功能旨在為上層應(yīng)用確定通信路徑,通過對子網(wǎng)的靜態(tài)數(shù)據(jù)和動(dòng)態(tài)數(shù)據(jù)進(jìn)行分析獲得。靜態(tài)數(shù)據(jù)指從上層應(yīng)用到下層子網(wǎng)和設(shè)備之間的邏輯地址與物理地址的轉(zhuǎn)換對應(yīng)關(guān)系,以及一些固定的通信特征,如最大通信速率、設(shè)置的通信速率、最小傳輸單元和最大傳輸單元等。動(dòng)態(tài)數(shù)據(jù)主要是指新接入設(shè)備的信息,主要體現(xiàn)在EDS上。系統(tǒng)內(nèi)部的管理信息庫(management information base,MIB),用于保存靜態(tài)、動(dòng)態(tài)數(shù)據(jù)和設(shè)備EDS信息。

尋址功能在路由功能的基礎(chǔ)上,進(jìn)一步為上層應(yīng)用提供可訪問地址的服務(wù)。提供的方式有兩種,一種是提供固定的設(shè)備、子網(wǎng)與應(yīng)用程序之間的地址對應(yīng)關(guān)系。另外一種是設(shè)備、子網(wǎng)與應(yīng)用程序之間的對應(yīng)關(guān)系事先不確定,這種情況下可以通過設(shè)計(jì)專門的應(yīng)用EDS,來描述應(yīng)用程序可以提供的服務(wù)以及所需的輸入服務(wù)信息。當(dāng)子網(wǎng)上傳的消息到達(dá)匯聚層時(shí),尋址功能根據(jù)該消息的信息在MIB中檢索應(yīng)用EDS,如果發(fā)現(xiàn)消息與某個(gè)應(yīng)用EDS的服務(wù)信息能夠匹配,就可以建立設(shè)備、子網(wǎng)與應(yīng)用程序之間的地址連接和通信關(guān)系,表現(xiàn)為應(yīng)用程序的即插即用。

3.6 EDS工具鏈設(shè)計(jì)

從節(jié)點(diǎn)用戶需按照CAN PnP協(xié)議規(guī)定的格式編輯個(gè)性化的SH EDS和SC EDS。EDS采用XML(extensible markup language)進(jìn)行描述,以便使用相應(yīng)的語言生成工具和解析工具,從而擴(kuò)大它的應(yīng)用范圍和使用的便利。圖6為EDS的生成轉(zhuǎn)換過程。

圖6 EDS的生成轉(zhuǎn)換過程

數(shù)據(jù)表單通過工具或者手工編寫,然后通過EDS生成工具轉(zhuǎn)換成XML格式。接收方通過EDS解析工具,將XML文件轉(zhuǎn)換成系統(tǒng)可以識別的個(gè)性化二進(jìn)制格式。

3.6.1 EDS生成工具

在互聯(lián)網(wǎng)上可以找到的XML編輯器有很多,本項(xiàng)目選用了XML Validator Buddy[10],它是一個(gè)可在瀏覽器上直接編輯或閱讀XML源碼的編輯器,用于進(jìn)行CAN總線SH EDS、SC EDS的XML文件的編輯生成。在這個(gè)工具中輸入手工編輯的符合本文SH EDS、SC EDS格式的文件,就可以生成個(gè)性化的EDS編輯界面,供用戶進(jìn)行內(nèi)容的填寫和修改,如圖7所示。

圖7 SH EDS、SC EDS生成工具

由此生成的SH EDS和SC EDS的XML文件如圖8和圖9所示。

圖8 SH EDS XML文件實(shí)例

圖9 SC EDS XML文件實(shí)例

3.6.2 EDS解析工具

EDS解析工具的目的是將XML格式的EDS,轉(zhuǎn)換成二進(jìn)制格式。存儲(chǔ)與解析XML文檔的方法之一是使用萬維網(wǎng)聯(lián)盟(world wide web consortium,W3C)推薦的文檔對象模型(document object model,DOM)[11]。DOM通過提取XML文件中的元素和屬性值,組成樹狀結(jié)構(gòu),通過對樹的操作實(shí)現(xiàn)信息的存儲(chǔ)、更新和訪問。圖10以SC EDS為例分析解析過程。

圖10 SC EDS的解析設(shè)計(jì)

文檔樹中保留了XML文件中元素名之間以及元素名與屬性值之間的層次歸屬關(guān)系。從根節(jié)點(diǎn)出發(fā),一級子節(jié)點(diǎn)為節(jié)點(diǎn)地址和SC EDS定義項(xiàng)(見表4),二級子節(jié)點(diǎn)為SC EDS消息定義詳情(見表5)。采用深度優(yōu)先的遍歷方法,遍歷完成之后,將數(shù)據(jù)進(jìn)行組合,形成系統(tǒng)可識別的二進(jìn)制EDS文件。

4 實(shí)驗(yàn)驗(yàn)證

本節(jié)設(shè)計(jì)了實(shí)驗(yàn)來驗(yàn)證CAN總線即插即用協(xié)議的合理性。實(shí)驗(yàn)基于CAN總線仿真卡USBCAN-2E-U,共使用三路CAN接口模擬一主兩從。編寫了主節(jié)點(diǎn)軟件及界面CANPnP和從節(jié)點(diǎn)測試軟件CANTest。在此基礎(chǔ)上進(jìn)行實(shí)驗(yàn)驗(yàn)證,結(jié)果如圖11所示。

圖11 即插即用節(jié)點(diǎn)接入及撤出過程演示

過程詳情和結(jié)果分析如下:①從節(jié)點(diǎn)1發(fā)送SH EDS;②主節(jié)點(diǎn)向從節(jié)點(diǎn)1發(fā)送SC EDS請求消息;③從節(jié)點(diǎn)1發(fā)送SC EDS;④主節(jié)點(diǎn)與從節(jié)點(diǎn)1交換數(shù)據(jù),消息的幀頭、類型、長度等信息符合預(yù)期定義,說明EDS格式的設(shè)計(jì)是合理的,總線表的構(gòu)建算法能滿足單節(jié)點(diǎn)的加入情況;⑤從節(jié)點(diǎn)2發(fā)送SH EDS;⑥主節(jié)點(diǎn)向從節(jié)點(diǎn)2發(fā)送SC EDS請求消息;⑦從節(jié)點(diǎn)2發(fā)送SC EDS;⑧主節(jié)點(diǎn)與從節(jié)點(diǎn)1、節(jié)點(diǎn)2交換數(shù)據(jù),觀察先前加入的從節(jié)點(diǎn)1消息的收發(fā)情況沒有受到影響,說明總線表的構(gòu)建算法能滿足多節(jié)點(diǎn)的加入情況;⑨從節(jié)點(diǎn)2發(fā)送下線指令;⑩從節(jié)點(diǎn)2相關(guān)消息全部下線,只剩從節(jié)點(diǎn)1的消息,說明總線表的構(gòu)建算法能滿足節(jié)點(diǎn)的撤出情況。

5 結(jié)束語

設(shè)備級即插即用需要在它接入的子網(wǎng)內(nèi)部解決識別和接入的問題,而這一點(diǎn)需要按照異構(gòu)子網(wǎng)的不同特點(diǎn)進(jìn)行設(shè)計(jì)。本文按照CAN總線的特點(diǎn)設(shè)計(jì)了兩次EDS的交換過程,第一次解決了消息格式的識別問題,第二次解決了總線通信的消息編排問題,實(shí)現(xiàn)了接入設(shè)備的自動(dòng)識別和正常通信。這種兩次交換EDS的方式有利于適應(yīng)按照不同CAN總線通信協(xié)議設(shè)計(jì)的節(jié)點(diǎn)接入同一子網(wǎng)。但是仲裁場中地址的定義決定了物理層通信的特征,這限制了SH EDS對不同協(xié)議地址定義的適應(yīng)性。在CAN總線即插即用協(xié)議基礎(chǔ)上進(jìn)行了匯聚層和工具鏈的設(shè)計(jì),增強(qiáng)了協(xié)議的通用性和使用的便利性。

猜你喜歡
設(shè)計(jì)
二十四節(jié)氣在平面廣告設(shè)計(jì)中的應(yīng)用
何為設(shè)計(jì)的守護(hù)之道?
《豐收的喜悅展示設(shè)計(jì)》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統(tǒng)設(shè)計(jì)
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設(shè)計(jì)
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發(fā)生器仿真設(shè)計(jì)
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過?!律O(shè)計(jì)萌到家
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設(shè)計(jì)到“設(shè)計(jì)健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 色妞www精品视频一级下载| 日韩二区三区| 亚洲天堂久久久| 国产成人精品第一区二区| 国产亚洲精品资源在线26u| 国产精品综合久久久| 91精选国产大片| 久久精品国产一区二区小说| 欧美精品1区| 中文字幕人成乱码熟女免费| 国产一二三区在线| 99视频精品在线观看| 日韩天堂在线观看| 亚洲国产欧美中日韩成人综合视频| 激情無極限的亚洲一区免费| 在线观看国产精品第一区免费| 国产精品九九视频| 国产真实乱子伦精品视手机观看| 成人国产精品一级毛片天堂 | 亚洲高清日韩heyzo| 免费人成黄页在线观看国产| 美女无遮挡拍拍拍免费视频| 亚洲一区无码在线| 久久久久人妻一区精品色奶水| 2019年国产精品自拍不卡| 国产v欧美v日韩v综合精品| 伊人久久大香线蕉成人综合网| 手机在线国产精品| 精品五夜婷香蕉国产线看观看| 毛片在线看网站| 国产精品视频久| 国产精品尤物铁牛tv | 欧美一级色视频| 日韩欧美国产区| 国产精品一区二区国产主播| 麻豆国产精品视频| 欧洲在线免费视频| 天天躁日日躁狠狠躁中文字幕| 日本爱爱精品一区二区| 国产黄色片在线看| 91色老久久精品偷偷蜜臀| 亚洲码在线中文在线观看| 这里只有精品在线| 亚洲一级毛片免费观看| 亚洲午夜福利在线| 欧美在线中文字幕| 国产成人综合久久精品尤物| 97成人在线观看| 国产嫖妓91东北老熟女久久一| 国产精品林美惠子在线观看| 亚洲精品麻豆| 2021国产精品自拍| 久久国产亚洲欧美日韩精品| 亚洲av日韩av制服丝袜| 国产精品va| 久视频免费精品6| 99热这里只有精品5| 红杏AV在线无码| 精品国产成人av免费| 嫩草影院在线观看精品视频| 99热这里只有精品在线播放| 九色综合视频网| 精品一区二区三区波多野结衣| 亚洲AV无码不卡无码| 欧美成人午夜视频| 漂亮人妻被中出中文字幕久久| 久久亚洲高清国产| 国产欧美日韩va另类在线播放| 欧美成人精品一区二区| 啪啪永久免费av| 狂欢视频在线观看不卡| 国产精品伦视频观看免费| 国产区精品高清在线观看| 992tv国产人成在线观看| 国产情精品嫩草影院88av| 国内精品视频| 久久香蕉国产线看观| 亚洲欧美自拍中文| 免费黄色国产视频| 欧美日韩精品一区二区在线线| 国产精品蜜芽在线观看| 热思思久久免费视频|