孟博洋,武方達,郭 浩
(1.中國礦業大學(北京),北京 100083;2.北京全路通信信號研究設計院集團有限公司,北京 100070)
鐵路交通的發展對于國家經濟來說有著極其重要的戰略地位。近年來,國外對于多功能車輛總線(Multifunction Vehicle Bus,MVB)的通信網關技術發展已經成熟,如瑞士Duagon 公司開發了一系列多功能車輛總線MVB 的網卡和I/O 設備等[1]。目前,我國高度重視并加強對MVB 網關技術的研究,取得了諸多成果,然而,不可否認的是國內市場中大部分MVB 網關產品仍然由國外的相關技術占領,且由于國外技術封鎖、市場壟斷,所以現階段國內MVB 網關和國外相比仍存在一定差距。
文中針對MVB、CAN、UART 3 種總線協議,設計出一款基于自主化核心控制芯片的多功能車輛總線通信網關,完成了MVB、CAN、UART 3 種網絡的組網設計,實現了MVB 總線與CAN、UART 兩種總線的數據交換,從而推動我國MVB 網關技術的研究進度。該設計中使用的自主化核心控制芯片是由中國通號設計并實現的多功能車輛總線控制器芯片(以下簡稱MVB 芯片),該芯片在設計上完全遵循IEC61375 協議,是國內首顆通過IEC61375 協議一致性認證的自主芯片,可與其他遵循該協議的設備互聯互通,可應用于高速鐵路、普速鐵路、城際鐵路及地鐵線路中[2]。
列車通信網絡(Train Communication Network,TCN)是安裝在列車上的計算機局域網絡系統[3],它集計算機技術、網絡控制技術、系統故障診斷技術等多種技術為一體,負責采集與傳遞列車信息、對車載設備進行控制、監測、故障分析以及為旅客提供信息服務[4]。IEC61375-1 將TCN 劃分為絞線式列車總線(Wire Train Bus,WTB)和多功能車輛總線(MVB)[5]。WTB 是用于列車車輛間的總線,而文中研究的MVB 總線則是列車車廂內部眾多車載設備之間進行數據交換的總線[6]。
MVB 是一種串行數據通信總線,其傳輸速率可達1.5 Mbit/s[7],可連接多達4 095 個簡單傳感器/執行器,為各類車載設備提供了標準的通信接口,在軌道車輛上應用廣泛。
MVB 物理層有ESD(短距離電傳輸介質)、EMD(中距離電傳輸介質)、OGF(光線介質)3種傳輸介質[8]。MVB 總線由一個或多個總線段構成,每個總線段又分為若干段,每段可由上述傳輸介質中的一種擔任。
在MVB 總線上傳輸的數據幀可分為主幀和從幀。主幀由主設備發送,從幀由從設備發送。主設備發送主幀后,從設備響應該主幀并發送相應的從幀,這樣的主幀和從幀就構成了一條報文[9]。一條有效的數據幀包括起始位、主幀或從幀的起始分界符和終止分界符、一個或多個8 位CRC 序列、主幀或從幀的幀數據[10]。
CAN 通信協議包含5 種幀類型,分別為數據幀、遙控幀、錯誤幀、過載幀、幀間隔[11]。另外,數據幀和遙控幀有標準格式和擴展格式兩種格式。標準格式有11 個位的標識符,擴展格式有29 個位的ID。數據幀一般由7 個段構成。
UART(Universal Asynchronous Receiver/Transmitter)串口通信協議使用的是異步,串行通信。串行通信指的是利用簡單的一條線纜將數據一位一位的按順序傳輸,異步通信指的是傳輸的單位為一個字符。在設計中,STM32 開發板自帶的電平轉換器SP3232,使UART 用于RS232 通信。
設計的網關是一種基于多功能車輛總線自主化核心控制芯片的網關,可同時完成MVB 協議與CAN/UART 兩種協議之間的協議轉換。對比傳統網關,現研究的新型網關的通信網絡模型如圖1 所示。該網關可以同時掛載具有CAN 接口、RS232 接口的車輛設備,從而減輕MVB 總線負載的壓力,節省網關設備,提高列車通信效率。

圖1 網關通信網絡模型對比圖
MVB 通信網關總體架構如圖2 所示。

圖2 MVB通信網關總體架構圖
網關硬件結構主要由MVB 通信網關板卡、STM32H743 微控制器、電源板卡、網絡連接器及線纜等組成,如圖3 所示。一方面,MVB 通信網關板卡通過FMSC 接口控制MVB 芯片,MVB 芯片通過MVB總線收發器管理MVB 總線數據的收發;另一方面,該板卡自帶FDCAN 控制器,通過TJA1050 與CAN 通信介質相連,進行CAN 數據的收發,串口收發器采用STM32H743 自帶的SP3232 芯片,該芯片能實現TTL 電平與RS232 電平的串口信號轉換;MVB 通信網關板卡中主控制器CPU 分別實現MVB 和CAN、UART 兩種總線間的數據相互轉換和存儲。電源板卡實現車輛110 V 直流電轉換為直流5 V,為MVB 通信網關板卡和MVB 芯片提供穩定可靠的電源[12]。
另外,由中國通號自主研發的MVB 芯片是國內首顆通過IEC6175 協議一致性認可的自主芯片,也是國內首顆應用在高鐵、城軌列車信號控制系統上的核心控制芯片。它具有體積小、重量輕、集成度高、利于網絡的組件安裝等優點,是作為MVB 總線控制器的最佳選擇,有利于進行組網規劃、便于組件安裝[13]。
該網關在Windows 系統下進行開發,軟件開發環境為keil uVision5。文中的試驗平臺主要由阿波羅STM32 開發板的底板、STM32H743 核心板、自主化MVB 芯片組成。通信測試前,先將MVB 芯片和STM32H743 開發板之間進行物理連線,然后通過ST_LINK 將程序下載至開發板。
網關軟件的程序執行流程如圖4 所示。

圖4 網關程序執行流程圖
開始工作時,系統啟動引導程序,對所有硬件進行初始化并啟動操作系統內核,對CAN 接口模塊及驅動芯片、UART 接口模塊及驅動芯片、MVB 芯片進行初始化[14]。CAN 數據報文在緩沖區中,調用CAN發送報文程序將CAN 報文發送到MVB 總線上,當CAN 總線上有數據到達時,調用CAN 接收報文程序,將接收的數據報文存入接收緩沖區;同理,發送和接收RS232 數據報文。MVB 總線主設備發起一個主幀作為數據請求,主設備上的總線控制器定時從TM 通信存儲器中讀取主幀并發送主幀,相應地從設備進行響應,從TM 通信存儲器中讀取從幀并發送從幀,完成對MVB 報文數據的傳輸[15]。
軟件開發的目標是實現MVB 協議的過程數據通信,軟件設計的關鍵機制主要分為兩部分,第一部分為CAN 接口或RS232 串口和上位機通信的協議,主要包括總線協議的轉換、上位機總線的控制、命令的解析、命令的發送、數據的傳輸等,第二部分為MVB 總線接口驅動程序。
網關軟件原理模型如圖5 所示。

圖5 網關軟件原理模型
網關軟件主要由CAN/UART 控制模塊、MVB 控制模塊、總調度模塊、數據緩沖區A、B 構成[16]。以MVB-CAN 網絡的數據交換為例,CAN 應用層向MVB 網絡發送CAN 數據時,總調度模塊監測并指揮CAN 控制模塊接收傳來的CAN 數據,CAN 控制模塊通過解碼分析得到CAN 數據幀的標識符,根據標識符在協議轉換路由表中找出相應的MVB 端口的相關變量,并將報文中的數據提取出來發送到數據緩沖區B。隨后,總調度模塊通知MVB 控制模塊,即調用MVB 芯片驅動函數來實現對MVB 芯片的控制,并將封裝好的MVB 報文發送到MVB 總線上。同理,當MVB 應用層向CAN/UART 網絡發送數據時,首先,總調度模塊識別到MVB 總線上有數據傳輸,先讀取MVB 數據幀,將MVB 數據發送到數據緩沖區A,同時讀取端口相關的變量,查詢協議轉換路由表中所對應的CAN/UART 標識符,總調度模塊調度CAN控制模塊提取緩沖區A 中的數據并封裝打包成CAN報文/UART 報文,最后調用CAN 收發程序或UART串口收發程序將數據發送到CAN 總線或者UART 總線上。
網關測試過程中,MVB-CAN、MVB-RS232 分別進行雙向協議轉換,每種方式的協議轉換測試方法是相同的,即每隔一段固定的時間,MVB 從設備通過網關向CAN 節點或UART 節點發送數據包,CAN節點或UART 節點接收到數據后,立即不加處理地返回該數據包,得到返回數據包后,計算得出延遲和報文丟失率等性能指標進而定性地描述網關性能。
經過反復大量測試,得到測試結果如表1 和表2所示。

表1 MVB-CAN協議轉換網關測試結果

表2 MVB-RS232協議轉換網關測試結果
通過上述測試結果可知,測試過程中基本未發生丟幀和誤碼的情況,初步可判斷該網關能夠順利完成數據的傳輸。測試結果表明網關通信接口良好,達到了網關對于過程數據通信的基本要求。
文中設計了一款MVB-CAN/UART 的通信網關,通過對網關功能和各相關通信協議的深入研究,對該網關進行軟件和硬件設計,最終實現了MVB 總線和CAN 總線/UART 總線的雙向數據通信及各通信協議間的轉換。測試結果表明,此網關能實時、可靠地完成數據交換,這為解決不同網絡間數據互聯互通問題提供了新思路,使得MVB 網關研究在國產化道路上取得了創新性成果。