專利名稱:一種星載雙can總線節(jié)點故障自恢復系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種星載雙CAN總線節(jié)點故障自恢復系統(tǒng),屬于星載CAN總線技術(shù)領(lǐng) 域。
背景技術(shù):
CAN(ControIler Area Network)總線是一種串行通信的現(xiàn)場總線,具有可靠性 高、實時性好、抗干擾能力強、通信方式靈活、組網(wǎng)簡單等優(yōu)點,因此國內(nèi)外均已將其引入星 上電子系統(tǒng),甚至作為星上骨干網(wǎng)絡來完成星上設備間的信息傳遞。星上電子系統(tǒng)對CAN總線網(wǎng)絡節(jié)點通信的可靠性要求很高,為了提高可靠性,通 常每個通信節(jié)點都采用雙CAN總線,CAN總線A和CAN總線B。但由于目前的星載CAN總線 節(jié)點的電路模塊大多由非宇航級器件實現(xiàn),在軌情況下容易受到空間環(huán)境(尤其是空間粒 子)的影響而出現(xiàn)邏輯異常,導致通信異?;蛑袛唷橄?jié)點故障對總線通信的影響,目 前常用的故障檢測及處理方法包括兩方面措施一方面是與CAN總線控制器連接的微處理 器采用讀取的方式定期查詢CAN總線控制器的狀態(tài)寄存器,當狀態(tài)寄存器指示總線關(guān)閉或 總線出錯時,對總線控制器進行初始化;另一方面是與CAN總線控制器連接的微處理器采 用定時器對兩次總線響應(進入總線通訊中斷服務程序)的時間間隔進行計時,超過規(guī)定 時間后認為總線異常,對總線控制器進行初始化。上述方法存在以下問題故障檢測全部采 用軟件功能來實現(xiàn),檢測的可靠性和實時性相對較低;在某些故障情況下僅通過軟件重新 初始化總線A及總線B的CAN控制器不能使得兩個控制器恢復正常收發(fā)功能。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)解決問題是克服現(xiàn)有技術(shù)的不足,提供一種星載雙CAN總線節(jié)點 故障自恢復系統(tǒng),該系統(tǒng)是一種軟硬結(jié)合的星載雙CAN總線故障系統(tǒng),解決了故障檢測的 可靠性和實時性問題,同時確保故障自動解除。本發(fā)明的技術(shù)解決方案是一種星載雙CAN總線節(jié)點故障自恢復系統(tǒng),包括第一 CAN總線、第二 CAN總線、第 一 CAN總線收發(fā)器、第二 CAN總線收發(fā)器、第一 CAN總線控制器、第二 CAN總線控制器、中斷 處理單元、硬件看門狗和處理器;第一 CAN總線連接第一 CAN總線收發(fā)器,第一 CAN總線收發(fā)器連接第一 CAN總線 控制器,第一 CAN總線控制器連接處理器;第二 CAN總線連接第二 CAN總線收發(fā)器,第二 CAN 總線收發(fā)器連接第二 CAN總線控制器,第二 CAN總線控制器連接處理器;第一 CAN總線控制 器和第二 CAN總線控制器之間還連接有中斷處理單元,中斷處理單元連接硬件看門狗和處 理器,硬件看門狗連接處理器、第一 CAN總線控制器和第二 CAN總線控制器;第一 CAN總線收發(fā)器接收來自第一 CAN總線的信號并將該信號發(fā)送給第一 CAN總 線控制器,第一 CAN總線控制器接收到信號之后產(chǎn)生第一中斷信號并將第一中斷信號發(fā)送 給中斷處理單元;第二 CAN總線收發(fā)器接收來自第二 CAN總線的信號并將該信號發(fā)送給第二 CAN總線控制器,第二 CAN總線控制器接收到信號之后產(chǎn)生第二中斷信號并將第二中斷 信號發(fā)送給中斷處理單元;中斷處理單元將第一中斷信號和第二中斷信號進行邏輯與運算 產(chǎn)生數(shù)據(jù)接收中斷信號,并將數(shù)據(jù)接收中斷信號送入處理器的第一中斷端口中,同時,中斷 處理單元將所述數(shù)據(jù)接收中斷信號經(jīng)過脈沖生成邏輯單元的處理產(chǎn)生脈沖,送入硬件看門 狗中;硬件看門狗根據(jù)接收到的所述脈沖生成故障中斷信號,并將所述故障中斷信號同時 輸入到第一 CAN總線控制器中、第二 CAN總線控制器中和處理器的第二中斷端口中;當?shù)谝?CAN總線處于工作狀態(tài),第二 CAN總線處于非工作狀態(tài)時,若第一 CAN總線無故障,則第一 CAN總線控制器輸出的第一中斷信號為低電平信 號,第二 CAN總線控制器輸出的第二中斷信號為高電平,經(jīng)過中斷處理單元的處理,輸出的 數(shù)據(jù)接收中斷信號為低電平,硬件看門狗接收到低電平的數(shù)據(jù)接收中斷信號,輸出的故障 中斷信號為高電平,第一 CAN總線控制器和第二 CAN總線控制器接收到故障中斷信號的高 電平后不做處理;處理器的中斷端口均為低電平有效,則當處理器接收到的數(shù)據(jù)接收中斷 信號為低電平,故障中斷信號為高電平時,處理器正常工作,不對第一 CAN總線控制器和第 二 CAN總線控制器進行處理;若第一 CAN總線有故障,則第一 CAN總線控制器輸出的第一中斷信號為高電平信 號,第二 CAN總線控制器輸出的第二中斷信號為高電平,經(jīng)過中斷處理單元的處理,輸出的 數(shù)據(jù)接收中斷信號為高電平,硬件看門狗接收到高電平的數(shù)據(jù)接收中斷信號,輸出的故障 中斷信號為低電平,第一 CAN總線控制器和第二 CAN總線控制器接收到故障中斷信號的低 電平后,第一 CAN總線控制器和第二 CAN總線控制器均硬件復位;當處理器接收到的數(shù)據(jù)接 收中斷信號為高電平,故障中斷信號為低電平時,處理器發(fā)送信號給第一 CAN總線控制器 和第二 CAN總線控制器,通過重新配置第一 CAN總線控制器和第二 CAN總線控制器中寄存 器的值使得第一 CAN總線控制器和第二 CAN總線控制器軟件復位;當?shù)谝?CAN總線處于非工作狀態(tài),第二 CAN總線處于工作狀態(tài)時,若第二 CAN總線無故障,則第二 CAN總線控制器輸出的第二中斷信號為低電平信 號,第一 CAN總線控制器輸出的第一中斷信號為高電平,經(jīng)過中斷處理單元的處理,輸出的 數(shù)據(jù)接收中斷信號為低電平,硬件看門狗接收到低電平的數(shù)據(jù)接收中斷信號,輸出的故障 中斷信號為高電平,第一 CAN總線控制器和第二 CAN總線控制器接收到故障中斷信號的高 電平后不做處理;處理器的中斷端口均為低電平有效,則當處理器接收到的數(shù)據(jù)接收中斷 信號為低電平,故障中斷信號為高電平時,處理器正常工作,不對第一 CAN總線控制器和第 二 CAN總線控制器進行處理;若第二 CAN總線有故障,則第二 CAN總線控制器輸出的第二中斷信號為高電平信 號,第一 CAN總線控制器輸出的第一中斷信號為高電平,經(jīng)過中斷處理單元的處理,輸出的 數(shù)據(jù)接收中斷信號為高電平,硬件看門狗接收到高電平的數(shù)據(jù)接收中斷信號,輸出的故障 中斷信號為低電平,第一 CAN總線控制器和第二 CAN總線控制器接收到故障中斷信號的低 電平后,第一 CAN總線控制器和第二 CAN總線控制器均硬件復位;當處理器接收到的數(shù)據(jù)接 收中斷信號為高電平,故障中斷信號為低電平時,處理器發(fā)送信號給第一 CAN總線控制器 和第二 CAN總線控制器,通過重新配置第一 CAN總線控制器和第二 CAN總線控制器中寄存 器的值使得第一 CAN總線控制器和第二 CAN總線控制器軟件復位。所述處理器配置第一 CAN總線控制器和第二 CAN總線控制器中的寄存器過程如下(1)通過配置CAN控制器的中斷控制寄存器的值來清除CAN控制器中斷;(2)通過配置CAN控制器中的復位控制寄存器的值來使得CAN控制器進入復位狀 態(tài);(3)通過配置CAN控制器中相應的工作參數(shù)配置寄存器的值來設置CAN控制器的 工作參數(shù);(4)通過配置CAN控制器中的接收中斷寄存器的值使能CAN控制器接收中斷;( 通過配置CAN控制器中的復位控制寄存器的值使得CAN控制器退出復位狀態(tài), 進入正常狀態(tài)。
本發(fā)明與現(xiàn)有技術(shù)相比的有益效果是(1)采用硬件邏輯電路結(jié)合硬件看門狗對星載雙CAN總線節(jié)點總線控制器的數(shù)據(jù) 接收中斷信號進行監(jiān)測,進而實現(xiàn)了節(jié)點通信故障的有效檢測,監(jiān)測可靠性高;當雙總線通 信節(jié)點的當前通信通道存在故障不能正常接收數(shù)據(jù),進而不能產(chǎn)生數(shù)據(jù)接收中斷時,硬件 邏輯與操作單元便會保持高電平,從而不產(chǎn)生硬件看門狗的清狗信號,硬件看門狗在設定 的時間內(nèi)沒有收到清狗信號便產(chǎn)生硬件復位信號對CAN控制器進行復位,可使得雙CAN總 線的兩個CAN控制器可靠恢復到上電初始狀態(tài),本發(fā)明中使得CAN控制器復位是通過硬件 方式實現(xiàn),相比現(xiàn)有技術(shù)中的單純軟件復位方式,具有更高的可靠性,使得現(xiàn)有技術(shù)中的單 純使用軟件方式有時無法復位的問題得到了解決,提高了衛(wèi)星系統(tǒng)運行的可靠性。(2)本發(fā)明中當檢測到雙CAN總線通信節(jié)點的CAN控制器出現(xiàn)故障時,硬件看門狗 產(chǎn)生中斷信號通知處理器,處理器接收到該中斷信號后在中斷服務程序中對兩路CAN控制 器進行初始化,包括清除CAN控制器中斷,配置CAN控制器進入復位狀態(tài),設置CAN控制器 的工作參數(shù),使能CAN控制器接收中斷,配置CAN控制器退出復位狀態(tài),進入正常狀態(tài)等,實 現(xiàn)CAN控制器的故障恢復,由于采用了中斷方式來處理恢復過程,因此故障恢復實時性高, 本發(fā)明通過軟件復位和硬件復位兩種方式雙管齊下,給衛(wèi)星中CAN總線故障自恢復上了雙 重保險。
圖1為本發(fā)明一種星載雙CAN總線節(jié)點故障自恢復系統(tǒng)的原理框圖;圖2為本發(fā)明的硬件中斷處理模塊示意圖;圖3為本發(fā)明的軟件故障處理程序流程圖。
具體實施例方式下面結(jié)合附圖對本發(fā)明的具體實施方式
進行進一步的詳細描述。為了確保通信的可靠性,現(xiàn)有的星載CAN總線網(wǎng)絡普遍采用雙CAN總線網(wǎng)絡,即每 個CAN總線通信節(jié)點具備兩個通信通道,節(jié)點間通過兩條線纜連接,形成兩個獨立的通信 通道,當一個通信通道故障時,可以采用另一個通信通道通信,且任一時刻只有一個通信通 道在進行通信。每個通信通道各包括一個CAN總線通信控制器和一個CAN總線收發(fā)器,同時 每個通信節(jié)點還包括一個處理器。連接關(guān)系是通信節(jié)點的處理器和CAN總線控制器連接, CAN總線控制器和CAN收發(fā)器連接,CAN收發(fā)器連接CAN總線通信線纜。當一個通信通道故6障時,可以采用另一個通信通道通信,且任一時刻只有一個通信通道在進行通信。其中,CAN 總線收發(fā)器和CAN總線控制器都屬于常規(guī)電路,有專用芯片實現(xiàn)其功能。在故障檢測和恢 復方面,現(xiàn)有的手段包括兩方面措施一方面是與CAN總線控制器連接的微處理器采用讀 取的方式定期查詢CAN總線控制器的狀態(tài)寄存器,當狀態(tài)寄存器指示總線關(guān)閉或總線出錯 時,對總線控制器進行初始化;另一方面是與CAN總線控制器連接的微處理器采用定時器 對兩次總線響應(進入總線通訊中斷服務程序)的時間間隔進行計時,超過規(guī)定時間后認 為總線異常,對總線控制器進行初始化。現(xiàn)有技術(shù)方法存在以下問題故障檢測全部采用軟 件功能來實現(xiàn),檢測的可靠性和實時性相對較低;在某些故障情況下僅通過軟件重新初始 化總線A及總線B的CAN控制器不能使得兩個控制器恢復正常收發(fā)功能。如圖1所示,本發(fā)明是一種星載雙CAN總線節(jié)點故障自恢復系統(tǒng),該系統(tǒng)的特點是 采用了硬件看門狗對雙CAN總線的故障進行了檢測,并通過先硬件、后軟件的處理方式對 故障進行了自動恢復,相比現(xiàn)有技術(shù)純軟件復位更加有保證,可靠性更高。本發(fā)明的一種星 載雙CAN總線節(jié)點故障自恢復系統(tǒng),包括第一 CAN總線、第二 CAN總線、第一 CAN總線收發(fā) 器、第二 CAN總線收發(fā)器、第一 CAN總線控制器、第二 CAN總線控制器、中斷處理單元、硬件 看門狗和處理器,其中,第一 CAN總線指代CAN總線A,第二 CAN總線指代CAN總線B,第一 CAN總線收發(fā)器指代CAN總線收發(fā)器A,第二 CAN總線收發(fā)器指代CAN總線收發(fā)器B,第一 CAN總線控制器指代CAN總線控制器A,第二 CAN總線控制器指代CAN總線控制器B。其中,處理器可選用51系列單片機、ARM、DSP等,CAN總線收發(fā)器可采用飛利浦公 司的PCA82C250芯片,或其他功能相同的芯片,CAN控制器可采用飛利浦公司的SJA1000芯 片,或其他功能相同的芯片,硬件看門狗可采用MAXIM公司的MAX6746芯片或其它功能相 同的芯片,硬件看門狗通常有一個清狗信號輸入引腳和一個狗咬信號(復位信號)輸出引 腳,同時可設定(制造時設定或電路中設定)狗咬時間,當硬件看門狗的清狗信號輸入引腳 在狗咬時間內(nèi)收到清狗信號(通常為一個低電平脈沖),則不產(chǎn)生狗咬信號,輸出保持高電 平,當在狗咬時間內(nèi)沒有收到清狗信號,則產(chǎn)生狗咬輸出信號,通常為一個低電平脈沖。
第一 CAN總線(CAN-A)連接第一 CAN總線收發(fā)器(CAN總線收發(fā)器A),第一 CAN總 線收發(fā)器連接第一 CAN總線控制器(CAN總線控制器A),第一 CAN總線控制器連接處理器; 第二 CAN總線(CAN-B)連接第二 CAN總線收發(fā)器(CAN總線收發(fā)器B),第二 CAN總線收發(fā)器 連接第二 CAN總線控制器,第二 CAN總線控制器(CAN總線控制器B)連接處理器;第一 CAN 總線控制器和第二 CAN總線控制器之間還連接有中斷處理單元,中斷處理單元連接硬件看 門狗和處理器,硬件看門狗連接處理器、第一 CAN總線控制器和第二 CAN總線控制器;第一 CAN總線收發(fā)器接收來自第一 CAN總線的信號并將該信號發(fā)送給第一 CAN總 線控制器,第一 CAN總線控制器接收到信號之后產(chǎn)生第一中斷信號并將第一中斷信號發(fā)送 給中斷處理單元;第二 CAN總線收發(fā)器接收來自第二 CAN總線的信號并將該信號發(fā)送給第 二 CAN總線控制器,第二 CAN總線控制器接收到信號之后產(chǎn)生第二中斷信號并將第二中斷 信號發(fā)送給中斷處理單元;中斷處理單元將第一中斷信號和第二中斷信號進行邏輯與運算 產(chǎn)生數(shù)據(jù)接收中斷信號,并將數(shù)據(jù)接收中斷信號送入處理器的第一中斷端口(INT1引腳) 中,同時,中斷處理單元將所述數(shù)據(jù)接收中斷信號經(jīng)過脈沖生成邏輯單元的處理產(chǎn)生脈沖, 送入硬件看門狗中,脈沖生成邏輯單元屬于常規(guī)電路,可采用FPGA或數(shù)字門電路來實現(xiàn);硬件看門狗狗咬時間的選取要求大于兩次總線數(shù)據(jù)通信時間間隔,即硬件看門狗在超過兩次總線通信時間間隔的時間沒有收到清狗信號則產(chǎn)生狗咬信號,輸出低電平脈 沖,硬件看門狗所配置的狗咬低電平脈沖的寬度一方面需要滿足CAN控制器復位低電平脈 沖持續(xù)時間需求,另一方面還要滿足處理器中斷響應的脈寬需求,即,需要選取硬件看門狗 芯片的狗咬信號電平持續(xù)時間參數(shù)滿足此處的時間匹配需求。硬件看門狗根據(jù)接收到的所述脈沖生成故障中斷信號,并將所述故障中斷信號同 時輸入到第一 CAN總線控制器中、第二 CAN總線控制器中和處理器的第二中斷端口(INT2 引腳)中;對于第一 CAN總線控制器和第二 CAN總線控制器來說,上述輸入的故障中斷信號 也就是各自的復位信號,即復位信號A和復位信號B。當?shù)谝?CAN總線處于工作狀態(tài),第二 CAN總線處于非工作狀態(tài)時,若第一 CAN總線無故障,則第一 CAN總線控制器輸出的第一中斷信號為低電平信 號,第二 CAN總線控制器輸出的第二中斷信號為高電平,經(jīng)過中斷處理單元的處理,輸出的 數(shù)據(jù)接收中斷信號為低電平,硬件看門狗接收到低電平的數(shù)據(jù)接收中斷信號,輸出的故障 中斷信號為高電平,第一 CAN總線控制器和第二 CAN總線控制器接收到故障中斷信號的高 電平后不做處理;處理器的中斷端口均為低電平有效,則當處理器接收到的數(shù)據(jù)接收中斷 信號為低電平,故障中斷信號為高電平時,處理器正常工作,不對第一 CAN總線控制器和第 二 CAN總線控制器進行處理;若第一 CAN總線有故障,則第一 CAN總線控制器輸出的第一中斷信號為高電平信 號,第二 CAN總線控制器輸出的第二中斷信號為高電平,經(jīng)過中斷處理單元的處理,輸出的 數(shù)據(jù)接收中斷信號為高電平,硬件看門狗接收到高電平的數(shù)據(jù)接收中斷信號,輸出的故障 中斷信號為低電平,第一 CAN總線控制器和第二 CAN總線控制器接收到故障中斷信號的低 電平后,第一 CAN總線控制器和第二 CAN總線控制器均硬件復位;當處理器接收到的數(shù)據(jù)接 收中斷信號為高電平,故障中斷信號為低電平時,處理器發(fā)送信號給第一 CAN總線控制器 和第二 CAN總線控制器,通過重新配置第一 CAN總線控制器和第二 CAN總線控制器中寄存 器的值使得第一 CAN總線控制器和第二 CAN總線控制器軟件復位;當?shù)谝?CAN總線處于非工作狀態(tài),第二 CAN總線處于工作狀態(tài)時,若第二 CAN總線無故障,則第二 CAN總線控制器輸出的第二中斷信號為低電平信 號,第一 CAN總線控制器輸出的第一中斷信號為高電平,經(jīng)過中斷處理單元的處理,輸出的 數(shù)據(jù)接收中斷信號為低電平,硬件看門狗接收到低電平的數(shù)據(jù)接收中斷信號,輸出的故障 中斷信號為高電平,第一 CAN總線控制器和第二 CAN總線控制器接收到故障中斷信號的高 電平后不做處理;處理器的中斷端口均為低電平有效,則當處理器接收到的數(shù)據(jù)接收中斷 信號為低電平,故障中斷信號為高電平時,處理器正常工作,不對第一 CAN總線控制器和第 二 CAN總線控制器進行處理;若第二 CAN總線有故障,則第二 CAN總線控制器輸出的第二中斷信號為高電平信 號,第一 CAN總線控制器輸出的第一中斷信號為高電平,經(jīng)過中斷處理單元的處理,輸出的 數(shù)據(jù)接收中斷信號為高電平,硬件看門狗接收到高電平的數(shù)據(jù)接收中斷信號,輸出的故障 中斷信號為低電平,第一 CAN總線控制器和第二 CAN總線控制器接收到故障中斷信號的低 電平后,第一 CAN總線控制器和第二 CAN總線控制器均硬件復位;當處理器接收到的數(shù)據(jù)接 收中斷信號為高電平,故障中斷信號為低電平時,處理器發(fā)送信號給第一 CAN總線控制器 和第二 CAN總線控制器,通過重新配置第一 CAN總線控制器和第二 CAN總線控制器中寄存器的值使得第一 CAN總線控制器和第二 CAN總線控制器軟件復位。處理器配置第一 CAN總線控制器和第二 CAN總線控制器中的寄存器過程如下(1)通過配置CAN控制器的中斷控制寄存器的值來清除CAN控制器中斷,對于CAN 控制器SJA1000,實現(xiàn)方式是讀取寄存器頂;;(2)通過配置CAN控制器中的復位控制寄存器的值來使得CAN控制器進入復位狀 態(tài),對于CAN控制器SJA1000,實現(xiàn)方式是寫寄存器CR的CR. 0位為“ 1” ;(3)通過配置CAN控制器中相應的工作參數(shù)配置寄存器的值來設置CAN控制器的 工作參數(shù),對于CAN控制器SJA1000,設置接收碼的實現(xiàn)方式是寫寄存器ACR為設計值,設 置屏蔽碼的實現(xiàn)方式是寫寄存器AMR為設計值,設置波特率的實現(xiàn)方式是寫寄存器BTRO和 BTRl為設計值,其它參數(shù)設置采用類似實現(xiàn)方式;(4)通過配置CAN控制器中的接收中斷寄存器的值使能CAN控制器接收中斷,對于 CAN控制器SJA1000,實現(xiàn)方式是寫寄存器CR的CR. 1位為“ 1” ;( 通過配置CAN控制器中的復位控制寄存器的值使得CAN控制器退出復位狀態(tài), 進入正常狀態(tài),對于CAN控制器SJA1000,實現(xiàn)方式是寫寄存器CR的CRO位為“0”。對于其它CAN控制器,可采用類似的初始化流程和寄存器設置方式。本發(fā)明說明書中未作詳細描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員的公知技術(shù)。
權(quán)利要求
1. 一種星載雙CAN總線節(jié)點故障自恢復系統(tǒng),其特征在于包括第一 CAN總線、第二 CAN總線、第一 CAN總線收發(fā)器、第二 CAN總線收發(fā)器、第一 CAN總線控制器、第二 CAN總線 控制器、中斷處理單元、硬件看門狗和處理器;第一 CAN總線連接第一 CAN總線收發(fā)器,第一 CAN總線收發(fā)器連接第一 CAN總線控制 器,第一 CAN總線控制器連接處理器;第二 CAN總線連接第二 CAN總線收發(fā)器,第二 CAN總 線收發(fā)器連接第二 CAN總線控制器,第二 CAN總線控制器連接處理器;第一 CAN總線控制器 和第二 CAN總線控制器之間還連接有中斷處理單元,中斷處理單元連接硬件看門狗和處理 器,硬件看門狗連接處理器、第一 CAN總線控制器和第二 CAN總線控制器;第一 CAN總線收發(fā)器接收來自第一 CAN總線的信號并將該信號發(fā)送給第一 CAN總線 控制器,第一 CAN總線控制器接收到信號之后產(chǎn)生第一中斷信號并將第一中斷信號發(fā)送給 中斷處理單元;第二 CAN總線收發(fā)器接收來自第二 CAN總線的信號并將該信號發(fā)送給第二 CAN總線控制器,第二 CAN總線控制器接收到信號之后產(chǎn)生第二中斷信號并將第二中斷信 號發(fā)送給中斷處理單元;中斷處理單元將第一中斷信號和第二中斷信號進行邏輯與運算產(chǎn) 生數(shù)據(jù)接收中斷信號,并將數(shù)據(jù)接收中斷信號送入處理器的第一中斷端口中,同時,中斷處 理單元將所述數(shù)據(jù)接收中斷信號經(jīng)過脈沖生成邏輯單元的處理產(chǎn)生脈沖,送入硬件看門狗 中;硬件看門狗根據(jù)接收到的所述脈沖生成故障中斷信號,并將所述故障中斷信號同時輸 入到第一 CAN總線控制器中、第二 CAN總線控制器中和處理器的第二中斷端口中; 當?shù)谝?CAN總線處于工作狀態(tài),第二 CAN總線處于非工作狀態(tài)時, 若第一 CAN總線無故障,則第一 CAN總線控制器輸出的第一中斷信號為低電平信號, 第二 CAN總線控制器輸出的第二中斷信號為高電平,經(jīng)過中斷處理單元的處理,輸出的數(shù) 據(jù)接收中斷信號為低電平,硬件看門狗接收到低電平的數(shù)據(jù)接收中斷信號,輸出的故障中 斷信號為高電平,第一 CAN總線控制器和第二 CAN總線控制器接收到故障中斷信號的高電 平后不做處理;處理器的中斷端口均為低電平有效,則當處理器接收到的數(shù)據(jù)接收中斷信 號為低電平,故障中斷信號為高電平時,處理器正常工作,不對第一 CAN總線控制器和第二 CAN總線控制器進行處理;若第一 CAN總線有故障,則第一 CAN總線控制器輸出的第一中斷信號為高電平信號,第 二 CAN總線控制器輸出的第二中斷信號為高電平,經(jīng)過中斷處理單元的處理,輸出的數(shù)據(jù) 接收中斷信號為高電平,硬件看門狗接收到高電平的數(shù)據(jù)接收中斷信號,輸出的故障中斷 信號為低電平,第一 CAN總線控制器和第二 CAN總線控制器接收到故障中斷信號的低電平 后,第一 CAN總線控制器和第二 CAN總線控制器均硬件復位;當處理器接收到的數(shù)據(jù)接收中 斷信號為高電平,故障中斷信號為低電平時,處理器發(fā)送信號給第一 CAN總線控制器和第 二 CAN總線控制器,通過重新配置第一 CAN總線控制器和第二 CAN總線控制器中寄存器的 值使得第一 CAN總線控制器和第二 CAN總線控制器軟件復位;當?shù)谝?CAN總線處于非工作狀態(tài),第二 CAN總線處于工作狀態(tài)時, 若第二 CAN總線無故障,則第二 CAN總線控制器輸出的第二中斷信號為低電平信號, 第一 CAN總線控制器輸出的第一中斷信號為高電平,經(jīng)過中斷處理單元的處理,輸出的數(shù) 據(jù)接收中斷信號為低電平,硬件看門狗接收到低電平的數(shù)據(jù)接收中斷信號,輸出的故障中 斷信號為高電平,第一 CAN總線控制器和第二 CAN總線控制器接收到故障中斷信號的高電 平后不做處理;處理器的中斷端口均為低電平有效,則當處理器接收到的數(shù)據(jù)接收中斷信號為低電平,故障中斷信號為高電平時,處理器正常工作,不對第一 CAN總線控制器和第二 CAN總線控制器進行處理;若第二 CAN總線有故障,則第二 CAN總線控制器輸出的第二中斷信號為高電平信號,第一CAN總線控制器輸出的第一中斷信號為高電平,經(jīng)過中斷處理單元的處理,輸出的數(shù)據(jù) 接收中斷信號為高電平,硬件看門狗接收到高電平的數(shù)據(jù)接收中斷信號,輸出的故障中斷 信號為低電平,第一 CAN總線控制器和第二 CAN總線控制器接收到故障中斷信號的低電平 后,第一CAN總線控制器和第二CAN總線控制器均硬件復位;當處理器接收到的數(shù)據(jù)接收中 斷信號為高電平,故障中斷信號為低電平時,處理器發(fā)送信號給第一 CAN總線控制器和第二CAN總線控制器,通過重新配置第一 CAN總線控制器和第二 CAN總線控制器中寄存器的 值使得第一 CAN總線控制器和第二 CAN總線控制器軟件復位。
2.根據(jù)權(quán)利要求1所述的星載雙CAN總線節(jié)點故障自恢復系統(tǒng),其特征在于所述處 理器配置第一 CAN總線控制器和第二 CAN總線控制器中的寄存器過程如下(1)通過配置CAN控制器的中斷控制寄存器的值來清除CAN控制器中斷;(2)通過配置CAN控制器中的復位控制寄存器的值來使得CAN控制器進入復位狀態(tài);(3)通過配置CAN控制器中相應的工作參數(shù)配置寄存器的值來設置CAN控制器的工作 參數(shù);(4)通過配置CAN控制器中的接收中斷寄存器的值使能CAN控制器接收中斷;(5)通過配置CAN控制器中的復位控制寄存器的值使得CAN控制器退出復位狀態(tài),進入 正常狀態(tài)。
全文摘要
本發(fā)明涉及一種星載雙CAN總線節(jié)點故障自恢復系統(tǒng),該系統(tǒng)首先采用硬件邏輯與操作對基于雙CAN總線通信節(jié)點的兩個CAN控制器的中斷信號進行處理,輸出的信號一方面?zhèn)魉徒o處理器用于數(shù)據(jù)的接收中斷,另一方面利用該信號產(chǎn)生脈沖信號對故障監(jiān)測硬件看門狗進行清狗,當看門狗在設定時間內(nèi)沒有收到清狗信號則產(chǎn)生硬件復位信號對兩個CAN控制器進行復位,同時產(chǎn)生故障報警中斷信號,通知處理器對兩個CAN控制器進行初始化,完成CAN通信節(jié)點的故障恢復,解決了故障檢測的可靠性和實時性問題,同時確保故障自動解除。
文檔編號H04L12/24GK102055633SQ20101029800
公開日2011年5月11日 申請日期2010年9月29日 優(yōu)先權(quán)日2010年9月29日
發(fā)明者劉思遠, 劉勝利, 張曉敏, 楊芳, 申澤庶 申請人:航天東方紅衛(wèi)星有限公司