一種面向多點互聯(lián)應(yīng)用的串行總線冗余通信方法
【專利摘要】本發(fā)明公開了一種面向多點互聯(lián)應(yīng)用的串行總線冗余通信方法,主站點按命令格式完成組幀和并轉(zhuǎn)串操作,在串行總線全部五條數(shù)據(jù)傳輸通道中任意四條數(shù)據(jù)傳輸通道上發(fā)出命令;從站點監(jiān)聽數(shù)據(jù)總線并對通道進行識別和命令提取操作,待檢測到一條針對本站點的傳輸命令后,從站點完成響應(yīng)格式組幀和并轉(zhuǎn)串操作,并發(fā)出響應(yīng);若響應(yīng)格式錯誤或無響應(yīng),主站點發(fā)出故障診斷命令;主站點檢測從站點發(fā)出的故障診斷響應(yīng),根據(jù)診斷結(jié)果,從五條數(shù)據(jù)傳輸通道中重新選擇四條數(shù)據(jù)傳輸通道作為下一次傳輸使用的數(shù)據(jù)傳輸通道;主站點重新發(fā)出上一次傳輸命令,直至收到正確的傳輸響應(yīng)或重傳次數(shù)達到預(yù)設(shè)最大值。
【專利說明】一種面向多點互聯(lián)應(yīng)用的串行總線冗余通信方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于通信領(lǐng)域,涉及一種面向多點互聯(lián)應(yīng)用的串行總線冗余通信方法。
【背景技術(shù)】
[0002]目前電子設(shè)備之間通信總線可分為并行總線和串行總線兩種。并行總線在計算機領(lǐng)域應(yīng)用較為廣泛,如PCI總線和ISA總線,其特點是并行總線通常由地址總線、控制總線和數(shù)據(jù)總線組成,并行總線擴展方便,其明顯不足體現(xiàn)在連接信號數(shù)較多,不利于設(shè)備小型化,難以滿足某些對控制裝置尺寸存在嚴(yán)格限制的場合需要等方面;其次,總線通信未采取冗余機制,一條信號線連接故障會導(dǎo)致通信任務(wù)失敗。
[0003]相比并行總線,串行總線的種類相對較多。按通信站點物理連接類型可劃分為點對點通信和多點互聯(lián)通信兩種,前者后者包括PCI Express、Rapid 10、SpaceWire、USB和1394等,后者包括I2C、1553B和CAN等。點對點通信總線帶寬則較高,通常都在200Mbps以上,而多點互聯(lián)串行通信總線在實際使用中存在通信帶寬較低的不足,大部分均在IMbps以下。從使用的數(shù)據(jù)傳輸通道數(shù)目來看,I2C和CAN總線使用一條數(shù)據(jù)傳輸通道,未采用冗余設(shè)計;1553B總線采用2條數(shù)據(jù)傳輸通道,其中,一次傳輸僅占用一條數(shù)據(jù)傳輸通道,另一條數(shù)據(jù)傳輸通道存于熱備份狀態(tài)。通過增加數(shù)據(jù)傳輸通道的條數(shù),可以顯著提高多點互聯(lián)串行通信總線的傳輸帶寬,與此同時,借鑒1553B總線冗余通信的特點,多點互聯(lián)串行通信總線應(yīng)包括備份數(shù)據(jù)通道,來提高通信系統(tǒng)的可靠性。但目前,在多點互聯(lián)串行通信領(lǐng)域,尚未有關(guān)于實現(xiàn)多條數(shù)據(jù)傳輸通道中故障自動診斷與數(shù)據(jù)傳輸通道自動切換方法的報道。
【發(fā)明內(nèi)容】
[0004]本發(fā)明解決的技術(shù)問題是:克服現(xiàn)有技術(shù)的不足,提出一種面向多點互聯(lián)應(yīng)用的串行總線冗余通信方法,滿足多點互聯(lián)領(lǐng)域高帶寬通信需求,同時,該方法實現(xiàn)傳輸通道故障的自動診斷與隔離,以及傳輸失敗自動重傳功能。
[0005]本發(fā)明的技術(shù)方案是:一種面向多點互聯(lián)應(yīng)用的串行總線冗余通信方法,步驟如下:
[0006]I)建立串行總線通信系統(tǒng);所述串行總線通信系統(tǒng)包括I個主站點和N個從站點,每個從站點均分配各不相同的ID號;主站點發(fā)出傳輸命令,從站點檢測命令并發(fā)出響應(yīng);所述串行總線通信系統(tǒng)中的串行總線由5條數(shù)據(jù)傳輸通道組成,工作時其中4條數(shù)據(jù)傳輸通道處于工作狀態(tài),另外一條處于備份狀態(tài);N為小于等于32的正整數(shù);
[0007]2)將串行總線的5條數(shù)據(jù)傳輸通道依次順序編號,主站點在當(dāng)前處于工作狀態(tài)的4條數(shù)據(jù)傳輸通道上發(fā)出傳輸命令至從站點,并等待從站點響應(yīng);所述的傳輸命令和響應(yīng)均由同步頭段、數(shù)據(jù)線標(biāo)識段和數(shù)據(jù)傳輸段三部分組成;
[0008]3)各從站點均監(jiān)聽全部5條數(shù)據(jù)傳輸通道,通過將接收的碼流與5種傳輸命令的格式進行比對,確定當(dāng)前使用的4條數(shù)據(jù)傳輸通道以及傳輸命令種類;各從站點解析傳輸命令,當(dāng)解析出正確格式的傳輸命令后,與傳輸命令中指定通信目標(biāo)從站點ID相同的通信目標(biāo)從站點完成該條傳輸命令的指定操作,并在檢測到本次傳輸命令的4條數(shù)據(jù)傳輸通道上,將響應(yīng)發(fā)送給主站點;當(dāng)解析出錯誤的傳輸命令后,各從站點繼續(xù)監(jiān)聽數(shù)據(jù)傳輸通道;
[0009]4)主站點在4條工作數(shù)據(jù)傳輸通道上檢測響應(yīng),若在預(yù)設(shè)的最大響應(yīng)時間內(nèi)未檢測到響應(yīng),或雖檢測到響應(yīng),但與預(yù)設(shè)的響應(yīng)格式不一致,主站點則判定本次傳輸失敗,跳至步驟5);若主站點在允許的響應(yīng)的時間內(nèi)檢測到格式正確的響應(yīng),跳至步驟8);
[0010]5)主站點準(zhǔn)備將傳輸命令進行重新傳輸,判斷若當(dāng)前傳輸對應(yīng)的重傳次數(shù)小于預(yù)設(shè)的最大重傳次數(shù),則主站點在全部5條數(shù)據(jù)傳輸通道上發(fā)出數(shù)據(jù)傳輸通道故障診斷命令至通信目標(biāo)從站點,并跳至步驟6);否則,判定當(dāng)前傳輸?shù)闹貍魇?,跳至步驟8);
[0011]6)通信目標(biāo)從站點對接收到的數(shù)據(jù)傳輸通道故障診斷命令進行格式判斷,若收到格式正確的數(shù)據(jù)傳輸通道故障診斷命令的數(shù)據(jù)傳輸通道個數(shù)大于或等于2,則認(rèn)定數(shù)據(jù)傳輸通道故障診斷命令有效,通信目標(biāo)從站點在接收到正確的數(shù)據(jù)傳輸通道故障診斷命令碼流的傳輸數(shù)據(jù)傳輸通道上發(fā)出相應(yīng)的響應(yīng)至主站點;若收到格式正確的數(shù)據(jù)傳輸通道故障診斷命令的數(shù)據(jù)傳輸通道個數(shù)小于2,則通信目標(biāo)從站點不發(fā)送響應(yīng);
[0012]7)主站點在全部5條數(shù)據(jù)傳輸通道上檢測響應(yīng),若未檢測到響應(yīng)或者檢測到響應(yīng)格式正確的數(shù)據(jù)傳輸通道條數(shù)小于4時,跳至步驟5)執(zhí)行;否則,主站點從響應(yīng)格式正確的數(shù)據(jù)傳輸通道中任選4條,作為新的4條處于工作狀態(tài)的數(shù)據(jù)傳輸通道,用于進行下一次傳輸,并跳轉(zhuǎn)至步驟2)對傳輸命令進行重傳;
[0013]8)本次傳輸結(jié)束。
[0014]所述的傳輸命令包括單次寫傳輸命令、單次讀傳輸命令、批量寫傳輸命令和批量讀傳輸命令;單次寫傳輸命令、單次讀傳輸命令使用曼徹斯特編碼和奇校驗編碼,批量寫傳輸命令和批量讀傳輸命令使用曼徹斯特編碼、奇校驗編碼、8B/10B編碼和CRC編碼;
[0015]所述單次寫傳輸命令包括傳輸命令類型、奇校驗位、重傳標(biāo)志位、ID編號、傳輸偏移地址、傳輸數(shù)據(jù);
[0016]所述單次讀傳輸命令包括傳輸命令類型、奇校驗位、重傳標(biāo)志位、ID編號、傳輸偏移地址;
[0017]所述批量寫傳輸命令包括傳輸命令類型、奇校驗位、重傳標(biāo)志位、ID編號、傳輸偏移地址、傳輸數(shù)據(jù)、傳輸數(shù)據(jù)的長度;
[0018]所述的批量讀傳輸命令包括傳輸命令類型、奇校驗位、重傳標(biāo)志位、ID編號、傳輸偏移地址、傳輸數(shù)據(jù)的長度。
[0019]所述單次讀傳輸響應(yīng)包括響應(yīng)標(biāo)識、傳輸數(shù)據(jù)、奇校驗位;
[0020]所述單次寫傳輸響應(yīng)包括響應(yīng)標(biāo)識;
[0021]所述批量讀傳輸響應(yīng)包括響應(yīng)標(biāo)識、傳輸數(shù)據(jù)、CRC校驗位;
[0022]所述批量寫傳輸響應(yīng)包括響應(yīng)標(biāo)識。
[0023]傳輸單次寫傳輸命令、單次讀傳輸命令、批量寫傳輸命令和批量讀傳輸命令時,將傳輸命令平均分配在4條數(shù)據(jù)傳輸通道上傳輸;傳輸數(shù)據(jù)傳輸通道故障診斷命令時,傳輸命令在5條數(shù)據(jù)傳輸通道上獨立傳輸。
[0024]同步頭段包括一組連續(xù)的、值為‘I’的比特位,且該組連續(xù)位的寬度大于5。
[0025]在各條數(shù)據(jù)傳輸通道上傳輸?shù)膫鬏斆詈晚憫?yīng)中的數(shù)據(jù)線標(biāo)識段互不相同。
[0026]所述數(shù)據(jù)傳輸通道故障診斷命令包括傳輸命令類型、奇校驗位、ID編號;數(shù)據(jù)傳輸通道故障診斷響應(yīng)包括響應(yīng)標(biāo)識。
[0027]本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點在于:
[0028](I)在所述通信方法中,一次傳輸占用4條數(shù)據(jù)傳輸通道,在采用相同波特率的情況下,可將傳輸帶寬提高4倍;
[0029](2)本發(fā)明方法支持單次傳輸和批量傳輸,可分別滿足小數(shù)據(jù)量傳輸和大數(shù)據(jù)量傳輸場合的應(yīng)用需要,使用靈活;
[0030](3)批量傳輸對傳輸數(shù)據(jù)使用8B/10B編碼,與1553B總線相比,編碼效率從50%提聞到80% ;
[0031](4)具備從5條數(shù)據(jù)傳輸通道中進行自動故障檢測,和備份數(shù)據(jù)傳輸通道自動切換的能力,傳輸可靠性高、操作透明、智能化程度高。
【專利附圖】
【附圖說明】
[0032]圖1為本發(fā)明專利的多點互聯(lián)串行通信的系統(tǒng)結(jié)構(gòu)圖;
[0033]圖2為串行通信一次傳輸組成;
[0034]圖3為命令和響應(yīng)組成結(jié)構(gòu);
[0035]圖4為同步段格式;
[0036]圖5為數(shù)據(jù)線標(biāo)識段格式;
[0037]圖6為單次讀傳輸命令的數(shù)據(jù)傳輸段格式;
[0038]圖7為單次讀傳輸響應(yīng)的數(shù)據(jù)傳輸段格式;
[0039]圖8為單次寫傳輸命令的數(shù)據(jù)傳輸段格式;
[0040]圖9為單次寫傳輸響應(yīng)的數(shù)據(jù)傳輸段格式;
[0041]圖10為批量讀傳輸命令的數(shù)據(jù)傳輸段格式;
[0042]圖11為批量讀傳輸響應(yīng)的數(shù)據(jù)傳輸段格式;
[0043]圖12為批量寫傳輸命令的數(shù)據(jù)傳輸段格式;
[0044]圖13為數(shù)據(jù)傳輸通道故障診斷命令的數(shù)據(jù)傳輸段格式;
[0045]圖14為主站點與從站點完成一次傳輸?shù)牧鞒獭?br>
【具體實施方式】
[0046]下面根據(jù)具體實例對本發(fā)明方法進行具體描述。
[0047]本發(fā)明專利描述的多點互聯(lián)串行通信的系統(tǒng)結(jié)構(gòu)如圖1所示,該系統(tǒng)由一主站點和多達32個從站點組成。串行總線物理層由5條數(shù)據(jù)傳輸通道組成。數(shù)據(jù)傳輸屬半雙工類型,主站點和各從站點分時驅(qū)動數(shù)據(jù)傳輸通道。為提高數(shù)據(jù)傳輸通道的冗余性,5條數(shù)據(jù)傳輸通道中4條數(shù)據(jù)傳輸通道處于工作狀態(tài),另外一條數(shù)據(jù)傳輸通道處于備份狀態(tài),當(dāng)主站點與從站點通信時檢測到某條數(shù)據(jù)傳輸通道工作異常時,主站點自動啟用備份的數(shù)據(jù)傳輸通道,并將存在故障的數(shù)據(jù)傳輸通道替換。
[0048]本串行總線鏈路層協(xié)議采取“命令+響應(yīng)”消息機制,如圖2所示。主控站點負(fù)責(zé)傳輸命令的發(fā)起、故障檢測與重傳管理功能。從站點監(jiān)聽數(shù)據(jù)傳輸通道,待檢測到正確的命令數(shù)據(jù)流后發(fā)出響應(yīng)來結(jié)束當(dāng)前操作。
[0049]主站點可發(fā)起的傳輸命令包括5種,分別為單次寫傳輸命令,單次讀傳輸命令,批量寫傳輸命令,批量讀傳輸命令以及數(shù)據(jù)傳輸通道故障診斷命令,分別用于小批量數(shù)據(jù)傳輸、大批量數(shù)據(jù)傳輸和數(shù)據(jù)傳輸通道故障診斷與維護功能。5種命令及其響應(yīng)均由同步頭段、數(shù)據(jù)線標(biāo)識段和比特位寬度可變的數(shù)據(jù)傳輸段三部分組成,如圖3所示。
[0050]同步頭段格式如圖4所示,其中l(wèi)inel-line5表示5條數(shù)據(jù)傳輸通道,其由4比特連續(xù)‘0’位、7比特連續(xù)‘I’位和I比特‘0’位組成,在保證傳輸直流均衡特性的同時,連續(xù)‘I’位的位寬等于7,大于數(shù)據(jù)傳輸段中可能出現(xiàn)的連續(xù)為‘I’的碼流寬度,可用于總從站點識別和定位同步頭段,便于總線采樣與碼流提取。
[0051]數(shù)據(jù)傳輸通道標(biāo)識段格式如圖5所示,由20比特組成,5條數(shù)據(jù)傳輸通道對應(yīng)的數(shù)據(jù)傳輸通道標(biāo)識段均不同,且任意一條數(shù)據(jù)傳輸通道的標(biāo)識段與其他數(shù)據(jù)傳輸通道的標(biāo)識段均存在4比特的差異,可以有效避免由于數(shù)據(jù)傳輸通道之間串?dāng)_帶來的影響。
[0052]單次讀傳輸命令格式的數(shù)據(jù)傳輸段格式圖6如所示,Iine_logic0_line_logic3表示處于工作狀態(tài)的4條數(shù)據(jù)傳輸通道;采用曼徹斯特編碼和奇校驗兩種編碼方式,其中,ID [4:0]對應(yīng)于本次傳輸訪問相對應(yīng)從站點的5位唯一 ID標(biāo)識,可實現(xiàn)對32個從站點的編碼管理。A[9:0]表示本次訪問從站點地址空間的偏移地址,從站點的一個偏移地址存儲16比特數(shù)據(jù),因此,單次讀傳輸?shù)膶ぶ纺芰?K字節(jié)。P為奇校驗位,該位值與數(shù)據(jù)傳輸段內(nèi)其他偏移地址為偶數(shù)的位值的累加和為奇數(shù)。T表示重傳標(biāo)志位,當(dāng)主站點與從站點完成一次傳輸操作后,該位值執(zhí)行一次翻轉(zhuǎn),T用于從站點區(qū)分主站點發(fā)起的一次傳輸命令是否屬于一次新發(fā)起的傳輸任務(wù),還是屬于檢測到故障后發(fā)起的一次重傳操作,從而可避免對從站點地址段的多次讀寫,這有助于串行總線應(yīng)用于FIFO數(shù)據(jù)存儲場合。需要說明的是,圖6僅給出了 4條工作數(shù)據(jù)傳輸通道的碼流編碼組成,對于處于備份狀態(tài)的數(shù)據(jù)傳輸通道,由于未參與本次傳輸,其編碼在保證直流均衡的前提下可采用除曼徹斯特編碼規(guī)則以外的其它任意編碼方式,故不作具體要求,在后續(xù)的讀/寫傳輸命令或響應(yīng)的組成格式上,存在類似的情況,不再逐一說明。
[0053]單次讀傳輸響應(yīng)的數(shù)據(jù)傳輸段格式如圖7所示,該段的前兩位均為“10”,用于從站點區(qū)分命令和響應(yīng)。從站點將從其本地讀取得到的16比特數(shù)據(jù)分為4組,進行曼徹斯特編碼和奇編碼后經(jīng)檢測到本次讀傳輸命令的4條數(shù)據(jù)傳輸通道發(fā)送給主站點。主站點以收到的響應(yīng)是否存在數(shù)據(jù)線標(biāo)識段格式錯誤、曼徹斯特解碼錯誤或奇校驗錯誤作為單次讀傳輸重傳的依據(jù)。
[0054]單次寫傳輸命令的數(shù)據(jù)傳輸段格式如圖8所示。與單次讀傳輸命令的格式相比,單次寫傳輸命令編碼中加入了與本次寫傳輸相關(guān)的16比特數(shù)據(jù)。
[0055]單次寫傳輸響應(yīng)的格式如圖9所示,由4比特“1010”組成。主站點以收到的響應(yīng)是否存在數(shù)據(jù)線標(biāo)識段格式錯誤、數(shù)據(jù)傳輸段碼流是否為固定的“1010”序列來作為本次寫傳輸重傳的依據(jù)。
[0056]批量讀傳輸命令的數(shù)據(jù)傳輸段格式如圖10所示,與單次讀傳輸命令的數(shù)據(jù)傳輸段格式相比,批量讀傳輸命令編碼加入了 8比特的傳輸長度信息L[7:0],串行總線傳輸?shù)幕締卧獮?6比特,從而批量讀傳輸支持?jǐn)?shù)據(jù)量在[2,512]字節(jié)范圍內(nèi)的數(shù)據(jù)批量傳輸。
[0057]圖11描述了傳輸量為6個字節(jié)的地批量讀傳輸響應(yīng)的數(shù)據(jù)傳輸段格式,該段編碼綜合采用曼徹斯特編碼、8B/10B編碼和CRC-16組合編碼方式。通過8B/10B編碼,從站點將發(fā)送的一個字節(jié)數(shù)編碼為10比特,占據(jù)圖11中偏移地址段[34,43]和偏移地址段[44,53]所示。DULL表示該區(qū)域比特非本次傳輸?shù)挠行?,但仍?yīng)滿足8B/10B編碼,便于簡化主站點進行8B/10B解碼檢錯操作。CRC-16比特段,完成8B/10B段的編碼,用于增強批量數(shù)據(jù)傳輸?shù)臋z錯能力。主站點以當(dāng)前四條工作數(shù)據(jù)線上是否存在數(shù)據(jù)線標(biāo)識段格式錯誤、曼徹斯特解碼錯誤、8B/10B解碼錯誤或CRC校驗錯誤來作為批量讀傳輸命令重傳的依據(jù)。
[0058]批量寫傳輸命令的數(shù)據(jù)傳輸段格式如圖12所示,前半部與批量讀傳輸命令格式相似,后半部與批量讀傳輸命令的響應(yīng)格式相似。批量寫傳輸命令的響應(yīng)格式與單次寫傳輸?shù)捻憫?yīng)格式相同。
[0059]數(shù)據(jù)傳輸通道故障診斷命令的數(shù)據(jù)傳輸段格式如圖13所示,其前四比特固定為“0011 ”,用于實現(xiàn)與傳輸命令和響應(yīng)的區(qū)分,ID [4:0]對應(yīng)于本次傳輸訪問相對應(yīng)從站點的5位唯一 ID標(biāo)識,從站點在檢測到有效數(shù)據(jù)傳輸通道故障診斷命令的數(shù)據(jù)傳輸通道上返回響應(yīng),響應(yīng)格式與單次寫傳輸?shù)捻憫?yīng)格式相同。主站點通過在5條數(shù)據(jù)傳輸通道上檢測響應(yīng)來判斷各數(shù)據(jù)傳輸通道上通信是否存在故障,并作為當(dāng)前命令重傳時所使用的工作數(shù)據(jù)傳輸通道的選擇依據(jù)。除由于讀傳輸或?qū)憘鬏斒?dǎo)致數(shù)據(jù)傳輸通道故障診斷命令的自動發(fā)出外,主站點可主動發(fā)出數(shù)據(jù)傳輸通道故障診斷命令,來獲取5條傳輸通道的故障狀況信息,用于快速故障定位與排除場合。
[0060]主站點與從站點完成一次傳輸?shù)牧鞒倘鐖D14所示。其步驟如下:
[0061]I)建立串行總線通信系統(tǒng);所述串行總線通信系統(tǒng)包括I個主站點和N個從站點,每個從站點均分配各不相同的ID號;主站點發(fā)出傳輸命令,從站點檢測命令并發(fā)出響應(yīng);所述串行總線通信系統(tǒng)中的串行總線由5條數(shù)據(jù)傳輸通道組成,工作時其中4條數(shù)據(jù)傳輸通道處于工作狀態(tài),另外一條處于備份狀態(tài);N為小于等于32的正整數(shù);
[0062]2)將串行總線的5條數(shù)據(jù)傳輸通道依次順序編號,主站點在當(dāng)前處于工作狀態(tài)的4條數(shù)據(jù)傳輸通道上發(fā)出傳輸命令至從站點,并等待從站點響應(yīng);所述的傳輸命令和響應(yīng)均由同步頭段、數(shù)據(jù)線標(biāo)識段和數(shù)據(jù)傳輸段三部分組成;
[0063]3)各從站點均監(jiān)聽全部5條數(shù)據(jù)傳輸通道,通過將接收的碼流與5種傳輸命令的格式進行比對,確定當(dāng)前使用的4條數(shù)據(jù)傳輸通道以及傳輸命令種類;各從站點解析傳輸命令,當(dāng)解析出正確格式的傳輸命令后,與傳輸命令中指定通信目標(biāo)從站點ID相同的通信目標(biāo)從站點完成該條傳輸命令的指定操作,并在檢測到本次傳輸命令的4條數(shù)據(jù)傳輸通道上,將響應(yīng)發(fā)送給主站點;當(dāng)解析出錯誤的傳輸命令后,各從站點繼續(xù)監(jiān)聽數(shù)據(jù)傳輸通道;
[0064]4)主站點在4條工作數(shù)據(jù)傳輸通道上檢測響應(yīng),若在預(yù)設(shè)的最大響應(yīng)時間內(nèi)未檢測到響應(yīng),或雖檢測到響應(yīng),但與預(yù)設(shè)的響應(yīng)格式不一致,主站點則判定本次傳輸失敗,跳至步驟5);若主站點在允許的響應(yīng)的時間內(nèi)檢測到格式正確的響應(yīng),跳至步驟8);
[0065]5)主站點準(zhǔn)備將傳輸命令進行重新傳輸,判斷若當(dāng)前傳輸對應(yīng)的重傳次數(shù)小于預(yù)設(shè)的最大重傳次數(shù),則主站點在全部5條數(shù)據(jù)傳輸通道上發(fā)出數(shù)據(jù)傳輸通道故障診斷命令至通信目標(biāo)從站點,并跳至步驟6);否則,判定當(dāng)前傳輸?shù)闹貍魇?,跳至步驟8);
[0066]6)通信目標(biāo)從站點對接收到的數(shù)據(jù)傳輸通道故障診斷命令進行格式判斷,若收到格式正確的數(shù)據(jù)傳輸通道故障診斷命令的數(shù)據(jù)傳輸通道個數(shù)大于或等于2,則認(rèn)定數(shù)據(jù)傳輸通道故障診斷命令有效,通信目標(biāo)從站點在接收到正確的數(shù)據(jù)傳輸通道故障診斷命令碼流的傳輸數(shù)據(jù)傳輸通道上發(fā)出相應(yīng)的響應(yīng)至主站點;若收到格式正確的數(shù)據(jù)傳輸通道故障診斷命令的數(shù)據(jù)傳輸通道個數(shù)小于2,則通信目標(biāo)從站點不發(fā)送響應(yīng);
[0067]7)主站點在全部5條數(shù)據(jù)傳輸通道上檢測響應(yīng),若未檢測到響應(yīng)或者檢測到響應(yīng)格式正確的數(shù)據(jù)傳輸通道條數(shù)小于4時,跳至步驟5)執(zhí)行;否則,主站點從響應(yīng)格式正確的數(shù)據(jù)傳輸通道中任選4條,作為新的4條處于工作狀態(tài)的數(shù)據(jù)傳輸通道,用于進行下一次傳輸,并跳轉(zhuǎn)至步驟2)對傳輸命令進行重傳;
[0068]8)本次傳輸結(jié)束。
[0069]本發(fā)明說明書中未詳細(xì)描述內(nèi)容屬本領(lǐng)域?qū)I(yè)技術(shù)人員的公知技術(shù)。
【權(quán)利要求】
1.一種面向多點互聯(lián)應(yīng)用的串行總線冗余通信方法,其特征在于步驟如下: 1)建立串行總線通信系統(tǒng);所述串行總線通信系統(tǒng)包括I個主站點和N個從站點,每個從站點均分配各不相同的ID號;主站點發(fā)出傳輸命令,從站點檢測命令并發(fā)出響應(yīng);所述串行總線通信系統(tǒng)中的串行總線由5條數(shù)據(jù)傳輸通道組成,工作時其中4條數(shù)據(jù)傳輸通道處于工作狀態(tài),另外一條處于備份狀態(tài);N為小于等于32的正整數(shù); 2)將串行總線的5條數(shù)據(jù)傳輸通道依次順序編號,主站點在當(dāng)前處于工作狀態(tài)的4條數(shù)據(jù)傳輸通道上發(fā)出傳輸命令至從站點,并等待從站點響應(yīng);所述的傳輸命令和響應(yīng)均由同步頭段、數(shù)據(jù)線標(biāo)識段和數(shù)據(jù)傳輸段三部分組成; 3)各從站點均監(jiān)聽全部5條數(shù)據(jù)傳輸通道,通過將接收的碼流與5種傳輸命令的格式進行比對,確定當(dāng)前使用的4條數(shù)據(jù)傳輸通道以及傳輸命令種類;各從站點解析傳輸命令,當(dāng)解析出正確格式的傳輸命令后,與傳輸命令中指定通信目標(biāo)從站點ID相同的通信目標(biāo)從站點完成該條傳輸命令的指定操作,并在檢測到本次傳輸命令的4條數(shù)據(jù)傳輸通道上,將響應(yīng)發(fā)送給主站點;當(dāng)解析出錯誤的傳輸命令后,各從站點繼續(xù)監(jiān)聽數(shù)據(jù)傳輸通道; 4)主站點在4條工作數(shù)據(jù)傳輸通道上檢測響應(yīng),若在預(yù)設(shè)的最大響應(yīng)時間內(nèi)未檢測到響應(yīng),或雖檢測到響應(yīng),但與預(yù)設(shè)的響應(yīng)格式不一致,主站點則判定本次傳輸失敗,跳至步驟5);若主站點在允許的響應(yīng)的時間內(nèi)檢測到格式正確的響應(yīng),跳至步驟8); 5)主站點準(zhǔn)備將傳輸命令進行重新傳輸,判斷若當(dāng)前傳輸對應(yīng)的重傳次數(shù)小于預(yù)設(shè)的最大重傳次數(shù),則主站點在全部5條數(shù)據(jù)傳輸通道上發(fā)出數(shù)據(jù)傳輸通道故障診斷命令至通信目標(biāo)從站點,并跳至步驟6);否則,判定當(dāng)前傳輸?shù)闹貍魇?,跳至步驟8); 6)通信目標(biāo)從站點對接收到的數(shù)據(jù)傳輸通道故障診斷命令進行格式判斷,若收到格式正確的數(shù)據(jù)傳輸通道故障診斷命令的數(shù)據(jù)傳輸通道個數(shù)大于或等于2,則認(rèn)定數(shù)據(jù)傳輸通道故障診斷命令有效,通信目標(biāo)從站點在接收到正確的數(shù)據(jù)傳輸通道故障診斷命令碼流的傳輸數(shù)據(jù)傳輸通道上發(fā)出相應(yīng)的響應(yīng)至主站點;若收到格式正確的數(shù)據(jù)傳輸通道故障診斷命令的數(shù)據(jù)傳輸通道個數(shù)小于2,則通信目標(biāo)從站點不發(fā)送響應(yīng); 7)主站點在全部5條數(shù)據(jù)傳輸通道上檢測響應(yīng),若未檢測到響應(yīng)或者檢測到響應(yīng)格式正確的數(shù)據(jù)傳輸通道條數(shù)小于4時,跳至步驟5)執(zhí)行;否則,主站點從響應(yīng)格式正確的數(shù)據(jù)傳輸通道中任選4條,作為新的4條處于工作狀態(tài)的數(shù)據(jù)傳輸通道,用于進行下一次傳輸,并跳轉(zhuǎn)至步驟2)對傳輸命令進行重傳; 8)本次傳輸結(jié)束。
2.根據(jù)權(quán)利要求1所述的一種面向多點互聯(lián)應(yīng)用的串行總線冗余通信方法,其特征在于:所述的傳輸命令包括單次寫傳輸命令、單次讀傳輸命令、批量寫傳輸命令和批量讀傳輸命令;單次寫傳輸命令、單次讀傳輸命令使用曼徹斯特編碼和奇校驗編碼,批量寫傳輸命令和批量讀傳輸命令使用曼徹斯特編碼、奇校驗編碼、8B/10B編碼和CRC編碼; 所述單次寫傳輸命令包括傳輸命令類型、奇校驗位、重傳標(biāo)志位、ID編號、傳輸偏移地址、傳輸數(shù)據(jù); 所述單次讀傳輸命令包括傳輸命令類型、奇校驗位、重傳標(biāo)志位、ID編號、傳輸偏移地址; 所述批量寫傳輸命令包括傳輸命令類型、奇校驗位、重傳標(biāo)志位、ID編號、傳輸偏移地址、傳輸數(shù)據(jù)、傳輸數(shù)據(jù)的長度; 所述的批量讀傳輸命令包括傳輸命令類型、奇校驗位、重傳標(biāo)志位、ID編號、傳輸偏移地址、傳輸數(shù)據(jù)的長度。
3.根據(jù)權(quán)利要求2所述的一種面向多點互聯(lián)應(yīng)用的串行總線冗余通信方法,其特征在于: 所述單次讀傳輸響應(yīng)包括響應(yīng)標(biāo)識、傳輸數(shù)據(jù)、奇校驗位; 所述單次寫傳輸響應(yīng)包括響應(yīng)標(biāo)識; 所述批量讀傳輸響應(yīng)包括響應(yīng)標(biāo)識、傳輸數(shù)據(jù)、CRC校驗位; 所述批量寫傳輸響應(yīng)包括響應(yīng)標(biāo)識。
4.根據(jù)權(quán)利要求2所述的一種面向多點互聯(lián)應(yīng)用的串行總線冗余通信方法,其特征在于:傳輸單次寫傳輸命令、單次讀傳輸命令、批量寫傳輸命令和批量讀傳輸命令時,將傳輸命令平均分配在4條數(shù)據(jù)傳輸通道上傳輸;傳輸數(shù)據(jù)傳輸通道故障診斷命令時,傳輸命令在5條數(shù)據(jù)傳輸通道上獨立傳輸。
5.根據(jù)權(quán)利要求1所述的一種面向多點互聯(lián)應(yīng)用的串行總線冗余通信方法,其特征在于:同步頭段包括一組連續(xù)的、值為‘I’的比特位,且該組連續(xù)位的寬度大于5。
6.根據(jù)權(quán)利要求1所述的一種面向多點互聯(lián)應(yīng)用的串行總線冗余通信方法,其特征在于:在各條數(shù)據(jù)傳輸通道上傳輸?shù)膫鬏斆詈晚憫?yīng)中的數(shù)據(jù)線標(biāo)識段互不相同。
7.根據(jù)權(quán)利要求1所述的一種面向多點互聯(lián)應(yīng)用的串行總線冗余通信方法,其特征在于:所述數(shù)據(jù)傳輸通道故障診斷命令包括傳輸命令類型、奇校驗位、ID編號;數(shù)據(jù)傳輸通道故障診斷響應(yīng)包括響應(yīng)標(biāo)識。
【文檔編號】H04L12/40GK104135412SQ201410362828
【公開日】2014年11月5日 申請日期:2014年7月28日 優(yōu)先權(quán)日:2014年7月28日
【發(fā)明者】張宏波, 李長森, 姜越, 郭海雷, 王苑瑾, 宗曉飛, 王超, 吳強 申請人:北京航天自動控制研究所, 中國運載火箭技術(shù)研究院