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

?

基于RapidIO總線的機(jī)載顯示器通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2021-06-16 16:42:28鐘海林張翼飛張景景楊粵濤曹峰
電子技術(shù)與軟件工程 2021年4期
關(guān)鍵詞:端口號(hào)枚舉交換機(jī)

鐘海林 張翼飛 張景景 楊粵濤 曹峰

(1.蘇州長(zhǎng)風(fēng)航空電子有限公司 江蘇省蘇州市 215151 2.空裝駐蘇州地區(qū)軍事代表室 江蘇省蘇州市 215151)

1 概述

傳統(tǒng)航空顯示器通信系統(tǒng)中一般為單主機(jī)通信,不支持熱備份冗余功能,一旦出現(xiàn)故障,其系統(tǒng)可靠性和穩(wěn)定性往往得不到有效地保障。鑒于此,本文采用基于Tsi578 交換機(jī)的四級(jí)RapidIO 總線交叉級(jí)聯(lián)結(jié)構(gòu),并設(shè)計(jì)實(shí)現(xiàn)了一種深度優(yōu)先結(jié)合分級(jí)交換機(jī)端口升序處理的自適應(yīng)動(dòng)態(tài)遞歸遍歷方法,該方法能夠有效地實(shí)現(xiàn)對(duì)多級(jí)RapidIO 總線級(jí)聯(lián)系統(tǒng)進(jìn)行枚舉,在其中一個(gè)通信主機(jī)出現(xiàn)故障后,備份主機(jī)能夠接替原通信主機(jī)進(jìn)行工作,并具備對(duì)系統(tǒng)通信主機(jī)熱復(fù)位操作及動(dòng)態(tài)修改各級(jí)交換機(jī)路由信息,實(shí)現(xiàn)航空顯示器通信主機(jī)備份和通信路徑冗余功能,極大地提高了系統(tǒng)的可靠性和穩(wěn)定性。

2 系統(tǒng)架構(gòu)

基于RapidIO 總線的顯示器系統(tǒng)架構(gòu)如圖1 所示,系統(tǒng)包含DCM1、DCM2、GPM1、GPM2 和四個(gè)Tsi578 交換機(jī),其中DCM為通信計(jì)算機(jī)主機(jī)(DCM2 作為備份主機(jī))與兩塊GPM(圖形產(chǎn)生板)進(jìn)行數(shù)據(jù)傳輸,DCM 采用MPC8548E 作為主通信處理器,GPM 采用MPC8640 作為主通信處理器。系統(tǒng)通過(guò)Tsi578 構(gòu)建形成星型與環(huán)形RapidIO 總線,其中DCM1 默認(rèn)為RpaidIO 主機(jī),如果DCM1 出現(xiàn)故障,則自動(dòng)由DCM2 接替DCM1 工作。通過(guò)設(shè)計(jì)相應(yīng)枚舉算法對(duì)整個(gè)RapidIO 總線進(jìn)行枚舉,支持RapidIO 總線和路由表動(dòng)態(tài)變化和主機(jī)(DCM1)與備份主機(jī)(DCM2)切換枚舉。

MPC8548E 與MPC8640 內(nèi)部集成RapidIO 總線控制器,其中RapidIO 總線控制器支持x1/x4 模式,傳輸速率可為1.25Gb、2.5Gb和3.125Gb,支持消息和門(mén)鈴機(jī)制,消息單元支持存儲(chǔ)地址寄存器最大長(zhǎng)度4KB 的消息。Tsi578 交換芯片有8 個(gè)媒體訪問(wèn)控制器(MAC)組成16 個(gè)SRIO 端口,16 個(gè)端口按奇偶端口劃分成對(duì),在4x 串行模式下最多支持8 個(gè)端口,在1x 串行模式下最多支持16個(gè)端口,各端口速率可單獨(dú)設(shè)置,每個(gè)端口具有靈活的測(cè)試特性包含若干回環(huán)模式和位錯(cuò)誤率測(cè)試。

3 系統(tǒng)軟件設(shè)計(jì)

3.1 枚舉算法設(shè)計(jì)

根據(jù)系統(tǒng)架構(gòu)與功能需求,本文按照深度優(yōu)先原則對(duì)級(jí)聯(lián)交換機(jī)進(jìn)行分級(jí)處理(一級(jí)、二級(jí)、三級(jí)、四級(jí)),每級(jí)按端口升序處理并結(jié)合主機(jī)位置判斷處理策略,提出了一種深度優(yōu)先結(jié)合分層交換機(jī)升序處理的自適應(yīng)動(dòng)態(tài)遞歸遍歷算法。該算法枚舉流程示意如圖2 所示,系統(tǒng)在DCM1 上電后首先進(jìn)行一級(jí)交換處理,一級(jí)交換機(jī)處理主要是針對(duì)與DCM1 相連的外部設(shè)備,首先建立一級(jí)交換機(jī)與主控芯片MPC8548E 物理鏈接,并對(duì)一級(jí)交換機(jī)按端口按升序方式進(jìn)行枚舉,系統(tǒng)所有RapidIO 總線接口連接采用x4 模式,所以下一個(gè)端口號(hào)為端口2,若是1x 模式則下一個(gè)端口號(hào)為端口1。在一級(jí)交換枚舉過(guò)程中發(fā)現(xiàn)下一級(jí)交換設(shè)備則進(jìn)行二級(jí)交換枚舉,同樣按深度優(yōu)先原則遞歸枚舉該端口所連接的RapidIO 交換機(jī)及設(shè)備;依次采用同樣方法處理三級(jí)交換枚舉和四季交換枚舉,系統(tǒng)最大的深度是四級(jí)交換機(jī),四級(jí)為最后一級(jí)枚舉,此后便依次遞歸返回到前一級(jí)遍歷處理例程中。系統(tǒng)遍歷枚舉過(guò)程同步采集RapidIO總線通信路由信息表,DCM1 通過(guò)發(fā)出相應(yīng)的Maintenance read 或writ 操作,配置相應(yīng)級(jí)別的交換機(jī)寄存器,設(shè)置對(duì)應(yīng)的路由信息。

需要注意的是對(duì)各個(gè)交換機(jī)進(jìn)行配置時(shí),不同層級(jí)的交換遍歷需要設(shè)置相應(yīng)的跳數(shù),否則可能引起系統(tǒng)異常而終止枚舉過(guò)程。當(dāng)系統(tǒng)通信主機(jī)由DCM1 切換為DCM2 時(shí),需要DCM2 重新對(duì)RapidIO 網(wǎng)絡(luò)進(jìn)行枚舉,并對(duì)DCM1 枚舉避讓?zhuān)乐钩霈F(xiàn)對(duì)故障部件遍歷而導(dǎo)致系統(tǒng)異常。

3.2 動(dòng)態(tài)路由配置

圖1:系統(tǒng)架構(gòu)圖

圖2:RapidIO 總線枚舉流程示意圖

表1:系統(tǒng)交換路由表

本系統(tǒng)由四個(gè)交換機(jī)組成,各個(gè)端點(diǎn)對(duì)應(yīng)連接端口號(hào)是相對(duì)固定的,但實(shí)際應(yīng)用中,可能會(huì)存在其中一個(gè)或多個(gè)端點(diǎn)出現(xiàn)故障的情況。因此如何合理地設(shè)置系統(tǒng)通信路由信息是非常重要的,本文在具體枚舉實(shí)施過(guò)程中融合進(jìn)行相應(yīng)路由配置的,其次緊隨枚舉過(guò)程進(jìn)行路由信息配置從而實(shí)現(xiàn)自適應(yīng)動(dòng)態(tài)地修正實(shí)際中相應(yīng)交換機(jī)的路由表(Lookup Table,LUT)。路由表的設(shè)置通過(guò)配置RIO_ROUTE_CFG_DESTID 和RIO_ROUTE_CFG_PORT 確定目的ID 與端口號(hào)之間的對(duì)應(yīng)關(guān)系實(shí)現(xiàn),并通過(guò)查表方式實(shí)現(xiàn)系統(tǒng)通信數(shù)據(jù)包的路由與轉(zhuǎn)發(fā)。LUT 在系統(tǒng)正常運(yùn)行的過(guò)程中可以再編程,通過(guò)主機(jī)的Maintance read and write 軟件維護(hù)包,對(duì)交換芯片的路由表寄存器進(jìn)行配置,改變輸入包的目的ID 域到輸出端口號(hào),從而改變路由。

需要注意的是,由于是在自動(dòng)遍歷枚舉系統(tǒng)的情況下,存在未知的情況下對(duì)后續(xù)遍歷設(shè)備的數(shù)目及拓?fù)浣Y(jié)構(gòu)進(jìn)行枚舉的需求,只有妥善地處理這種情況才能實(shí)現(xiàn)系統(tǒng)真正地動(dòng)態(tài)自適應(yīng)的枚舉。需要在一級(jí)交換機(jī)中將所有通往二級(jí)、三級(jí)及四級(jí)交換機(jī)的路由信息都設(shè)置完畢,在其后幾級(jí)交換機(jī)中也做類(lèi)似的設(shè)置。表1 是根據(jù)上述路由策略配置的系統(tǒng)各級(jí)交換機(jī)路由信息。

4 系統(tǒng)通信余度設(shè)計(jì)

系統(tǒng)的余度設(shè)計(jì)包含兩個(gè)方面:一是系統(tǒng)通信計(jì)算機(jī)雙機(jī)熱備份,二是系統(tǒng)通信路徑冗余。其中通信計(jì)算機(jī)雙機(jī)熱備份是通過(guò)DCM1 與DCM2 熱備份實(shí)現(xiàn),而通信路徑冗余則通過(guò)對(duì)DCM2 冗余枚舉構(gòu)成。

4.1 通信計(jì)算機(jī)雙機(jī)熱備份機(jī)制

通信計(jì)算機(jī)雙機(jī)熱備份機(jī)制是在系統(tǒng)中提供一個(gè)備份通信主機(jī),在正常上電啟動(dòng)模式下,由DCM1 負(fù)責(zé)對(duì)整個(gè)系統(tǒng)進(jìn)行枚舉并與GPM1 和GPM2 進(jìn)行數(shù)據(jù)通信,而DCM2 則根據(jù)位置判斷不對(duì)系統(tǒng)進(jìn)行枚舉。DCM1 成功完成RapidIO 網(wǎng)絡(luò)枚舉后,通過(guò)門(mén)鈴信息與DCM2 進(jìn)行心跳包通信,一旦在規(guī)定的時(shí)間內(nèi)DCM2 沒(méi)有接收到DCM1 的心跳包,則認(rèn)為DCM1 沒(méi)有成功對(duì)整個(gè)RapidIO網(wǎng)絡(luò)進(jìn)行枚舉或者成功枚舉后在運(yùn)行一段時(shí)間后出現(xiàn)故障不能正常完成RapidIO 通信,此時(shí)DCM2 接管整個(gè)RapidIO 網(wǎng)絡(luò)并重新枚舉,若DCM2 也未正常完成RapidIO 枚舉或不能實(shí)現(xiàn)與GPM1 和GPM2 的RapidIO 通信則報(bào)向上級(jí)處理例程報(bào)故,否則使用DCM2替代DCM1 與GPM1 和GPM2 進(jìn)行數(shù)據(jù)通行。

4.2 通信路徑冗余機(jī)制

通信路徑冗余機(jī)制的實(shí)現(xiàn)則與系統(tǒng)的拓?fù)浣Y(jié)構(gòu)緊密相關(guān),如圖1 所示,假設(shè)如果沒(méi)有對(duì)DCM2 進(jìn)行枚舉,則DCM1 到GPM1和GPM2 只有一條路徑可走,如果其中任一條出現(xiàn)故障或損壞,則DCM1 無(wú)法與其進(jìn)行數(shù)據(jù)通信。而當(dāng)DCM2 也被枚舉過(guò)后,從DCM1 到達(dá)GPM1 就有以下幾條路徑可走:1)DCM1—>GPM1,2)DCM1—>DCM2—>GPM1,3)DCM1—>GPM2—>DCM2—>GPM1。而從DCM1 到GPM2 也是有以下幾條路徑可以走1)DCM1—>GPM2,2)DCM1—>DCM2—>GPM2,3)DCM1—>GPM1—>DCM2—>GPM2。通過(guò)對(duì)DCM2 的冗余枚舉實(shí)現(xiàn)了系統(tǒng)在拓?fù)浣Y(jié)構(gòu)上通信路徑的冗余機(jī)制。需要注意的是通信路徑冗余僅在DCM1 作為通信主機(jī)時(shí)才具備條件實(shí)現(xiàn),當(dāng)DCM1 出現(xiàn)故障交權(quán)給DCM2 后,上述多條路徑則不再存在,僅保留DCM2—>GPM1 和DCM2—>GPM2 兩條路徑。

5 系統(tǒng)復(fù)位與邊界處理設(shè)計(jì)

本系統(tǒng)常態(tài)工作狀態(tài)下只有一個(gè)RapidIO 通信主機(jī),系統(tǒng)的各個(gè)路由信息是存儲(chǔ)在交換機(jī)的相應(yīng)端口寄存器中,沒(méi)有外置存儲(chǔ)器,所以掉電或復(fù)位后路由信息將會(huì)丟失。在系統(tǒng)實(shí)際運(yùn)行中,苛求系統(tǒng)不產(chǎn)生復(fù)位的情況是不可能的,也是不切實(shí)際的,為了提高系統(tǒng)的健壯性就必須解決系統(tǒng)復(fù)位問(wèn)題,這里的復(fù)位問(wèn)題主要指主機(jī)熱復(fù)位問(wèn)題,是指主機(jī)在已經(jīng)完成對(duì)RapidIO 交換網(wǎng)絡(luò)進(jìn)行枚舉工作后,因?yàn)楦鞣N因而引起的系統(tǒng)復(fù)位問(wèn)題(不包括RapidIO 通信從機(jī)的復(fù)位問(wèn)題,RapidIO 通信從機(jī)復(fù)位后則必須強(qiáng)制通信主機(jī)對(duì)其再次進(jìn)行枚舉)。

出現(xiàn)復(fù)位情況的處理與上電時(shí)通信主機(jī)對(duì)整個(gè)系統(tǒng)進(jìn)行枚舉的情況是有差異的,因?yàn)榇藭r(shí)系統(tǒng)內(nèi)部各個(gè)RapidIO 通信從機(jī)都已被鎖定,此時(shí)適應(yīng)于先前初始化的鎖定判斷條件就不再適用于這種情況,而且需要考慮的是這種復(fù)位后的處理也要適用于目前系統(tǒng)的各種類(lèi)型拓?fù)浣Y(jié)構(gòu)。本文通過(guò)改變枚舉初始化流程,預(yù)先讀取交換機(jī)和設(shè)備鎖定狀態(tài)寄存器,判斷設(shè)備鎖定狀態(tài),根據(jù)不同狀態(tài)執(zhí)行相應(yīng)鎖定或解鎖操作,若為解鎖操作,則結(jié)合需鎖定值與已寫(xiě)入值進(jìn)行比較判斷,如果此次需鎖定的值與交換機(jī)已經(jīng)寫(xiě)入的鎖定值是一致的,則認(rèn)為這是主機(jī)復(fù)位后再次對(duì)其進(jìn)行枚舉。

因?yàn)槊杜e策略采用遞歸調(diào)用方式,本文通過(guò)結(jié)合交換機(jī)固定端口號(hào)、已分配的設(shè)備ID 值大小以及目前所處于哪一級(jí)交換處理例程中進(jìn)行進(jìn)行邊界條件判定。重點(diǎn)解決各種可能出現(xiàn)的組合情況下分級(jí)遞歸遍歷邊界條件的設(shè)置,并根據(jù)不同的層級(jí)架構(gòu)設(shè)定相應(yīng)地邊界判別條件作為終止循環(huán)條件,避免對(duì)已經(jīng)遍歷過(guò)的目標(biāo)設(shè)別再次進(jìn)行枚舉導(dǎo)致總線枚舉故障。

6 結(jié)論

本文所設(shè)計(jì)RapidIO 總線顯示器通信系統(tǒng),解決了顯示器產(chǎn)品中RapidIO 總線交換組網(wǎng)及系統(tǒng)冗余備份技術(shù)。隨著航空系統(tǒng)的發(fā)展,作為標(biāo)準(zhǔn)的高速串行板級(jí)互聯(lián)技術(shù),RapidIO 必將得到越來(lái)越廣泛的應(yīng)用,而基于RapidIO 總線組網(wǎng)問(wèn)題更是實(shí)際應(yīng)用中不可避免的,系統(tǒng)的研制為后續(xù)各種組網(wǎng)應(yīng)用提供了堅(jiān)實(shí)的基礎(chǔ),改變了以往數(shù)據(jù)通信單主機(jī)模式,極大地提高了航空顯示器系統(tǒng)的可靠性和穩(wěn)定性。

猜你喜歡
端口號(hào)枚舉交換機(jī)
基于理解性教學(xué)的信息技術(shù)教學(xué)案例研究
速讀·上旬(2022年2期)2022-04-10 16:42:14
一種高效的概率圖上Top-K極大團(tuán)枚舉算法
在Docker容器中安裝應(yīng)用程序
修復(fù)損壞的交換機(jī)NOS
使用鏈路聚合進(jìn)行交換機(jī)互聯(lián)
淺談以java為基礎(chǔ)的Socket通信簡(jiǎn)介及實(shí)現(xiàn)
青春歲月(2017年5期)2017-04-20 18:34:23
基于太陽(yáng)影子定位枚舉法模型的研究
PoE交換機(jī)雷擊浪涌防護(hù)設(shè)計(jì)
Winsock編程在《計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)》教學(xué)中的應(yīng)用
基于Android系統(tǒng)的互動(dòng)展示APP的研究與設(shè)計(jì)
德州市| 白山市| 二手房| 通州市| 塘沽区| 沁源县| 宜宾县| 兖州市| 湄潭县| 仁寿县| 乡宁县| 上栗县| 咸丰县| 萨迦县| 印江| 峨山| 海宁市| 商水县| 雅江县| 巩留县| 新竹市| 鸡西市| 理塘县| 武宣县| 庆云县| 磐石市| 昌吉市| 满城县| 墨江| 昆山市| 尖扎县| 郯城县| 车险| 沂源县| 江城| 辽源市| 西平县| 梁河县| 怀集县| 石渠县| 双峰县|