張友兵 王建敏 孫 可
在CTCS-2級列控系統中,車載設備通過多功能車輛總線 (MVB)向人機界面 (DMI)實時傳遞列車的位置、速度、等級、模式等重要信息,DMI在界面上以圖形、文字等形式,實時顯示列車的各種運行狀態信息。司機通過操作DMI界面的按鍵,將信息及時傳遞給車載設備,達到調整列車運行狀態的目的。所以DMI和車載設備之間傳輸數據的準確性非常重要。
根據IEC61375-1標準,列車通信網絡在拓撲結構上為2層總線結構:鉸鏈式列車總線 (WTB)和多功能車輛總線 (MVB)。WTB主要完成列車級的數據通信;MVB主要完成車輛級內部功能設備的數據通信。
當MVB用作短距離數據傳輸時,通常采用雙絞線,在不采用中繼器的情況下,傳輸距離可達20m。當需要長距離數據傳輸時,采用光纖通信,傳輸距離可達2km,其速率可達1.5Mb/s。MVB采用總線拓撲結構,總線上的其他設備作為從設備,在主設備的管理下完成數據的發送和接收。
MVB總線支持周期性和偶發性2種類型的數據傳輸,周期性數據在一個特征周期相內發送,偶發性數據是在2個周期相的間隔中按需要傳輸。
在列車運行過程中,車載設備需要實時向DMI發送列車當前位置、實際速度、允許速度、目標速度、運行等級、運行模式、制動狀態、軌道電路碼等重要信息,DMI在界面上以圖形、文字等形式實時顯示,提示司機監控列車的運行狀態。同時,DMI需要實時向車載設備報告當前狀態。
車載設備和DMI之間需要彼此在每個工作周期發送給對方的數據定義為周期數據。周期數據至少需要分配2個MVB端口,一個用于車載設備向DMI傳遞列車速度、位置等,如圖1中的端口6;另一個用于DMI向車載設備傳遞DMI工作狀態等,如圖1中的端口5。一個MVB端口可以傳遞的數據量有限,如果車載設備需要向DMI傳遞的周期數據超過了MVB端口的承載量,可以根據需要增加新的MVB端口。

圖1 DMI與車載設備的通信原理圖
在列車運行過程中,車載設備和DMI之間還需要傳遞大量非周期數據。包括車載設備需要向DMI傳遞的軌旁信息、線路條件、坡度信息、聲音文本信息、車站名等,以及DMI需要向車載設備傳遞司機操作DMI時產生的按鍵信息。
非周期數據具有消息種類繁多、消息發送時機隨機、消息長度不一致等特點,因此需在MVB協議之上建立一層用于管理非周期數據發送和接收的協議——非周期數據傳輸協議。
非周期數據傳輸協議是介于MVB協議與DMI軟件應用層或車載設備軟件應用層之間的一層協議。當DMI需要向車載設備發送數據時,將待發送的數據先傳遞給非周期數據傳輸協議,由非周期數據傳輸協議根據待發送數據的長度,將待發送數據分割為若干個MVB幀,通過MVB總線將若干個MVB幀依次傳遞給車載設備側的非周期數據傳輸協議,根據協議規則,從該若干個MVB幀中分離出一條條完整的數據,再將這些數據依次傳遞給車載設備軟件的應用層。同理,車載設備使用相同的方法向DMI發送非周期數據。
非周期數據傳輸協議具備以下功能。
1.同步狀態下正常傳遞數據。當DMI和車載設備兩側的非周期數據傳輸協議建立同步之后,在非周期數據傳輸協議的管理下,雙方可以正常發送和接收非周期數據。
2.失去同步時可重新建立同步的功能。在同步狀態中,非周期數據傳輸協議會實時監測DMI和車載設備。遇到異常情況時,該傳輸協議將自動轉入不同步狀態,并重新建立同步。
3.可傳遞長度較長的消息。當DMI存在一條長度較長的發送消息時,DMI側的非周期數據傳輸協議先將消息分割為若干個MVB幀,并通過MVB總線依次發送給車載設備側的非周期數據傳輸協議,然后車載設備側再根據協議規則,把收到的若干條MVB幀組合成一條完整的消息。
4.具備同時傳遞多條短消息的功能。當DMI存在多條長度較短的發送消息時,DMI側的非周期數據傳輸協議可通過一個MVB幀,將多條短消息同時發送給車載設備側的非周期數據傳輸協議,車載設備側接收后再根據協議規則,從MVB幀中分別提取出這些短消息。
5.具備數據丟失重傳的功能。DMI向車載設備發送一條消息,如果在規定時間內收到正確的應答幀,就會繼續發送下一條消息。如果在規定時間內未收到正確的應答幀,則DMI側的非周期數據傳輸協議將自動轉入不同步狀態,在DMI和車載設備之間重新建立同步。之后,DMI側的非周期數據傳輸將數據重新發送給車載設備側的非周期數據傳輸協議。
以圖1為例,非周期數據傳輸協議使用1~4號共4個MVB端口,完成非周期數據的雙向傳輸。1號和2號MVB端口為一對,用于車載設備向DMI發送非周期數據,1號端口傳輸的是車載設備發送給DMI的車載數據,2號端口傳輸的是DMI回復給車載設備的車載數據應答幀。同理,3號和4號MVB端口為一對,用于DMI向車載設備發送非周期數據。
當DMI應用層存在需要發送給車載設備數據時,先將DMI數據傳遞給DMI側,按照非周期數據傳輸協議,通過3號MVB端口發送給車載設備。車載設備側按照非周期數據傳輸協議,從3號MVB端口收到DMI數據,將DMI數據傳遞給車載設備應用層,同時通過4號MVB端口回復DMI數據應答幀,DMI側的非周期數據傳輸協議從4號MVB端口收到DMI數據應答幀。如果判斷DMI數據應答幀正確,則保持同步狀態,繼續向車載設備發送下一條DMI數據;如果判斷DMI數據應答幀不正確,則需重新建立同步。正是通過發送數據、等待應答幀和接收數據、回復應答幀的方式,確保非周期數據可以完整無誤地從一方傳輸給另一方。
由以上分析可知,在DMI和車載設備兩側的非周期數據傳輸協議之間存在2個方向的同步:一個是DMI發送數據與車載設備接收數據之間的同步,使用3號和4號MVB端口實現同步;另一個是車載設備發送數據與DMI接收數據之間的同步,使用1號和2號MVB端口實現。2個方向的同步是相互獨立的,且一個方向的不同步不會影響另一個方向的同步關系。
DMI發送數據與車載設備接收數據之間的同步,由DMI側的非周期數據傳輸協議主動發起同步命令,車載設備側的非周期數據傳輸協議響應同步命令。同理,車載設備發送數據與DMI接收數據之間的同步,是由車載設備側的非周期數據傳輸協議主動發起同步命令,DMI側的非周期數據傳輸協議響應同步命令。
非周期數據傳輸協議包含發送數據狀態機和接收數據狀態機,分別如圖2、圖3所示。DMI側的發送數據狀態機,與車載設備側的接收數據狀態機之間,建立同步和數據傳輸關系,實現將DMI數據傳輸給車載設備。DMI側的發送數據狀態機負責發送DMI數據和等待DMI數據應答幀,車載設備側的接收數據狀態機負責接收DMI數據和回復DMI數據應答幀。同理,車載設備側的發送數據狀態機和DMI側的接收數據狀態機之間,建立同步和數據傳輸關系,實現將車載數據傳輸給DMI的功能。

圖2 接收數據狀態機

圖3 發送數據狀態機
為了在本方的發送數據狀態機和對方的接收數據狀態機之間建立同步和數據傳輸關系,需要設計4種類型的幀,分別是:同步命令幀、數據命令幀、突發命令幀和數據幀。
1.同步命令幀:DMI發送數據和車載設備接收數據方向處于不同步狀態時,DMI側的非周期數據傳輸協議向車載設備側發送同步命令幀,收到正確的應答幀后進入同步狀態。同理,車載設備發送數據和DMI接收數據方向處于不同步狀態時,車載設備側的非周期數據傳輸協議向DMI側發送同步命令幀,收到正確的應答幀后進入同步狀態。
2.數據命令幀:如果一條消息長度有限,通過一個MVB幀即可發送給對方,則使用數據命令幀將該消息發送出去;如果一條消息長度較長,通過多個MVB幀才能發送給對方,則將該條消息分割成一個數據命令幀和若干個數據幀,先將數據命令幀發送出去,再將若干個數據幀依次發送出去,對方收到后,根據數據命令幀攜帶的長度信息和各個數據幀攜帶的子幀序號,就可以組合出該條消息。
3.突發命令幀:如果存在幾條短消息,且這幾條短消息可以通過一個MVB幀發送給對方,則使用一個突發命令幀攜帶這幾條短消息發送給對方。
4.數據幀:當待發送消息長度較長,使用一個MVB幀無法全部發送給對方時,可拆分消息成一個數據命令幀和若干個數據幀依次發送給對方。因此,數據幀總是跟在數據命令幀的后面,和數據命令幀一起傳遞長度較長的消息。
1.不同步狀態。收到同步命令幀,回復正確應答幀,進入已同步狀態;收到其他命令幀,回復錯誤應答幀,保持當前狀態不變。
2.已同步狀態。收到同步命令幀,回復正確應答幀,保持當前狀態不變;收到數據命令幀,判斷收到一條完整的數據,回復正確應答幀,轉入接收命令幀狀態;收到數據命令幀,判斷沒有收到一條完整的數據,回復正確應答幀,轉入接收數據幀狀態,繼續接收后續的數據幀;收到突發命令幀,回復正確應答幀,轉入接收命令幀狀態。
3.接收命令幀狀態。收到同步命令幀,回復正確應答幀,保持當前狀態不變;收到數據命令幀,判斷收到一條完整的數據,回復正確應答幀,保持當前狀態不變;收到數據命令幀,判斷沒有收到一條完整的數據,回復正確應答幀,轉入接收數據幀狀態,繼續接收后續的數據幀;收到突發命令幀,回復正確應答幀,保持當前狀態不變。
4.接收數據幀狀態。收到同步命令幀,回復正確應答幀,保持當前狀態不變;收到數據命令幀,回復錯誤應答幀,轉入不同步狀態;收到突發命令幀,回復錯誤應答幀,轉入不同步狀態;收到數據幀,判斷收到的是一批數據的最后一個子幀,回復正確應答幀,轉入接收命令幀狀態;收到數據幀,判斷收到的是一批數據的非最后一個子幀,回復正確應答幀,保持當前狀態不變;收到數據幀,不是以上兩種情況,回復錯誤應答幀,轉入不同步狀態。
1.不同步狀態。連續3次向對方發送同步命令幀,且連續3次在規定時間內收到正確的應答幀,則轉入已同步狀態,否則保持當前狀態不變。如果發送同步命令幀,但在規定時間內沒有收到正確的應答幀,則保持當前狀態不變,同步計數清零,重新發起建立同步的流程。
2.已同步狀態。如果發送列表存在需要發送給對方的數據,則從發送列表中取出第一條數據作為當前需要發送的數據。如果當前需要發送的數據長度較短,則通過數據命令幀發送給對方。如果當前需要發送的數據長度較長,則將當前需要發送的數據拆分成一個數據命令幀和若干個數據幀依次發送給對方。每向對方發送一幀數據,如果在規定時間內收到正確的應答幀,則繼續發送下一幀數據。如果在規定時間內沒有收到正確的應答幀,則轉入不同步狀態。當一批數據的所有子幀均發送成功,則從發送列表中刪除已經發送給對方的數據,并從發送列表中取出下一條數據作為當前需要發送的數據,開始新的數據發送流程。
對于周期數據,由于已分配了專門的MVB端口,所以車載設備每個工作周期向MVB端口發送列車當前的速度、位置等重要信息,DMI每個工作周期從MVB端口讀取這些數據,保證DMI能夠實時獲得最新的列車運行信息,并將這些信息顯示在界面上。
非周期數據使用非周期數據傳輸協議進行傳輸,該協議是一種高效的數據傳輸協議,能以最快的速度將數據傳遞給對方,確保非周期數據傳輸的實時性。
周期數據使用MVB端口直接傳遞給對方,數據正確性由MVB協議保證。
非周期數據在MVB協議的基礎上使用非周期數據傳輸協議傳遞給對方,數據正確性由MVB協議和非周期數據傳輸協議共同保證。使用非周期數據傳輸協議傳輸數據時,數據命令幀、數據幀、突發命令幀的幀頭中均包含有幀長度、幀序號等控制信息,幀序號保證各個幀之間的先后順序,幀長度保證每一幀攜帶的有效數據的長度。通過發送數據并回復應答幀的方式可以避免丟失數據。
在DMI和車載設備之間存在2個方向的同步,其同步關系是相互獨立互不影響的,提高了非周期數據傳輸協議的可用性。此外發送數據狀態機和接收數據狀態機的設計,也提高了非周期數據傳輸協議的可用性。
介紹了一種CTCS-2級列控系統中基于MVB總線的DMI與車載設備交互數據的方法。該方法已經應用到了CTCS-2級列控系統DMI與車載設備的通信中,經過試驗和分析認為該方法可以將車載設備的重要信息實時準確地傳遞給DMI,并可將DMI的按鍵信息實時準確地傳遞給車載設備,保證DMI實時顯示列車的運行狀態,為司機通過DMI有效監控列車安全高效地運行提供了技術支撐。
[1] 楊昌休.多功能車輛總線MVB關鍵技術的研究[M].成都:西南交通大學,2010.
[2] 宋娟,王立德,嚴翔,申萍.MVB協議分析裝置設計及其實時性分析[J].鐵道學報,2011,33(11):41 -45.
[3] 羅成.多功能車輛總線控制器的FPGA設計與開發[M].大連:大連理工大學,2009.