亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種快速可靠的主控冗余及切換機制的設(shè)計與實現(xiàn)

        2022-07-08 13:29:42周學勛
        控制與信息技術(shù) 2022年3期
        關(guān)鍵詞:指令機制故障

        陸 琦,郝 波,周學勛

        (中車株洲電力機車研究所有限公司, 湖南 株洲 412001)

        0 引言

        列車通信網(wǎng)絡(luò)主要用于列車控制、狀態(tài)監(jiān)視、故障診斷、車載信息服務(wù)及視頻監(jiān)控等方面的數(shù)據(jù)傳輸,是保證列車行車安全與提升軌道交通服務(wù)質(zhì)量水平的重要系統(tǒng)之一[1]。在機箱式結(jié)構(gòu)列車通信網(wǎng)絡(luò)系統(tǒng)中,主控板通過背板總線和IO子板進行數(shù)據(jù)交互,實現(xiàn)數(shù)據(jù)的收集、分析、處理以及控制指令發(fā)送的功能[2];其作為整個系統(tǒng)的“大腦”,存在單點失效隱患,一旦發(fā)生故障,會引起整個系統(tǒng)失效甚至癱瘓,嚴重影響行車安全,因此可采用冗余主控板架構(gòu)來提高系統(tǒng)的可靠性。兩塊主控板互相監(jiān)測對方的狀態(tài),一旦工作中的主控板發(fā)生故障,備用主控板就能立刻接管整個系統(tǒng)的工作,實現(xiàn)快速無縫的切換[3-4]。雖然冗余主控板的架構(gòu)可用來提高系統(tǒng)的可靠性,但如果冗余主控板之間缺乏一種合理的競爭以及切換機制的約束,反而會導致系統(tǒng)控制的混亂。因此,需要設(shè)計一種快速可靠的機制來保障系統(tǒng)運行的正確性和可靠性[5-6]。

        目前比較常規(guī)的切換方法是兩個互為冗余的處理器通過相應的協(xié)議進行互相監(jiān)視,比如監(jiān)視對方的心跳和狀態(tài)等[7]。但這種方法有一定的弊端:CPU的任務(wù)受資源占用和調(diào)度優(yōu)先級的影響,監(jiān)視程序有失效的風險;實時性不強,如需要進行主備切換,切換時間過長,可能會出現(xiàn)短暫的系統(tǒng)紊亂現(xiàn)象。為了提高冗余系統(tǒng)的可靠性,本文提出一種基于可編程邏輯器件(complex programmable logic device,CPLD)實現(xiàn)主控冗余切換的機制,并進行了相關(guān)的通信協(xié)議和切換狀態(tài)機的設(shè)計。由于CPLD具有可并行操作的特點,相比CPU,其可實現(xiàn)異常情況下更快速的主控切換,實時性大幅提高,且平穩(wěn)的冗余切換機制不會帶來錯誤切換、頻繁切換等問題,提高了系統(tǒng)的可靠性。

        1 冗余主控板架構(gòu)及通信協(xié)議

        冗余主控板架構(gòu)如圖1所示,兩塊主控板被分別插在機箱背板的不同槽位,并通過背板上硬線實現(xiàn)兩塊主控板CPLD的交叉連接。

        圖1 主控板冗余示意圖Fig.1 Schematic diagram of main control redundancy

        通過4根硬線可進行冗余主控板之間的全雙工通信,一個主控板的輸出是另一個主控板的輸入,具體如表1所示。

        表1 信號說明Tab.1 Signal description

        在冗余主控板之間設(shè)計一種通信協(xié)議,可將自身的狀態(tài)信息傳送給對方;對方主控板可接收此狀態(tài)信息,并與自身的狀態(tài)信息進行比較。上電初始化時,可抉擇出性能更好的主控板對系統(tǒng)進行控制;運行過程中,可判斷當前工作的主控板是否出現(xiàn)故障,若有故障,則需進行切換,由備用主控板接管系統(tǒng)。主控板的故障大致有以下幾種類型:CPU啟動異常、CPU生命信號異常和CPLD生命信號異常等。另外,也可根據(jù)實際需要,主動進行切換主控板的操作。圖2示出主控板冗余切換邏輯。

        圖2 主控板冗余切邏輯Fig.2 Redundant logic of main control board

        下面對整個主備切換過程進行簡單的邏輯梳理和說明:

        (1)主控板初始化爭主。兩塊主控板同時啟動,若初始化狀態(tài)都正常,則取槽位號小的主控板為工作主控板,槽位號大的為備用主控板;若槽位號小的主控板初始化狀態(tài)異常,則取槽位號大且狀態(tài)正常的主控板為工作主控板。

        (2)工作主控板切主。工作主控板在運行過程中一旦狀態(tài)異常,則隨即轉(zhuǎn)入錯誤狀態(tài),放棄對整個系統(tǒng)的控制,并將自身狀態(tài)信息發(fā)送至備用主控板;即使之后狀態(tài)正常,其也只能先轉(zhuǎn)為備用主控板。

        (3)備用主控板升主。當備用主控板獲知工作主控板狀態(tài)異常后,若自身狀態(tài)正常,則立即由備用狀態(tài)轉(zhuǎn)為工作狀態(tài),接管整個系統(tǒng)。

        冗余主控板之間狀態(tài)信息的傳輸。采用類似串行外設(shè)接口(serial peripheral interface,SPI)的通信方式[8],通信數(shù)據(jù)幀結(jié)構(gòu)(圖3)包括幀頭、槽位號、CPLD生命信號、主備狀態(tài)和CRC校驗[9],具體如下:

        圖3 通信數(shù)據(jù)幀格式Fig.3 Communication data frame format

        (1)幀頭,字節(jié)長度為8 bit,用于實現(xiàn)數(shù)據(jù)幀的同步與識別。

        (2)槽位號,字節(jié)長度為6 bit,為主控板槽位信息,同等條件下槽位號小的主控板優(yōu)先。

        (3)生命信號,字節(jié)長度為7 bit,為CPLD生命信號。

        (4)主備狀態(tài),字節(jié)長度為3 bit,包括初始化狀態(tài)、工作主狀態(tài)、備用主狀態(tài)、錯誤狀態(tài)等信息。

        (5)CRC校驗,字節(jié)長度為8 bit,用于數(shù)據(jù)校驗。

        冗余主控板之間的通信時序如圖4所示。其中,一根線傳輸時鐘信號(clk_out),另一根線傳輸數(shù)據(jù)信號(d_out);交叉連接之后,一塊主控板輸出的時鐘和數(shù)據(jù)信號能輸入另一塊主控板并被采集。發(fā)送數(shù)據(jù)時,在時鐘的下降沿發(fā)送有效的數(shù)據(jù);接收數(shù)據(jù)時,確保在時鐘的上升沿能采集到正確的有效數(shù)據(jù)[10]。數(shù)據(jù)以幀為單位被周期性地發(fā)送,傳輸周期可根據(jù)應用需求進行調(diào)整,從而實現(xiàn)快速無縫地切換。

        圖4 通信時序示意圖Fig.4 Schematic diagram of communication sequences

        2 切換機制的設(shè)計

        兩塊主控板的切換機制非常重要,錯誤切換、頻繁切換、過慢切換都會導致系統(tǒng)錯誤,降低系統(tǒng)的安全性和可靠性。主備切換機制由CPLD內(nèi)所設(shè)計的狀態(tài)機實現(xiàn)[11-12]。根據(jù)冗余主控板的競爭和切換條件,將整個狀態(tài)機流轉(zhuǎn)流程按以下幾種情況分別進行闡述。

        2.1 初始化狀態(tài)流轉(zhuǎn)

        初始化分兩種情況:上電啟動初始化和軟復位啟動初始化。

        當兩塊主控板上電啟動時,其同時處于初始化狀態(tài)。若啟動狀態(tài)都正常,取槽位號小的主控板為工作主控板,槽位號大的為備用主控板。若某個主控板啟動狀態(tài)異常,則進入故障狀態(tài),另外一塊正常啟動的主控板為工作主控板。

        某主控板軟復位重啟時,初始化成功后則需判斷對方主控板狀態(tài):若對方已是工作主控板,則進入備用主控板狀態(tài);若對方狀態(tài)異常,則升為工作主控板;若對方剛好也處于初始化狀態(tài),則參照上電啟動進行判斷。

        初始化狀態(tài)機流轉(zhuǎn)流程如圖5所示,具體如下:

        圖5 初始化狀態(tài)流轉(zhuǎn)示意圖Fig.5 Schematic diagram of the initialization state flow

        (1)IDLE(初始化狀態(tài))。上電或軟件復位重啟時,主控板處于初始化狀態(tài),不進行控制和數(shù)據(jù)處理。若啟動正常,進入CPU_ON狀態(tài);否則,則進入CPU_DOWN狀態(tài)。

        (2)CPU_DOWN(CPU初始化異常狀態(tài))。該狀態(tài)下,主控板被置為錯誤狀態(tài),并將此狀態(tài)信息發(fā)送至對方主控板;若之后CPU恢復正常,再轉(zhuǎn)入CPU_ON狀態(tài)。

        (3)CPU_ON(CPU初始化正常狀態(tài))。該狀態(tài)下,若收到對方主控板發(fā)送的數(shù)據(jù),則進入COMP狀態(tài);若長時間未獲取對方主控板的狀態(tài)信息,則認為對方主控板未插入或未正常工作,于是進入MASTER狀態(tài)。

        (4)COMP(比較狀態(tài))。該狀態(tài)下,系統(tǒng)首先通過幀頭和CRC校驗信息判斷所接收的數(shù)據(jù)幀是否正確,若正確,則獲取對方的槽位號、CPLD生命信號及主備狀態(tài)等信息,并與自身狀態(tài)信息進行比較。自身槽位號小,則優(yōu)先級高,如果對方已是工作主控板狀態(tài),則進入備用主控板狀態(tài)(SLAVE);否則,進入工作主控板狀態(tài)(MASTER)。若自身槽位號大,則優(yōu)先級低,當且僅當對方主控板的狀態(tài)為錯誤時,才進入MASTER狀態(tài);否則,進入SLAVE狀態(tài)。

        若接收的數(shù)據(jù)幀不正確,為防止出現(xiàn)多主的情況,暫時還是會進入SLAVE狀態(tài),等待下一幀數(shù)據(jù)的到來,但會產(chǎn)生中斷告知處理器,兩個主控板之間的通信不可信,無法抉擇出工作主控板;若之后多次接收到的數(shù)據(jù)幀都不正確,則需通知上層應用檢查硬件狀態(tài)。

        (5)SLAVE狀態(tài)。該狀態(tài)下,備用主控板一直監(jiān)測自身以及工作主控板的狀態(tài)信息;若工作主控板有異常情況,則需要進行升主操作。

        (6)MASTER狀態(tài)。該狀態(tài)下,工作主控板接管整個系統(tǒng)的工作且需實時監(jiān)測自身的狀態(tài);若有異常,則要進行切主操作。

        2.2 備用主控板狀態(tài)流轉(zhuǎn)

        主控板處于備用主控板狀態(tài)時,需實時監(jiān)測自身以及工作主控板的狀態(tài)信息。若工作主控板有異常但自身正常,則需要進行升主操作。備用主控板的狀態(tài)機流轉(zhuǎn)流程如圖6所示,具體如下:

        圖6 備用主控板狀態(tài)流轉(zhuǎn)示意Fig.6 Schematic diagram of the slave state flow

        (1)SLAVE狀態(tài)。當監(jiān)測到SLAVE異常時,進入ERROR狀態(tài),并將此故障狀態(tài)信息發(fā)送至工作主控板;若長時間未獲取工作主控板的狀態(tài)信息,則認為工作主控板已掉電或異常,進入MASTER狀態(tài);接收到工作主控板發(fā)送的數(shù)據(jù)后,進入工作主控板狀態(tài)信息獲?。–OMP1)狀態(tài),獲取工作主控板的狀態(tài)信息。

        (2)COMP1狀態(tài)。該狀態(tài)下,首先通過幀頭和CRC校驗判斷所接收的幀是否正確,若正確,則獲取工作主控板的狀態(tài)信息。當工作主控板的狀態(tài)為錯誤時,進入MASTER狀態(tài);否則,進入SLAVE狀態(tài)。若接收的數(shù)據(jù)幀不正確,為防止出現(xiàn)多主的情況,暫時還是會進入SLAVE狀態(tài),等待下一幀數(shù)據(jù)的到來,但是會產(chǎn)生中斷告知處理器,所接收到的數(shù)據(jù)幀不可信。若之后多次接收到的數(shù)據(jù)幀都不正確,則需通知上層應用檢查硬件狀態(tài)。

        (3)MASTER狀態(tài)。該狀態(tài)下,備用主控板作為工作主控板接管整個系統(tǒng)的工作。

        (4)ERROR狀態(tài)。該狀態(tài)下,需將“狀態(tài)異常”信息告知工作主控板;當狀態(tài)恢復正常后,隨即進入SLAVE狀態(tài)。

        2.3 工作主控板狀態(tài)流轉(zhuǎn)

        主控板為工作主控板狀態(tài)時,接管整個系統(tǒng)的工作。此時主設(shè)備需實時監(jiān)測自身的狀態(tài),且需接受應用的切主指令,若自身狀態(tài)有異?;蚪邮盏角兄髦噶?,則要進行切主操作。主狀態(tài)流轉(zhuǎn)流程如圖7所示,具體如下:

        圖7 主狀態(tài)流轉(zhuǎn)示意圖Fig.7 Schematic diagram of the master state flow

        (1)MASTER狀態(tài)。該狀態(tài)下,主控板接管整個系統(tǒng)的工作,當自身狀態(tài)異常時,進入ERROR狀態(tài),并將此故障狀態(tài)發(fā)送至備用主控板;當應用出現(xiàn)切換指令時,進入切換狀態(tài)(SWITCH),并判斷備用主控板是否符合升主條件。

        (2)SWITCH狀態(tài)。該狀態(tài)下,應判斷SLAVE狀態(tài),若其正常,則進入切主狀態(tài)(SW_S);若異常,則進入保持主狀態(tài)(HOLD_MASTER)。

        (3)HOLD_MASTER狀態(tài)。在得到應用軟件切主指令后,發(fā)現(xiàn)SLAVE狀態(tài)異常,不滿足切換條件,需維持主狀態(tài),且告知應用不具備切主條件,隨即進入MASTER狀態(tài)。

        (4)SW_S狀態(tài)。在得到應用軟件的切主指令后,發(fā)現(xiàn)備用主控板狀態(tài)正常,滿足切主條件,在切換成功后隨即進入SLAVE狀態(tài)。

        (5)SLAVE狀態(tài)。此時工作主控板完成切主,處于SLAVE狀態(tài),并監(jiān)測新的工作主控板的狀態(tài)信息。

        (6)ERROR狀態(tài)。此狀態(tài)下,主控板自身狀態(tài)異常且需通知備用主控板;當自身狀態(tài)恢復正常后,隨即進入SLAVE狀態(tài)。

        由于數(shù)據(jù)幀的通信周期為亞毫秒級別,因此系統(tǒng)能快速地獲取、比較兩塊主控板的狀態(tài)信息,并在主控板故障時迅速實現(xiàn)冗余主控板的切換,做到無縫切換[8]。以上機制保證了上電初始狀態(tài)下主設(shè)備的正確競爭以及故障或應用切換條件下的有序安全的切換,大大提高了整個系統(tǒng)的安全性和可靠性。

        3 仿真

        功能仿真可以用來檢查設(shè)計行為的正確性,一般通過編寫測試平臺(testbench)來實現(xiàn)。測試平臺是給待驗證的設(shè)計添加激勵,并且通過仿真工具來觀察輸出響應是否符合設(shè)計要求[13]。為驗證上述切換機制的有效性和正確性,本文針對上述狀態(tài)機編寫測試平臺,并采用ModelSim仿真工具對切換過程中常見的幾種情況進行了功能仿真[14]。

        3.1 啟動過程

        上電,兩塊主控板都正常啟動,槽位號小的主控板經(jīng)過狀態(tài)對比后升級為工作主控板,槽位號大的主控板經(jīng)過狀態(tài)對比后進入備用主控板狀態(tài),如圖8和圖9所示。

        圖8 槽位號小的主控板啟動仿真Fig.8 Start-up simulation of the main control board with small slot number

        圖9 槽位號大的主控板啟動仿真Fig.9 Start-up simulation of the main control board with large slot number

        3.2 備用主控板監(jiān)視過程

        主控板處于備用狀態(tài),不斷地監(jiān)視工作主控板的狀態(tài)。若工作主控板狀態(tài)正常,則保持備用主控板狀態(tài)不變;若工作主控板狀態(tài)異常而備用主控板自身狀態(tài)正常,則備用主控板升級為工作主控板,如圖10和圖11所示。

        圖10 工作主控板狀態(tài)正常仿真Fig.10 Simulation as the status of the working main control board is normal

        圖11 工作主控板狀態(tài)異常仿真Fig.11 Simulation as the status of the working main control board is abnormal

        3.3 工作主控板狀態(tài)跳轉(zhuǎn)過程

        當主控板處于工作主控板狀態(tài),若應用使能切主指令,則其會進行切主判斷:若備用主控板狀態(tài)正常,則進行正常切主;若備用主控板狀態(tài)不正常,則通知系統(tǒng)“應用切主條件不滿足”,繼續(xù)保持工作主狀態(tài),如圖12和圖13所示。

        圖12 正常切主仿真Fig.12 Simulation of normal switching of the working main control board

        圖13 切主條件不滿足仿真Fig.13 Simulation as switching condition of the working main control board are not met

        4 實驗

        在實驗室中,取一個機箱,插入2塊功能正常的主控板并分別標識為A主控板(簡稱“A板”)和B主控板(簡稱“B板”),其中A板槽位號小。經(jīng)測試,背板硬線連接正常。正常運行時,A板為工作主控板,B板為備用主控板。針對本文提出的主控冗余及切換機制,主要進行上電啟動、故障切換和應用切主實驗,并記錄實驗結(jié)果。

        4.1 上電啟動測試

        主控板面板配有工作主控板指示燈,若主控板為工作主控板,則燈亮;若主控板為備用主控板,則燈滅。

        (1)正常啟動試驗

        試驗時,對插入互為冗余的A板和B板的機箱進行多次上下電啟動,觀察現(xiàn)象,要求“A板由于槽位號小而優(yōu)先級高,每次都競爭為工作主控板”。試驗結(jié)果顯示,每次啟動完成后,都是A板指示燈亮(指示為工作主控板),符合設(shè)計要求。

        (2)異常啟動試驗

        試驗時,將A板在啟動過程中卡滯,B板正常啟動,要求“雖然A板槽位號小,但啟動異常;B板優(yōu)先級低,正常啟動后監(jiān)測到A板異常,也會競爭為工作主控板”。試驗結(jié)果顯示,每次啟動完成后,都是B板上指示燈亮,符合設(shè)計要求。

        4.2 故障切主測試

        該測試分為以下步驟:

        (1)對正常運行的機箱,中止A板生命信號,要求“A板狀態(tài)異常,喪失主控資格;備用B板自身狀態(tài)正常,一旦監(jiān)測到A板狀態(tài)異常,B板則立即升級為工作主控板”。試驗結(jié)果顯示,中止A板生命信號后,A板立即發(fā)生切主動作,同時B板升級為工作主控板,符合設(shè)計要求。

        (2)將B板升級為工作主控板,恢復A板的生命信號,要求“雖然A板狀態(tài)恢復正常,但只要B板狀態(tài)正常,A板也只會先進入備用主控板狀態(tài),不會發(fā)生頻繁切主的情況”。試驗結(jié)果顯示,B板沒有發(fā)生切主動作,符合設(shè)計要求。

        (3)中止B板生命信號,要求“A板雖然狀態(tài)恢復正常,但只在B板狀態(tài)異常情況下才會進入工作主控板狀態(tài),不會發(fā)生錯誤切主的情況”。試驗結(jié)果顯示,中止生命信號后,B板立即發(fā)生切主動作,同時A板升級為工作主控板,符合設(shè)計要求。

        多次重復上述故障切主試驗過程,結(jié)果顯示,工作主控板沒有出現(xiàn)錯誤切換、頻繁切換現(xiàn)象。

        4.3 應用切主測試

        該測試過程如下:

        (1)對正常運行的機箱,在A板上輸入切主指令,要求“A板能響應切主指令且觀測到B板狀態(tài)正常后會切主進入備用主控板狀態(tài),同時B板升級為工作主控板”。試驗結(jié)果顯示,A板得到切主指令后,立即完成切主任務(wù),同時B板升級為工作主控板,符合設(shè)計要求。

        (2)若B板升為工作主控板,中止A板的生命信號,同時在B板上輸入切主指令,要求“B板響應切主指令,觀測到A板狀態(tài)異常,不會切主進入備用主控板狀態(tài),但保持為工作主控板”。試驗結(jié)果顯示,B板并沒有發(fā)生切主動作,且產(chǎn)生中斷并通知系統(tǒng)“應用切主條件不滿足”,符合設(shè)計要求。

        (3)恢復A板生命信號,同時在B板上輸入切主指令,要求“B板響應切主指令且觀測到A板狀態(tài)恢復正常后,B板進入備用主控板狀態(tài),A板升級為工作主控板”。試驗結(jié)果顯示,B板立即完成切主,且A板升級為工作主控板。

        經(jīng)實驗室測試,采用本機制后,異常工況下主控切換時間為亞毫秒級,相比既往系統(tǒng)數(shù)十毫秒的切換時間,實時性大幅提升。綜上可知,本機制不僅可實現(xiàn)更快速的主控切換,而且平穩(wěn)的冗余切換機制不會帶來錯誤切換、頻繁切換等問題,也提高了系統(tǒng)的可靠性。

        目前,此冗余機制已在城市軌道交通領(lǐng)域進行小批量應用且運行效果良好。

        5 結(jié)語

        本文提出一種快速、可靠的主控冗余及切換機制,其通過CPLD實現(xiàn),機箱內(nèi)的兩塊冗余主控板通過背板通信協(xié)議來實現(xiàn)互相監(jiān)測。仿真和應用結(jié)果顯示,采用該機制后,當系統(tǒng)主控板發(fā)生故障時,備用主控板能實現(xiàn)無縫切換,且再沒出現(xiàn)以往常見的多主、錯誤搶主、切換不及時等故障現(xiàn)象,大大提高了系統(tǒng)的安全性和可靠性。

        后續(xù)還可通過配置對所設(shè)計的切換機制進行故障模式注入,以適配不同應用場景需求,同時記錄主控切換原因并形成診斷日志,進一步提高可移植性和可診斷性。

        猜你喜歡
        指令機制故障
        聽我指令:大催眠術(shù)
        故障一點通
        ARINC661顯控指令快速驗證方法
        LED照明產(chǎn)品歐盟ErP指令要求解讀
        電子測試(2018年18期)2018-11-14 02:30:34
        自制力是一種很好的篩選機制
        文苑(2018年21期)2018-11-09 01:23:06
        奔馳R320車ABS、ESP故障燈異常點亮
        破除舊機制要分步推進
        故障一點通
        江淮車故障3例
        注重機制的相互配合
        日韩成精品视频在线观看| 欧美综合自拍亚洲综合百度| 深夜福利国产| 国产特黄1区2区3区4区| 日本久久精品视频免费| 国产精品专区一区二区av免费看| 白色白色视频在线观看| 日本在线观看不卡一区二区| 亚洲色一区二区三区四区| 久久久国产打桩机| 国产精品久久毛片av大全日韩| 福利网址在线观看| 日韩中文字幕一区二区高清 | 成人国产在线播放自拍| 成年男女免费视频网站点播| 免费观看国产短视频的方法| 麻豆tv入口在线看| 乱人伦视频中文字幕| 国产a级午夜毛片| 精品无码国产一二三区麻豆| 美国又粗又长久久性黄大片| 青青草视频是针对华人| 精品无码国产自产在线观看水浒传| 国产av无码专区亚洲av毛网站| 欧美激情内射喷水高潮| 91久久久久无码精品露脸| 91精品亚洲一区二区三区| 精品一区2区3区4区| 在线观看免费日韩精品| 影音先锋男人av鲁色资源网| 国产精品-区区久久久狼| 久久亚洲国产欧洲精品一| 青青草在线成人免费视频| 一区二区三区在线少妇| 西西午夜无码大胆啪啪国模| 亚洲av综合日韩| 综合精品欧美日韩国产在线| 国产一区二区在线观看我不卡| 精品国产亚洲第一区二区三区| 中文 在线 日韩 亚洲 欧美| 国产一级片毛片|