專利名稱:在嚴(yán)格實(shí)時(shí)條件下容錯(cuò)通訊方法
技術(shù)領(lǐng)域:
本發(fā)明涉及局域網(wǎng)絡(luò)中具有嚴(yán)格時(shí)間要求的數(shù)據(jù)的可靠和容錯(cuò)傳輸方法,該方法使用基于雙總線體系結(jié)構(gòu),即冗余總線系統(tǒng)的主動(dòng)故障檢測和通知機(jī)理?;诒景l(fā)明方法系統(tǒng)的應(yīng)用范圍在于以與過程有關(guān)方式分布和必須實(shí)現(xiàn)高可靠性要求的控制和自動(dòng)系統(tǒng)的領(lǐng)域。
分布控制系統(tǒng)的近代概念某種程度上并不能實(shí)現(xiàn)高可靠性和嚴(yán)格實(shí)時(shí)性能。例如,高可靠系統(tǒng)通常被要求具有自動(dòng)分層結(jié)構(gòu)的更高層次的特征。在這些層次中通訊的特點(diǎn)為大量待傳輸?shù)臄?shù)據(jù),中等的數(shù)據(jù)傳輸?shù)臅r(shí)間要求和較少量的通訊用戶(網(wǎng)絡(luò)節(jié)點(diǎn))。由于高開銷和與連接有關(guān)的傳輸原理,在這領(lǐng)域中經(jīng)常使用的通訊協(xié)議TCP/IP不能有效地傳輸在與過程有關(guān)的系統(tǒng)中居支配地位的少量數(shù)據(jù)。此外,為例如CSMA/CD或記號(hào)(token)總線所使用的總線訪問方法或者不能確定地使用于具有少量節(jié)點(diǎn)的網(wǎng)絡(luò),或者只能使用于具有少量節(jié)點(diǎn)的網(wǎng)絡(luò)。為了確保高度可靠性和可利用性實(shí)現(xiàn)容錯(cuò)的概念往往導(dǎo)致增加處理時(shí)間,這在時(shí)間是至關(guān)緊要的系統(tǒng)中是不能允許的。
這與來自現(xiàn)場和傳感器/執(zhí)行器總線領(lǐng)域的協(xié)議相反,這些協(xié)議被優(yōu)選供使用于與過程有關(guān)的系統(tǒng)中,對(duì)該系統(tǒng)而言時(shí)間是至關(guān)緊要的。它們?nèi)菰S對(duì)于小量信息傳輸?shù)亩烫幚頃r(shí)間和基于決定性總線訪問方法。
這些協(xié)議的缺點(diǎn)是容錯(cuò)和確保數(shù)據(jù)在系統(tǒng)范圍的一致性的機(jī)理不能充分地支持高可靠性系統(tǒng)。具體地說,在多數(shù)情況下廣播通訊受到支持是不可靠的,即不牢固的。這中間的一例是FIP(FactoryInstrumentation Protocol)。FIP容許二個(gè)通訊用戶經(jīng)過一個(gè)邏輯點(diǎn)到點(diǎn)連接經(jīng)確認(rèn)的報(bào)文交換,同時(shí)發(fā)生一報(bào)文傳輸?shù)饺舾山邮諜C(jī)(廣播),但并不應(yīng)答正確接收。這樣,確認(rèn)的廣播通訊只能借助若干順序點(diǎn)到點(diǎn)傳輸來實(shí)現(xiàn)。在這過程中發(fā)生的長處理時(shí)間在時(shí)間是關(guān)鍵的系統(tǒng)中,具體地說在大數(shù)量用戶(接收機(jī))的網(wǎng)絡(luò)中是不能接受的。
而且,許多現(xiàn)場總線協(xié)議的以冗余實(shí)現(xiàn)的總線不受支持和需要附加的措施,這繼而對(duì)數(shù)據(jù)的時(shí)間性能和一致性產(chǎn)生負(fù)面的影響。
總之,本發(fā)明方法構(gòu)成的要求,和從所述要求得到的系統(tǒng)特點(diǎn)可以分類為如下·高可靠性和可利用性—確保數(shù)據(jù)在系統(tǒng)范圍的一致性(即使在發(fā)生錯(cuò)誤的情況下)—實(shí)現(xiàn)容錯(cuò)·嚴(yán)格的實(shí)時(shí)性能—決定性訪問方法—短處理時(shí)間上述要求得以實(shí)現(xiàn)是考慮到對(duì)于與過程有關(guān)的通訊典型的報(bào)文量報(bào)文具有短信息長度往往主要與事件有關(guān),即是說不會(huì)循環(huán)發(fā)生。而且,應(yīng)該可能與系統(tǒng)連接大量節(jié)點(diǎn)(≈100)。
具有高可靠性和可利用性的系統(tǒng)必須具有容錯(cuò)性能。即是說盡管有故障的系統(tǒng)部件,整個(gè)系統(tǒng)的功能將被保持。分布系統(tǒng)的特點(diǎn)為信息的多次重復(fù)和分配給局部分開的功能模塊。多次重復(fù)和分配必須一致地發(fā)生,即源信息項(xiàng)目必須在特定時(shí)間內(nèi)以同一狀態(tài)出現(xiàn)于所有接收機(jī)中。與一致性相聯(lián)系的,容錯(cuò)意味即使發(fā)生錯(cuò)誤,分布數(shù)據(jù)庫的一致性仍將保持,或在錯(cuò)誤的傳播會(huì)導(dǎo)致整個(gè)系統(tǒng)的嚴(yán)重出錯(cuò)以前被恢復(fù)。容錯(cuò)的實(shí)現(xiàn)借助于系統(tǒng)部件的冗余結(jié)構(gòu)發(fā)生的。例如,在分布系統(tǒng)中一總線的故障只有通過切換到一冗余總線系統(tǒng)才能被容許。切換過程的發(fā)生必須只能使運(yùn)行系統(tǒng)的運(yùn)行有最短的可能暫時(shí)中斷,使得系統(tǒng)內(nèi)的時(shí)間限制不被破壞。此外,數(shù)據(jù)庫的一致性一定不能受到有害的影響,即切換時(shí)必須不發(fā)生信息的丟失、竄改和復(fù)制。這些技術(shù)條件要求非常迅速的錯(cuò)誤檢測(也稱為錯(cuò)誤等待時(shí)間)和錯(cuò)誤復(fù)蓋的寬范圍。而且,冗余性要求冗余部件被很好地隔離,從而防止錯(cuò)誤向兩個(gè)系統(tǒng)都傳播。
分布系統(tǒng)的可靠性由通訊協(xié)議的傳輸原理明確決定。數(shù)據(jù)的可靠性和一致性只有通過有效的確認(rèn)機(jī)理來實(shí)現(xiàn)。這意味報(bào)文接收機(jī)必須通過對(duì)發(fā)射機(jī)的應(yīng)答證實(shí)正確接收。在這過程,可靠性程度隨確認(rèn)的接收機(jī)數(shù)量而增加。運(yùn)用原子(atomic)廣播原理能獲得傳輸數(shù)據(jù)的可能的最高可靠性,原子廣播原理即為一報(bào)文或者被所有能運(yùn)行的網(wǎng)絡(luò)用戶正確接收,或者不能被任一能運(yùn)行的網(wǎng)絡(luò)用戶接收。這一原理可以通過例如使用多相確認(rèn)周期的2相重復(fù)方法的傳輸概念來實(shí)現(xiàn)1發(fā)射機(jī)向其目標(biāo)組的所有用戶發(fā)送報(bào)文。
2每個(gè)接收機(jī)通過發(fā)射應(yīng)答報(bào)文確認(rèn)正確接收數(shù)據(jù)。
3發(fā)射機(jī)在最大時(shí)間周期(超時(shí))內(nèi)等待應(yīng)答。
4·假如應(yīng)答在超時(shí)內(nèi)到達(dá),發(fā)射機(jī)發(fā)射允許報(bào)文,因而允許在接收機(jī)中處理。
·否則,發(fā)射機(jī)重復(fù)該報(bào)文的發(fā)射。
多相概念具有非常高的通訊量,這導(dǎo)致長處理時(shí)間和高總線負(fù)載。因而,它們不適合于嚴(yán)格實(shí)時(shí)系統(tǒng)。在此例中,顯然為增加可靠性的措施通常對(duì)系統(tǒng)的時(shí)間性有負(fù)面影響,反之亦然。因此,可靠性和嚴(yán)格實(shí)時(shí)性能的兩個(gè)特性難以組合在一起。
本發(fā)明基于公開一種在局域網(wǎng)絡(luò)中傳輸數(shù)據(jù)的方法的目的,這個(gè)方法既能滿足高可靠性要求,又能滿足嚴(yán)格實(shí)時(shí)要求。
這目的是通過該方法的特點(diǎn)達(dá)到的,該方法使用基于雙總線體系結(jié)構(gòu)的主動(dòng)故障檢測和通知機(jī)理。在隨后的說明中可以看到這優(yōu)越的改進(jìn)之處。
本發(fā)明的方法使用雙總線體系結(jié)構(gòu)。冗余總線結(jié)構(gòu)一方面用于增加系統(tǒng)可靠性,在發(fā)生故障時(shí)切換至第二總線;另一方面實(shí)現(xiàn)主動(dòng)故障檢測和通知機(jī)理。這一機(jī)理過臨視處理器提供被檢測到的節(jié)點(diǎn)故障,并通過第二總線系統(tǒng)間所有網(wǎng)絡(luò)用戶通知故障。因而,有可能迅速地檢測和處理部件故障,和一致地切換至冗余部件,即不會(huì)有報(bào)文的丟失,竄改和復(fù)制。最好二個(gè)總線系統(tǒng)都使用CAN總線協(xié)方,因?yàn)檫@對(duì)實(shí)現(xiàn)本發(fā)明方法有合適的特性。
原先為用作汽車車輛中傳感器/執(zhí)行器總線開發(fā)的CAN由于其靈活性適用于自動(dòng)技術(shù)的廣泛領(lǐng)域。尤其是,高可靠和有效原子多版(multicast)傳輸原理的實(shí)現(xiàn)和故障檢測和容錯(cuò)的機(jī)理使CAN成為高可靠實(shí)時(shí)系統(tǒng)的一個(gè)基礎(chǔ)。
在CAN網(wǎng)絡(luò)中數(shù)據(jù)的傳輸如下方式發(fā)生1.一個(gè)節(jié)點(diǎn)(發(fā)射機(jī))廣播發(fā)射一報(bào)文。
2.假如任何節(jié)點(diǎn)發(fā)現(xiàn)發(fā)射故障,為發(fā)射仍在發(fā)生時(shí)通過用一故障幀重寫該總線電平使報(bào)文破壞。
3.所有節(jié)點(diǎn)不理會(huì)受破壞的報(bào)文。
4.發(fā)射機(jī)開始新的發(fā)射。
實(shí)現(xiàn)被動(dòng)確認(rèn)機(jī)理,即只要沒有任何節(jié)點(diǎn)通過重寫破壞報(bào)文,那么報(bào)文發(fā)射機(jī)認(rèn)為其發(fā)射已被所有網(wǎng)絡(luò)用戶正確接收。因?yàn)橐粓?bào)文要么被所有節(jié)點(diǎn)正確接收,要么不被任何節(jié)點(diǎn)接收,這一程序保證數(shù)據(jù)在系統(tǒng)范圍的一致性;這正與原子廣播的原理相對(duì)應(yīng)。
在無故障的情況,處理的執(zhí)行(一個(gè)信息項(xiàng)目的發(fā)射和接收機(jī)的應(yīng)答)需要僅僅一個(gè)報(bào)文的發(fā)射。這樣CAN比起其他使用多相主動(dòng)確認(rèn)機(jī)理(見上)的原子廣播協(xié)議實(shí)質(zhì)上更為有效(短處理時(shí)間,低總線負(fù)載)。
每個(gè)CAN節(jié)點(diǎn)控制內(nèi)部的接收和發(fā)射故障計(jì)數(shù)器,該計(jì)數(shù)器在一次發(fā)射故障之后增量,在每一無故障發(fā)射之后減量。假如故障計(jì)數(shù)器達(dá)到值127,CAN模塊自動(dòng)從故障主動(dòng)進(jìn)入故障被動(dòng)狀態(tài),即它能繼續(xù)發(fā)射和接收?qǐng)?bào)文,但不能通過發(fā)射故障幀破壞任何錯(cuò)誤報(bào)文。故障計(jì)數(shù)器達(dá)到值256的CAN控制器切換進(jìn)入總線斷開狀態(tài),即不再以任何方式參與總線通訊量。這意味故障節(jié)點(diǎn)直至其進(jìn)入被動(dòng)狀態(tài)才通過發(fā)射故障幀中斷總線通訊量。
僅僅使用由CAN協(xié)議提供的機(jī)理的分布系統(tǒng)相對(duì)于與高可靠性和容錯(cuò)有關(guān)的已解釋的要求有若干不足之處。消除這些不足之處是本發(fā)明方法的出發(fā)點(diǎn)。
CAN的局限在于1.在CAN協(xié)議中沒有提供冗余的管理。
2.當(dāng)一系統(tǒng)部件發(fā)生故障時(shí),在一些情況下可能發(fā)生高故障等待時(shí)間。
注1.)系統(tǒng)部件,尤其是為了容許總線故障的總線線路的冗余實(shí)現(xiàn)需要在故障發(fā)生時(shí)一致切換到冗余部件的附加機(jī)理。這樣,要實(shí)現(xiàn)用于故障檢測,故障尋找和切換過程控制的措施。一個(gè)重要方面是切換準(zhǔn)則,即觸發(fā)切換的系統(tǒng)狀態(tài)的明確說明。
注2.)CAN的被動(dòng)確認(rèn)機(jī)理有以下缺點(diǎn)報(bào)文發(fā)射機(jī)并不檢測另一網(wǎng)絡(luò)用戶的故障,而且寧可假定假如沒有發(fā)生故障幀。所有接收機(jī)已沒有故障地接收到該報(bào)文。試圖運(yùn)用所謂救生方法消除這缺點(diǎn)。“救生”一詞用于指由所有網(wǎng)絡(luò)節(jié)點(diǎn)循環(huán)發(fā)射生存報(bào)文。假如一個(gè)用戶的生存報(bào)文沒有發(fā)生,這指示在這個(gè)節(jié)點(diǎn)內(nèi)部件故障。根據(jù)生存報(bào)文的循環(huán)時(shí)間,到檢測出節(jié)點(diǎn)故障時(shí)可能已經(jīng)過無法接受的長時(shí)間,因此丟失報(bào)文,導(dǎo)致不一致性。尤其是大量的連接節(jié)點(diǎn)時(shí)故障等待時(shí)間太長。此外,救生通訊量增加總線負(fù)載,使得其他報(bào)文的訪問時(shí)間可能變得太長和時(shí)限要求不能被遵守。本發(fā)明方法運(yùn)用主動(dòng)故障檢測和通知機(jī)理避免這些問題。每個(gè)節(jié)點(diǎn)借助一監(jiān)視處理器監(jiān)視,通過第二總線系統(tǒng)立即通知其他網(wǎng)絡(luò)用戶發(fā)生故障。
基于本發(fā)明方法的系統(tǒng)包括一系列總線站(節(jié)點(diǎn)),根據(jù)
圖1這些總線站通過兩個(gè)并行總線系統(tǒng)相互連接。如圖2所示,每個(gè)節(jié)點(diǎn)通過兩個(gè)分開的連接部分與兩個(gè)總線相連。一個(gè)連接部分至少包括一個(gè)CAN通訊控制器,一個(gè)通訊CPU和一個(gè)收發(fā)機(jī)TC。CAN控制器執(zhí)行在CAN協(xié)議中規(guī)定的所有機(jī)理。根據(jù)CAN技術(shù)規(guī)范2.0這些機(jī)理包括·報(bào)文過濾·包形成·總線訪問控制·故障檢測·故障信號(hào)發(fā)生·報(bào)文確認(rèn)·同步收發(fā)機(jī)執(zhí)行節(jié)點(diǎn)與傳輸媒體的物理連接;電耦合的參數(shù)在用于高速通訊的ISO/DIS 11898道路車輛一數(shù)字信息互換一控制器區(qū)域網(wǎng)絡(luò)(CAN)中有規(guī)定。微控制器用作通訊CPU;微控制器啟動(dòng)數(shù)據(jù)的發(fā)射,選擇接收的數(shù)據(jù)和傳遞數(shù)據(jù)以供處理。此外,根據(jù)本發(fā)明方法實(shí)現(xiàn)的冗余管理和故障控制(監(jiān)視器機(jī)理,故障通知…)由通訊CPU執(zhí)行。
總線結(jié)構(gòu)或星形結(jié)構(gòu)可以用作總線技術(shù)。例如絞合對(duì)和同軸電纜和光波導(dǎo)的兩個(gè)電傳輸媒體可以被使用。必須根據(jù)由CAN協(xié)議所規(guī)定的對(duì)節(jié)點(diǎn)數(shù)的限制,最大數(shù)據(jù)速率和總線長度進(jìn)行選擇布局和傳輸媒體。
通訊CPU之間的節(jié)點(diǎn)內(nèi)部的信息交換經(jīng)過并行總線進(jìn)行??梢匀芜x地使用一個(gè)附加的串行連接部分。上述部件用作控制網(wǎng)絡(luò)通訊;另外的處理單元通過并行總線與系統(tǒng)相連。
根據(jù)本發(fā)明的方法包括系統(tǒng)故障的管理機(jī)理。為了闡明運(yùn)行方法,以下給出局域網(wǎng)絡(luò)中可能的故障情況。
通訊部件的故障和失效情況可能分為以下兩類·全局故障阻止所有網(wǎng)絡(luò)用戶的通訊和從而中斷整個(gè)系統(tǒng)的功能。全局故障一方面可能直接由于線路故障而發(fā)生和間接由于連接部件的總線阻塞故障而發(fā)生?!熬€路故障”一詞用于指總線線路的短路和中斷。總線阻塞部件故障可以是CAN控制器和收發(fā)機(jī)的總線側(cè)輸出的短路。這些故障由于一參數(shù)電壓電平的產(chǎn)生導(dǎo)致總線的持續(xù)堵塞。而且,總線可能由高優(yōu)先級(jí)報(bào)文的持續(xù)發(fā)射而被阻塞接收其他報(bào)文。通過切換到一冗余總線系統(tǒng)使全局故障可以被容許。
·局部故障從系統(tǒng)范圍通訊中除去一節(jié)點(diǎn)和根據(jù)故障用戶的功能導(dǎo)致對(duì)整個(gè)系統(tǒng)功能或多或少的不利影響?!熬植抗收稀币辉~包括CAN控制器,CPU和收發(fā)機(jī)的所有故障,這些故障使這些部件不能發(fā)揮功能,但并不使其他總線用戶的數(shù)據(jù)通訊量處于危險(xiǎn)境地。例如這些故障包括CAN模塊和收發(fā)機(jī)之間以及收發(fā)機(jī)和總線線路之間的線路故障。而且,它們包括導(dǎo)致數(shù)據(jù)丟失或竄改的內(nèi)部模塊故障。局部故障可以采用部件的冗余結(jié)構(gòu)而被容許。
以下說明故障情況和正常運(yùn)行之間的區(qū)別。正常運(yùn)行應(yīng)理解為包括由CAN協(xié)議的故障機(jī)理所容許的瞬時(shí)傳輸和部件故障的無故障運(yùn)行狀態(tài)。
基于本發(fā)明方法的分布系統(tǒng)容許在通訊部件范圍內(nèi)全局和局部故障。這是通過雙總線結(jié)構(gòu)和通訊CPU,CAN控帛器和收發(fā)機(jī)連接部件的冗余實(shí)現(xiàn)來達(dá)到的。一個(gè)突出的優(yōu)點(diǎn)是切換到冗余部件而保持分布數(shù)據(jù)庫的一致性的可能性。這樣,在故障發(fā)生后為恢復(fù)正確系統(tǒng)狀態(tài)的復(fù)雜恢復(fù)措施被大部分地避免。本發(fā)明方法的基礎(chǔ)是將在以下結(jié)合實(shí)例說明的主動(dòng)故障檢測和信號(hào)發(fā)出機(jī)理。
在正常運(yùn)行時(shí),整個(gè)過程數(shù)據(jù)通訊通過總線系統(tǒng)(此處為總線1,見圖2)?!翱偩€系統(tǒng)”一詞可以理解為總線線路和有關(guān)的CPU,CAN控制器和收發(fā)機(jī)連接部件。在正常運(yùn)行時(shí),總線系統(tǒng)2僅僅用于傳輸其部件的狀態(tài)報(bào)告和其他報(bào)文。連接模塊2的通訊CPU臨視連接模塊1以及其節(jié)點(diǎn)的運(yùn)行性能,從而實(shí)現(xiàn)監(jiān)視處理器的功能。同樣,連接部分2由CPU1監(jiān)視。假如在總線系統(tǒng)1中發(fā)生一故障,故障檢測監(jiān)視處理器借助經(jīng)過總線系統(tǒng)2傳輸一故障報(bào)告,通知其他網(wǎng)絡(luò)用戶,這樣實(shí)現(xiàn)監(jiān)視器總線的功能。故障報(bào)文請(qǐng)求所有網(wǎng)絡(luò)節(jié)點(diǎn)(假如在進(jìn)一步系統(tǒng)檢查后適當(dāng)?shù)幕?阻塞總線系統(tǒng)1和經(jīng)過總線2處理過程數(shù)據(jù)通訊量。
假如CPU1在總線系統(tǒng)2中檢測到一故障,通過總線系統(tǒng)1發(fā)布故障報(bào)告,但它不導(dǎo)致總線之間切換,因?yàn)檫^程數(shù)據(jù)通訊量不受影響。因此兩個(gè)總線系統(tǒng)在檢測各自的另一系統(tǒng)中故障時(shí)用作監(jiān)視器總線(見圖3)。
根據(jù)所述的程序,通訊CPU實(shí)現(xiàn)五個(gè)任務(wù)·在正常運(yùn)行時(shí)控制通訊·監(jiān)視節(jié)點(diǎn)內(nèi)另一總線的連接模塊的功能·監(jiān)視其本身連接部件的功能·在檢測到另一總線系統(tǒng)中故障后控制故障報(bào)告的傳輸·切換過程的協(xié)調(diào)根據(jù)出現(xiàn)一方面是CPU故障,還是另一方面是CAN控制器,收發(fā)機(jī)或線路故障,故障檢測和信號(hào)發(fā)生過程是相互有區(qū)別的。
線路故障和CAN控制器或收發(fā)機(jī)誤動(dòng)作通常表現(xiàn)為總線報(bào)文的竄改和運(yùn)用CAN協(xié)議的即在CAN模塊中故障檢測機(jī)理發(fā)現(xiàn)的。發(fā)現(xiàn)這種故障的CAN控制器破壞故障報(bào)文,而通過傳輸故障幀使傳輸仍在進(jìn)行(見上)。同時(shí),所有網(wǎng)絡(luò)節(jié)點(diǎn)的故障計(jì)數(shù)器增量。假如出現(xiàn)局部故障,根據(jù)CAN技術(shù)規(guī)范故障節(jié)點(diǎn)的故障計(jì)數(shù)器增加8,另一CAN控制器的故障計(jì)數(shù)器增1,因此,故障的控制器首先進(jìn)入被動(dòng)故障狀態(tài)。假如CAN控制器的故障計(jì)數(shù)器達(dá)到值96,它向其通訊CPU傳輸故障中斷。這個(gè)中斷指示極大地中斷總線通訊量,和通知CPUCAN控制器可能在不久進(jìn)入被動(dòng)狀態(tài)(故障計(jì)數(shù)器狀態(tài)127)。在收到故障中斷后,通訊CPU向有關(guān)的監(jiān)視處理器報(bào)告該中斷。監(jiān)視處理器現(xiàn)在通過其總線系統(tǒng)(現(xiàn)在為監(jiān)視器總線)啟動(dòng)傳輸故障通知。
這方法的優(yōu)點(diǎn)事實(shí)上在于在過程總線故障情況下執(zhí)行切換過程,而故障節(jié)點(diǎn)的CAN控制器仍處于主動(dòng)故障狀態(tài)(故障計(jì)數(shù)器狀態(tài)≤127)。因此這控制器繼續(xù)破壞所檢測到的故障的報(bào)文,直至切換過程;因而直至切換沒有任何報(bào)文丟文,沒有任何故障報(bào)文被處理和沒有任何報(bào)文被復(fù)制。這樣,實(shí)現(xiàn)在故障情況下保持?jǐn)?shù)據(jù)一致性的先決條件。而且,馬上得知在整個(gè)系統(tǒng)內(nèi)節(jié)點(diǎn)故障和故障定位,這在通常CAN系統(tǒng)(見上)中不是如此的。在總線和通訊CPU之間部件(收發(fā)機(jī),CAN芯片和連線)中發(fā)生的故障未被故障檢測的CAN功能所覆蓋,根據(jù)本發(fā)明方法運(yùn)用附加監(jiān)視機(jī)理加以檢測。這機(jī)理以通訊CPU的軟件實(shí)現(xiàn),它提供對(duì)部件監(jiān)視的循環(huán)功能。當(dāng)發(fā)生一故障時(shí),故障檢測CPU繼而通知有關(guān)的監(jiān)視處理器,監(jiān)視處理器通過經(jīng)過監(jiān)視器總線傳輸有關(guān)故障的故障報(bào)文,通知其他節(jié)點(diǎn)。
在CAN協(xié)議中沒有提供對(duì)通訊CPU范圍中故障的檢測和處理,根據(jù)本發(fā)明方法需要附加的執(zhí)行過程。在正常運(yùn)行時(shí),每CPU向有關(guān)的監(jiān)視處理器發(fā)送循環(huán)生存信號(hào)。假如這些信號(hào)沒有發(fā)生,這指示CPU有故障。假如過程總線的CPU受影響,監(jiān)視處理器通過發(fā)生故障報(bào)告啟動(dòng)切換過程(見上)。以這樣方法選擇生存信號(hào)的周期,使得故障切換和切換盡可能不丟失報(bào)文地發(fā)生。除了運(yùn)用監(jiān)視處理器監(jiān)視外,通訊CPU執(zhí)行自測試。假如自測試檢測到誤動(dòng)作,通知監(jiān)視處理器,從而啟動(dòng)發(fā)送故障報(bào)告。
在特定部件故障情況時(shí),在一些情況下不可能完全排除在誤動(dòng)作發(fā)生和切換過程之間報(bào)文丟失。例如假如故障等待時(shí)間大于報(bào)文發(fā)送持續(xù)時(shí)間,就可能發(fā)生這種情況,在這些情況時(shí)要提供恢復(fù)一致系統(tǒng)狀態(tài)的恢復(fù)措施。
總之,導(dǎo)致切換到冗余部件的準(zhǔn)則可以分類如下·發(fā)生CAN控制器的故障被動(dòng)中斷·通訊CPU的生存信號(hào)發(fā)生故障·CPU自測試程序檢測到CPU故障·CPU監(jiān)視程序檢測到CAN控制器,收發(fā)機(jī)或連接部分故障。
假如過程總線的部件有故障,才發(fā)生切換。否則,另一系統(tǒng)用戶僅僅被通知故障。
權(quán)利要求
1.在局域網(wǎng)絡(luò)中具有嚴(yán)格實(shí)時(shí)要求的信息的可靠和容錯(cuò)傳輸方法,使用基于雙總線體系結(jié)構(gòu),即為冗余總線系統(tǒng)的主動(dòng)故障檢測和通知機(jī)理,其特征在于a)在無故障運(yùn)行時(shí),一個(gè)總線系統(tǒng)的總線作為過程總線傳輸所有過程數(shù)據(jù),和在無故障運(yùn)行時(shí)另一總線系統(tǒng)的總線傳輸其部件的狀態(tài)信息和其他信息,b)在另一總線發(fā)生故障情況下每一總線用作監(jiān)視器總線,用于通知所有網(wǎng)絡(luò)用戶(網(wǎng)絡(luò)節(jié)點(diǎn))故障發(fā)生,b1)在過程總線發(fā)生故障情況下通知故障觸發(fā)所有網(wǎng)絡(luò)節(jié)點(diǎn)切換到另一總線系統(tǒng),因而過程數(shù)據(jù)在無故障的總線上繼續(xù)傳輸,和b2)在不是過程總線的總線發(fā)生故障情況下通知故障不觸發(fā)任何切換,c)所使用的網(wǎng)絡(luò)節(jié)點(diǎn)全都有兩個(gè)完整的總數(shù)連接部分—包括通訊CPU,通訊控制器和收發(fā)機(jī),c1)每個(gè)通訊CPU用作監(jiān)視處理器,其功能為監(jiān)視其節(jié)點(diǎn)的另一連接部分和監(jiān)視其連接部件,和c2)在檢測到其節(jié)點(diǎn)另一連接部分的故障以后,通訊CPU啟動(dòng)故障報(bào)文經(jīng)過其總線的傳輸。
2.根據(jù)權(quán)利要求1的方法,其特征在于使用功能為監(jiān)視所有部件和檢測所有類型故障的故障檢測機(jī)理,a)一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的兩個(gè)通訊CPU循環(huán)地互相交換生存信號(hào),以檢測CPU故障,和b)當(dāng)檢測到參數(shù)傳輸故障,通訊控制器向它連接的通訊CPU傳輸一故障中斷,這通訊CPU接著通知該節(jié)點(diǎn)另一連接部分的CPU,和c)通訊CPU通過執(zhí)行測試程序執(zhí)行循環(huán)功能,監(jiān)視它連接的部件,和d)通訊CPU執(zhí)行自測試程序,從而檢測其本身的故障。
3.根據(jù)權(quán)利要求1和2的方法,其特征在于在過程總線發(fā)生故障情況下一致地發(fā)生切換,a)在檢測到故障和可能的切換之間的故障等待時(shí)間在大多數(shù)故障情況下如此之短,以致不會(huì)發(fā)生任何報(bào)文丟失,和b)故障復(fù)蓋范圍如此之高,以致不會(huì)有任何報(bào)文的竄改未被發(fā)現(xiàn),和c)在可能的報(bào)文丟失,竄改或復(fù)制的情況下恢復(fù)一致的系統(tǒng)狀態(tài)的恢復(fù)機(jī)理。
4.根據(jù)以上任一權(quán)利要求的方法,其特征在于兩個(gè)總線系統(tǒng)都使用CAN傳輸協(xié)議,a)使用CAN的故障計(jì)數(shù)量機(jī)理,a1)故障的CAN控制器破壞已被檢測為故障的報(bào)文,因而導(dǎo)致傳輸?shù)倪B續(xù)重復(fù),直至故障計(jì)數(shù)器達(dá)到狀態(tài)127,和a2)在故障計(jì)數(shù)器狀態(tài)96時(shí)已從CAN控制器傳輸?shù)紺PU的故障中斷啟動(dòng)故障報(bào)文經(jīng)過監(jiān)視處理器傳輸至監(jiān)視器總線,和a3)由故障報(bào)文可能觸發(fā)的所有網(wǎng)絡(luò)用戶切換到無故障的總線,而在故障總線上傳輸仍被迫重復(fù),因此不發(fā)生任何報(bào)文丟失。
全文摘要
本發(fā)明涉及在局域網(wǎng)絡(luò)中在嚴(yán)格實(shí)時(shí)條件下容錯(cuò)通訊方法,使用雙總線體系結(jié)構(gòu),用于報(bào)告故障和容許全局總線故障。為了在故障情況下保持一致性和為了遵守有關(guān)數(shù)據(jù)傳輸?shù)臅r(shí)限,提出一種主動(dòng)故障檢測和通知機(jī)理,在無故障運(yùn)行時(shí)所有過程數(shù)據(jù)在其中一個(gè)冗余總線系統(tǒng)中傳輸,和狀態(tài)信息在另一總線系統(tǒng)中傳輸。在故障情況下,每條總線用作監(jiān)視器總線,從而通知網(wǎng)絡(luò)用戶在各自另一總線系統(tǒng)中發(fā)生的故障。該方法適用于與過程有關(guān)的控制和自動(dòng)系統(tǒng)。
文檔編號(hào)H04L12/40GK1136250SQ96103130
公開日1996年11月20日 申請(qǐng)日期1996年3月15日 優(yōu)先權(quán)日1995年3月16日
發(fā)明者E·迪馬, H·D·科斯, H·希爾馬 申請(qǐng)人:Abb.專利有限公司