一種機(jī)載雙通道無縫切換方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于飛機(jī)計(jì)算機(jī)總線余度管理技術(shù),具體涉及一種機(jī)載雙通道無縫切換方法及系統(tǒng)。
【背景技術(shù)】
[0002]總線管理技術(shù)是現(xiàn)代工業(yè)自動(dòng)化技術(shù)發(fā)展的關(guān)鍵技術(shù)之一,在多種發(fā)展中的多種類型總線中,1553B總線指令/響應(yīng)方式執(zhí)行數(shù)據(jù)傳輸?shù)目偩€類型作為其中的一種,得到了廣泛的應(yīng)用。指令響應(yīng)類總線采用唯一的總線控制器(BC Bus Controller)作為執(zhí)行建立和啟動(dòng)數(shù)據(jù)傳輸任務(wù)的終端,其他終端(RT Remote Terminal)是用戶子系統(tǒng)到數(shù)據(jù)總線上的接口,它在BC的控制下接收發(fā)送信息。因此在具有BC的總線類型中,若BC故障,會(huì)使終端設(shè)備喪失調(diào)度指令,導(dǎo)致整條總線通訊崩潰,由于BC的關(guān)鍵性,往往采取多備份總線控制器BBC(back BC)的備份技術(shù)。當(dāng)BC發(fā)生故障,可以由一個(gè)擔(dān)任BBC角色的RT發(fā)生BBC/BC切換,來奪取總線的控制權(quán),重新恢復(fù)總線數(shù)據(jù)通訊。在某些特定總線中BBC可以不止1個(gè)。但是,總線工作過程中,BBC如何得知BC故障是BBC奪取總線控制權(quán)的先決條件,傳統(tǒng)方法需要人為根據(jù)外部表象判斷總線工作狀態(tài),通過手動(dòng)開關(guān)進(jìn)行BC切換。該方法需要人為參與判斷,導(dǎo)致總線無法及時(shí)恢復(fù)正常工作。
【發(fā)明內(nèi)容】
[0003]為了解決上述問題,本發(fā)明提供了一種機(jī)載雙通道無縫切換方法及系統(tǒng),用于對(duì)具有總線控制器的1553B總線網(wǎng)絡(luò)構(gòu)型系統(tǒng)進(jìn)行余度管理,BC可以檢測(cè)到自身處于故障狀態(tài),無法承擔(dān)目前的角色,則自動(dòng)發(fā)起B(yǎng)C切換,切換為BBC角色運(yùn)行,并通過機(jī)間CCDL總線,要求另一臺(tái)設(shè)備自動(dòng)切換為BC角色,在運(yùn)行過程中,分離總線屬性表與總線通訊表,將總線切換控制與總線收發(fā)控制分離在兩個(gè)不同的程序模塊中,通過這兩個(gè)模塊間的握手交互,實(shí)現(xiàn)了 BC切換過程中1553B總線的靜默,達(dá)到無縫要求。
[0004]本發(fā)明第一方面提供了一種機(jī)載雙通道無縫切換方法,包含以下步驟:
[0005]步驟一、判斷設(shè)備在當(dāng)前控制器狀態(tài)下,工作是否正常,若工作不正常,或者接收到另一控制器發(fā)送來的角色轉(zhuǎn)換指令時(shí),一方面將所述當(dāng)前控制器的收發(fā)屬性表修改為另一控制器的收發(fā)屬性表,并發(fā)送中止總線收發(fā)指令,另一方面向另一臺(tái)控制器發(fā)送相應(yīng)的角色轉(zhuǎn)換指令,其中,所述控制器包括總線控制器和備份總線控制器;
[0006]步驟二、當(dāng)前控制器接收到中止總線收發(fā)指令后,將總線收發(fā)器初始化為另一控制器的狀態(tài)工作幀,并加載另一控制器的總線通訊表;
[0007]步驟三、判斷所述總線收發(fā)器初始化及加載總線通訊表是否完成,若完成,則發(fā)送恢復(fù)總線收發(fā)指令,若未完成,則重復(fù)步驟二。
[0008]優(yōu)選的是,所述判斷設(shè)備在當(dāng)前控制器狀態(tài)下,工作是否正常包括周期性的讀取當(dāng)前控制器的數(shù)據(jù)包,若連續(xù)10個(gè)周期內(nèi)沒有接收到當(dāng)前控制器的數(shù)據(jù)包,則判斷其工作不正常。
[0009]在上述方案中優(yōu)選的是,所述角色轉(zhuǎn)換指令在總線控制器與備份總線控制器之間通過控制器機(jī)間(XDL總線傳輸。
[0010]本發(fā)明另一方面提供了一種機(jī)載雙通道無縫切換系統(tǒng),包括控制器機(jī)間CCDL總線、1553B總線的總線控制器以及1553B總線的備份總線控制器,所述總線控制器和所述備份總線控制器結(jié)構(gòu)一致,均包括:
[0011]指令收發(fā)模塊,用于接收或發(fā)送所述總線控制器與所述備份總線控制器之間的角色轉(zhuǎn)換指令;
[0012]狀態(tài)判斷模塊,用以判斷設(shè)備處于當(dāng)前控制器狀態(tài)下,工作是否正常,所述當(dāng)前控制器為所述總線控制器與所述備份總線控制器中的任一個(gè);
[0013]切換控制模塊,控制所述總線控制器與所述備份總線控制器之間的切換;
[0014]總線收發(fā)模塊,用于執(zhí)行總線收發(fā)器的初始化、加載總線通訊表,同時(shí)控制總線的通訊中止及通訊恢復(fù);
[0015]收發(fā)屬性表,存儲(chǔ)收發(fā)數(shù)據(jù)的數(shù)據(jù)包標(biāo)識(shí)、數(shù)據(jù)包長(zhǎng)短以及數(shù)據(jù)包使用屬性;
[0016]總線通訊表,以1553B總線協(xié)議形式規(guī)定了總線控制器或者備份總線控制器中的數(shù)據(jù)傳輸信息;
[0017]其中,所述控制器機(jī)間CCDL總線,用于傳遞所述總線控制器與備份總線控制器之間的角色轉(zhuǎn)換指令。
[0018]優(yōu)選的是,所述收發(fā)屬性表存儲(chǔ)在切換控制模塊。
[0019]在上述方案中優(yōu)選的是,所述總線通訊表存儲(chǔ)在總線收發(fā)模塊中。
[0020]本發(fā)明實(shí)現(xiàn)了在1553B總線的BC/BBC自動(dòng)無縫切換,在沒有外界干預(yù)的情況下,實(shí)現(xiàn)對(duì)自身運(yùn)行狀態(tài)的周期性檢測(cè),檢測(cè)到故障時(shí)、發(fā)起B(yǎng)C切換,完成系統(tǒng)網(wǎng)絡(luò)重構(gòu),實(shí)現(xiàn)了一臺(tái)設(shè)備上同時(shí)兼顧BC和BBC的總線角色;該方法實(shí)現(xiàn)了在切換過程中總線的信息靜默,達(dá)到無縫要求,保證了數(shù)據(jù)安全;該方法設(shè)計(jì)對(duì)硬件依賴性小,易于移植,增加了系統(tǒng)總線的可靠性。
【附圖說明】
[0021 ]圖1為本發(fā)明機(jī)載雙通道無縫切換系統(tǒng)的一優(yōu)選實(shí)施例的BC/BBC切換示意圖。
[0022]圖2為圖1所示實(shí)施例的狀態(tài)判斷模塊示意圖。
[0023]圖3為圖1所不實(shí)施例的切換控制_旲塊不意圖。
[0024]圖4為圖1所示實(shí)施例的總線收發(fā)模塊示意圖。
【具體實(shí)施方式】
[0025]為使本發(fā)明實(shí)施的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行更加詳細(xì)的描述。在附圖中,自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。下面通過參考附圖描述的實(shí)施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。下面結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說明。
[0026]在本發(fā)明的描述中,需要理解的是,術(shù)語“中心”、“縱向”、“橫向”、“前”、“后”、“左”、“右”、“豎直”、“水平”、“頂”、“底” “內(nèi)”、“外”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡(jiǎn)化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對(duì)本發(fā)明保護(hù)范圍的限制。
[0027]本發(fā)明的目的是提供一種對(duì)1553B指令/響應(yīng)類總線控制器的自動(dòng)無縫切換技術(shù)。用于實(shí)現(xiàn)BC在發(fā)生故障時(shí),將原本的BC設(shè)備變?yōu)閭浞菘刂平巧獴BC,并通過機(jī)間CCDL發(fā)送指令,使原本的BBC設(shè)備變成控制器角色BC,保持總線數(shù)據(jù)通訊,并且在此過程中保證總線數(shù)據(jù)安全。
[0028]本系統(tǒng)包括指令收發(fā)模塊、狀態(tài)判斷模塊、切換控制模塊、總線收發(fā)模塊、收發(fā)屬性表以及總線通訊表,如圖1所示。
[0029]首先需要說明的是,BC為總線控制器,BBC為備份總線控制器,所述收發(fā)屬性表為BC/BBC收發(fā)屬性表,總線通訊表為BC/BBC總線通訊表。本實(shí)施例中,狀態(tài)判斷模塊、切換控制模塊位于系統(tǒng)應(yīng)用層,而總線收發(fā)模塊位于系統(tǒng)驅(qū)動(dòng)層,收發(fā)屬性表,存儲(chǔ)收發(fā)數(shù)據(jù)的數(shù)據(jù)包標(biāo)識(shí)、數(shù)據(jù)包長(zhǎng)短以及數(shù)據(jù)包使用屬性,總線通訊表,以1553B總線協(xié)議形式規(guī)定了總線控制器或者備份總線控制器中的數(shù)據(jù)傳輸信息。
[0030]圖2及圖3中的MBI是多路傳輸總線通信接口,本實(shí)施例中特指1553B總線的系統(tǒng)工作狀態(tài)。
[0031]本實(shí)施例中,指令收發(fā)模塊是角色裝換指令收發(fā)模塊,通常駐留在主CPU中運(yùn)行,是應(yīng)用程序的一部分,通過機(jī)間CCDL總線,專門完成接收來自另一臺(tái)設(shè)備要求進(jìn)行角色轉(zhuǎn)換的指令,或者發(fā)送給另一臺(tái)設(shè)備要求進(jìn)行角色轉(zhuǎn)換的信號(hào),當(dāng)設(shè)備接收到該指令時(shí),則提出進(jìn)行BC/BBC角色轉(zhuǎn)換的需求。可以理解的是,BC/BBC角色轉(zhuǎn)換是指總線控制器向備份總線控制器轉(zhuǎn)換,或者,備份總線控制器向總線控制器的轉(zhuǎn)換,以下不再?gòu)?qiáng)調(diào)。
[0032]狀態(tài)判斷模塊是設(shè)備當(dāng)前工作狀態(tài)判斷模塊,通常駐留在主CPU中運(yùn)行,是應(yīng)用程序的一部分,狀態(tài)判斷模塊如圖2所示,對(duì)于BC設(shè)備,判斷是否收到過BC獨(dú)有的周期數(shù)據(jù)包、曾經(jīng)正常工作,且連續(xù)10個(gè)周期沒有接收到BC獨(dú)有的周期數(shù)據(jù)包,且沒有任何RT設(shè)備在線,則提出BC轉(zhuǎn)換為BBC角色的需求;對(duì)于BBC設(shè)備