一種雙冗余can總線故障檢測方法
【專利摘要】本發(fā)明為了解決缺乏基于同發(fā)同收技術的雙冗余CAN總線網絡的故障檢測的有效途徑的問題,提供了一種雙冗余CAN總線故障檢測方法,所述CAN總線的兩個通道都作為工作通道,數(shù)據在兩個通道上同時被發(fā)送和接收,兩個通道上的各節(jié)點均被默認為從節(jié)點,需要在兩個通道上分別發(fā)起通道檢測的節(jié)點將自己設置為主節(jié)點,包括如下步驟:主節(jié)點在兩個通道分別向各從節(jié)點發(fā)送檢測信號;各從節(jié)點從兩個通道之一接收到主節(jié)點的檢測信號后,在該通道發(fā)送該從節(jié)點的反饋信號;主節(jié)點從所述兩個通道分別接收反饋信號;根據接收到的反饋信號對兩個通道分別進行故障識別。本發(fā)明具有實施簡單、檢測結果可靠的優(yōu)點,能夠快速地查找出兩個通道各自的故障。
【專利說明】—種雙冗余CAN總線故障檢測方法
【技術領域】
[0001]本發(fā)明涉及線路故障檢測方法,更具體地,涉及一種雙冗余CAN總線故障檢測方法。
【背景技術】
[0002]CAN總線具有標準幀和擴展幀兩種幀類型,標準幀采用11位的標識符,擴展幀采用29位的標識符。雙冗余CAN總線網絡的幀類型可為標準幀,也可為擴展幀。CAN總線的數(shù)據幀主要由仲裁場、控制場和數(shù)據場組成。仲裁場由CAN消息標識符構成,CAN消息標識符用于表征該消息的功能,例如通道檢測幀的CAN消息標識符用于表征該數(shù)據幀為通道檢測幀,同時對CAN通信起仲裁的作用。數(shù)據場攜帶CAN消息數(shù)據。
[0003]應用傳統(tǒng)的單CAN總線的控制網絡時,有時會出現(xiàn)某些失效環(huán)節(jié),比如主干線故障、分支線故障、驅動電路故障等。因此,雙冗余CAN總線網絡能夠很好地克服上述缺點。
[0004]就此, 申請人:開展了雙冗余CAN總線網絡的應用研究,先后嘗試采用了雙冗余通道熱切換技術以及雙冗余通道數(shù)據同發(fā)同收技術。
[0005]雙冗余通道熱切換技術是將雙冗余CAN總線的一個通道作為工作通道,另外一個通道熱備份。當工作通道出現(xiàn)故障時,切換到備份通道,備份通道作為工作通道繼續(xù)工作,原來的通道如果修復好則作為備份通道,如果不能修復好則標識故障。
[0006]雙冗余通道數(shù)據同發(fā)同收技術是將雙冗余CAN總線的兩個通道都作為工作通道,數(shù)據在兩個通道上同時傳送,只要有一個通道數(shù)據傳送通暢,就認為工作正常。
[0007]然而,現(xiàn)有技術中,尚無針對同發(fā)同收技術的雙冗余CAN總線網絡的故障檢測的有效途徑。
【發(fā)明內容】
[0008]為了克服上述現(xiàn)有技術中存在的缺陷,本發(fā)明提供了 一種基于雙冗余通道數(shù)據同發(fā)同收技術的雙冗余CAN總線故障檢測方法。這種故障檢測方法能夠檢測出CAN總線網絡上各節(jié)點的兩個通道是否出現(xiàn)故障,還能進一步確定CAN總線網絡的分支線故障問題還是主干線故障問題。
[0009]本發(fā)明提供的技術方案如下:一種雙冗余CAN總線故障檢測方法,所述CAN總線的兩個通道都作為工作通道,數(shù)據在兩個通道上同時被發(fā)送和接收,兩個通道上的各節(jié)點均被默認為從節(jié)點,需要在兩個通道上分別發(fā)起通道檢測的節(jié)點將自己設置為主節(jié)點,包括如下步驟:
[0010](I)主節(jié)點在兩個通道分別向各從節(jié)點發(fā)送檢測信號;
[0011](2)各從節(jié)點從兩個通道之一接收到主節(jié)點的檢測信號后,在該通道發(fā)送該從節(jié)點的反饋信號;
[0012](3)主節(jié)點從所述兩個通道分別接收反饋信號;
[0013](4)根據步驟(3)中接收到的反饋信號對兩個通道分別進行故障識別。[0014]進一步地,步驟(4)中,對某個通道進行故障識別包括:主節(jié)點再根據各從節(jié)點反饋的從節(jié)點通道檢測幀情況具體確定是主干線斷故障還是某個分支線故障。
[0015]進一步地,判斷步驟包括:
[0016](2.1)當該通道的某個主節(jié)點沒有接收到來自該通道上的任何從節(jié)點的反饋信號時,則確定該通道在其上的所述主節(jié)點處出現(xiàn)故障;否則
[0017](2.2)當該通道的主節(jié)點沒有接收到來自該通道上的某個從節(jié)點的反饋信號時,則確定該通道在其上的該從節(jié)點處出現(xiàn)故障;否則
[0018](2.3)該通道無故障。
[0019]進一步地,所述檢測信號為主節(jié)點通道檢測幀,所述反饋信號為從節(jié)點通道檢測幀。
[0020]進一步地,所述進行故障識別包括檢測是否發(fā)生故障以及故障的位置。
[0021]進一步地,所述步驟(2)和步驟(3)之間還包括:等待預定的延遲時間。
[0022]進一步地,所述延遲時間小于0.5秒。
[0023]本發(fā)明的有益效果如下:本發(fā)明提供的雙冗余CAN總線故障檢測方法具有實施簡單、檢測結果可靠的優(yōu)點,不需要添加過多額外的電氣設備就能夠實施,并且還能夠快速地查找出兩個通道各自的故障,極大地方便了 CAN總線布線復雜時進行錯誤檢測的工作量。
【專利附圖】
【附圖說明】
[0024]圖1是根據本發(fā)明的一個實施例的雙冗余CAN總線網絡示意圖;
[0025]圖2是根據本發(fā)明的一個實施例的CAN接口擴展示意圖;
[0026]圖3是根據本發(fā)明的一個實施例的需要區(qū)分重復數(shù)據的數(shù)據幀格式;
[0027]圖4示出了根據本發(fā)明的一個實施例的數(shù)據接收處理流程圖。
【具體實施方式】
[0028]如圖1-2所示,描繪了根據本發(fā)明的一個實施例的雙冗余CAN總線網絡的結構和CAN接口擴展示意圖。
[0029]在硬件上,雙冗余CAN總線同時使用兩條CAN總線、兩個CAN總線驅動器和兩個CAN總線控制器和一個CPU。CPU通過不同的端口和中斷同時控制兩個CAN控制器。
[0030]在一個優(yōu)選的實施例中,所采用的雙冗余CAN總線BUS A、BUS B要求使用相同兩套CAN設備,從而實現(xiàn)物理介質的隔離。BUS A的CAN設備包括獨立的總線電纜、總線驅動器1-2和總線控制器1-1,BUS B的CAN設備包括獨立的總線電纜、總線驅動器2_2和總線控制器2-1。CPUl由FPGA實現(xiàn)。
[0031]工作過程中,發(fā)送時可以通過兩條總線BUS A、BUS B發(fā)送同一組數(shù)據;接收時CPU控制器1-1和2-1可以同時處理兩路總線BUS A、BUS B上發(fā)來的數(shù)據,接收并進行適當處理。
[0032]在一個優(yōu)選的實施例中,雙冗余CAN接口卡1-1和1-2均采用SJA1000。兩個雙冗余CAN接口卡1-1和1-2共提供兩路獨立的CAN接口、CAN總線控制芯片的8位地址/數(shù)據總線,還提供讀寫控制信號。SJA1000輸出信號經過光耦連接CAN收發(fā)器PCA82C250,PCA82C250供電電源為隔離電源,由隔離式電源轉換模塊提供。CAN總線的復位信號由FPGA芯片提供,CAN控制器SJA1000的中斷信號輸出到FPGA。
[0033]軟件設計上,雙冗余CAN接口卡1-1和1-2采用VXWorks開發(fā)驅動。VXWorks操作系統(tǒng)是風河公司(Wind River SyStem)推出的一款運行在目標機上的高性能、可裁減的嵌入式強實時操作系統(tǒng),它包括進程管理、存儲管理、設備管理、文件系統(tǒng)管理、網絡協(xié)議及系統(tǒng)應用等幾個部分,只占用了很小的存儲空間,并可高度裁減,保證了系統(tǒng)能以較高的效率運行。它以其良好的可靠性和卓越的實時性被廣泛地應用在通信、軍事、航空、航天等高精尖技術及實時性要求極高的領域中。
[0034]VXfforks操作系統(tǒng)提供幾種標準驅動模型,如串行設備驅動、塊設備驅動、網絡接口驅動、總線控制器驅動等。根據設備不同,可選擇相應的標準驅動模型或自定CAN模塊是串行設備,設計選擇了標準串行設備驅動模型。
[0035]本發(fā)明提供的雙冗余CAN總線故障檢測方法以專用通道檢測幀為基礎,通道檢測幀格式具體見圖3。在一個優(yōu)選的實施例中,通道檢測幀的CAN消息標識符由功能碼0x100和節(jié)點號NodeID和組成。通道檢測幀的數(shù)據長度為3個字節(jié),第一個字節(jié)存放通道號——A通道該字節(jié)放置0x55,B通道該字節(jié)放置OxAA ;第二個字節(jié)存放節(jié)點號;第三個字節(jié)存放主從標識——主節(jié)點此字節(jié)放置0x55,從節(jié)點此字節(jié)放置OxAA。
[0036]如圖4,示出了根據本發(fā)明的一個實施例的數(shù)據接收處理流程圖。當CAN總線的兩個通道都作為工作通道時,數(shù)據在兩個通道上同時被發(fā)送和接收,兩個通道上的各節(jié)點均被默認為從節(jié)點。需要在兩個通道上分別發(fā)起通道檢測的節(jié)點將自己設置為主節(jié)點。該處理流程包括:
[0037](I)主節(jié)點在兩個通道分別向各從節(jié)點發(fā)送檢測信號;
[0038](2)各從節(jié)點從兩個通道之一接收到主節(jié)點的檢測信號后,在該通道發(fā)送該從節(jié)點的反饋信號;
[0039](3)主節(jié)點從所述兩個通道分別接收反饋信號;
[0040](4)根據步驟(3)中接收到的反饋信號對兩個通道分別進行故障識別。
[0041]其中,對某個通道進行故障識別包括:主節(jié)點再根據各從節(jié)點反饋的從節(jié)點通道檢測幀情況具體確定是主干線斷故障還是某個分支線故障。進一步地,判斷步驟包括:
[0042](2.1)當該通道的主節(jié)點沒有接收到來自該通道上的任何從節(jié)點的反饋信號時,則確定該通道在其上的當前主節(jié)點處出現(xiàn)故障;否則
[0043](2.2)當該通道的主節(jié)點沒有接收到來自該通道上的某個從節(jié)點的反饋信號時,則確定該通道在其上的該從節(jié)點處出現(xiàn)故障;否則
[0044](2.3)該通道無故障。
[0045]其中,所述檢測信號為主節(jié)點通道檢測幀,所述反饋信號為從節(jié)點通道檢測幀。在一個優(yōu)選的實施例中,所述進行故障識別包括檢測是否發(fā)生故障以及故障的位置。
[0046]在另一個優(yōu)選的實施例中,本發(fā)明的檢測方法包括:
[0047](I)雙冗余CAN總線的各節(jié)點默認為從節(jié)點,需要發(fā)起通道檢測的節(jié)點將自己設置為主節(jié)點,并分別在兩個通道發(fā)送主節(jié)點通道檢測幀。
[0048](2)從節(jié)點接收到主節(jié)點通道檢測幀后,發(fā)送從節(jié)點通道檢測幀。各從節(jié)點接收到其他節(jié)點的從節(jié)點通道檢測幀不予處理。
[0049](3)主節(jié)點發(fā)送完成主節(jié)點通道檢測幀后,最長延時0.5秒,如果在該時間內某個通道沒有接收到任何從節(jié)點的通道檢測幀則確定為本節(jié)點該通道故障,否則某個通道上沒有接收到哪個節(jié)點的從節(jié)點通道檢測幀則確定該節(jié)點的相應通道故障。
[0050](4)主節(jié)點再根據各從節(jié)點反饋的從節(jié)點通道檢測幀情況具體確定是主干線斷故障還是某個分支線故障。
[0051]例如CAN網絡中有節(jié)點號為3、4、5的三個節(jié)點,節(jié)點號為3的節(jié)點為主節(jié)點,其他節(jié)點為從節(jié)點。則節(jié)點號為3、4、5的通道檢測幀的CAN消息標識符分別為0xl03、0xl04、0x105。三個節(jié)點發(fā)送的通道檢測幀分別如表1所示。
[0052]表1節(jié)點3、4和5發(fā)送的CAN通道檢測幀示例
[0053]
M [al CAN消息數(shù)據長度I數(shù)據O I數(shù)據I I數(shù)據2
【權利要求】
1.一種雙冗余CAN總線故障檢測方法,所述CAN總線的兩個通道都作為工作通道,數(shù)據在兩個通道上同時被發(fā)送和接收,其特征在于,兩個通道上的各節(jié)點均被默認為從節(jié)點,需要在兩個通道上分別發(fā)起通道檢測的節(jié)點將自己設置為主節(jié)點,所述方法包括如下步驟: (1)主節(jié)點在兩個通道分別向各從節(jié)點發(fā)送檢測信號; (2)各從節(jié)點從兩個通道之一接收到主節(jié)點的檢測信號后,在該通道發(fā)送該從節(jié)點的反饋信號; (3)主節(jié)點從所述兩個通道分別接收反饋信號; (4)根據步驟(3)中接收到的反饋信號對兩個通道分別進行故障識別。
2.根據權利要求1所述的雙冗余CAN總線故障檢測方法,其特征在于,步驟(4)中,對某個通道進行故障識別包括:主節(jié)點再根據各從節(jié)點反饋的從節(jié)點通道檢測幀情況確定是主干線斷故障還是某個分支線故障。
3.根據權利要求2所述的雙冗余CAN總線故障檢測方法,其特征在于,判斷步驟包括: (2.1)當該通道的某個主節(jié)點沒有接收到來自該通道上的任何從節(jié)點的反饋信號時,則確定該通道在其上的所述主節(jié)點處出現(xiàn)故障;否則 (2.2)當該通道的主節(jié)點沒有接收到來自該通道上的某個從節(jié)點的反饋信號時,則確定該通道在其上的該從節(jié)點處出現(xiàn)故障;否則(2.3)該通道無故障。
4.根據權利要求1-3之一所述的雙冗余CAN總線故障檢測方法,其特征在于,所述檢測信號為主節(jié)點通道檢測幀,所述反饋信號為從節(jié)點通道檢測幀。
5.根據權利要求1-3之一所述的雙冗余CAN總線故障檢測方法,其特征在于,所述進行故障識別包括檢測是否發(fā)生故障以及故障的位置。
6.根據權利要求1-3之一所述的雙冗余CAN總線故障檢測方法,其特征在于,所述步驟(2)和步驟(3)之間還包括:等待預定的延遲時間。
7.根據權利要求6所述的雙冗余CAN總線故障檢測方法,其特征在于,所述延遲時間小于0.5秒。
【文檔編號】H04L12/26GK103490959SQ201310470784
【公開日】2014年1月1日 申請日期:2013年10月10日 優(yōu)先權日:2013年10月10日
【發(fā)明者】李向陽, 李 榮, 王小軍, 張洪彬, 孫招鳳, 許進亮 申請人:北京航天發(fā)射技術研究所, 中國運載火箭技術研究院