孟博洋,武方達,郭 浩
(1.中國礦業(yè)大學(北京),北京 100083;2.北京全路通信信號研究設計院集團有限公司,北京 100070)
鐵路交通的發(fā)展對于國家經(jīng)濟來說有著極其重要的戰(zhàn)略地位。近年來,國外對于多功能車輛總線(Multifunction Vehicle Bus,MVB)的通信網(wǎng)關(guān)技術(shù)發(fā)展已經(jīng)成熟,如瑞士Duagon 公司開發(fā)了一系列多功能車輛總線MVB 的網(wǎng)卡和I/O 設備等[1]。目前,我國高度重視并加強對MVB 網(wǎng)關(guān)技術(shù)的研究,取得了諸多成果,然而,不可否認的是國內(nèi)市場中大部分MVB 網(wǎng)關(guān)產(chǎn)品仍然由國外的相關(guān)技術(shù)占領(lǐng),且由于國外技術(shù)封鎖、市場壟斷,所以現(xiàn)階段國內(nèi)MVB 網(wǎng)關(guān)和國外相比仍存在一定差距。
文中針對MVB、CAN、UART 3 種總線協(xié)議,設計出一款基于自主化核心控制芯片的多功能車輛總線通信網(wǎng)關(guān),完成了MVB、CAN、UART 3 種網(wǎng)絡的組網(wǎng)設計,實現(xiàn)了MVB 總線與CAN、UART 兩種總線的數(shù)據(jù)交換,從而推動我國MVB 網(wǎng)關(guān)技術(shù)的研究進度。該設計中使用的自主化核心控制芯片是由中國通號設計并實現(xiàn)的多功能車輛總線控制器芯片(以下簡稱MVB 芯片),該芯片在設計上完全遵循IEC61375 協(xié)議,是國內(nèi)首顆通過IEC61375 協(xié)議一致性認證的自主芯片,可與其他遵循該協(xié)議的設備互聯(lián)互通,可應用于高速鐵路、普速鐵路、城際鐵路及地鐵線路中[2]。
列車通信網(wǎng)絡(Train Communication Network,TCN)是安裝在列車上的計算機局域網(wǎng)絡系統(tǒng)[3],它集計算機技術(shù)、網(wǎng)絡控制技術(shù)、系統(tǒng)故障診斷技術(shù)等多種技術(shù)為一體,負責采集與傳遞列車信息、對車載設備進行控制、監(jiān)測、故障分析以及為旅客提供信息服務[4]。IEC61375-1 將TCN 劃分為絞線式列車總線(Wire Train Bus,WTB)和多功能車輛總線(MVB)[5]。WTB 是用于列車車輛間的總線,而文中研究的MVB 總線則是列車車廂內(nèi)部眾多車載設備之間進行數(shù)據(jù)交換的總線[6]。
MVB 是一種串行數(shù)據(jù)通信總線,其傳輸速率可達1.5 Mbit/s[7],可連接多達4 095 個簡單傳感器/執(zhí)行器,為各類車載設備提供了標準的通信接口,在軌道車輛上應用廣泛。
MVB 物理層有ESD(短距離電傳輸介質(zhì))、EMD(中距離電傳輸介質(zhì))、OGF(光線介質(zhì))3種傳輸介質(zhì)[8]。MVB 總線由一個或多個總線段構(gòu)成,每個總線段又分為若干段,每段可由上述傳輸介質(zhì)中的一種擔任。
在MVB 總線上傳輸?shù)臄?shù)據(jù)幀可分為主幀和從幀。主幀由主設備發(fā)送,從幀由從設備發(fā)送。主設備發(fā)送主幀后,從設備響應該主幀并發(fā)送相應的從幀,這樣的主幀和從幀就構(gòu)成了一條報文[9]。一條有效的數(shù)據(jù)幀包括起始位、主幀或從幀的起始分界符和終止分界符、一個或多個8 位CRC 序列、主幀或從幀的幀數(shù)據(jù)[10]。
CAN 通信協(xié)議包含5 種幀類型,分別為數(shù)據(jù)幀、遙控幀、錯誤幀、過載幀、幀間隔[11]。另外,數(shù)據(jù)幀和遙控幀有標準格式和擴展格式兩種格式。標準格式有11 個位的標識符,擴展格式有29 個位的ID。數(shù)據(jù)幀一般由7 個段構(gòu)成。
UART(Universal Asynchronous Receiver/Transmitter)串口通信協(xié)議使用的是異步,串行通信。串行通信指的是利用簡單的一條線纜將數(shù)據(jù)一位一位的按順序傳輸,異步通信指的是傳輸?shù)膯挝粸橐粋€字符。在設計中,STM32 開發(fā)板自帶的電平轉(zhuǎn)換器SP3232,使UART 用于RS232 通信。
設計的網(wǎng)關(guān)是一種基于多功能車輛總線自主化核心控制芯片的網(wǎng)關(guān),可同時完成MVB 協(xié)議與CAN/UART 兩種協(xié)議之間的協(xié)議轉(zhuǎn)換。對比傳統(tǒng)網(wǎng)關(guān),現(xiàn)研究的新型網(wǎng)關(guān)的通信網(wǎng)絡模型如圖1 所示。該網(wǎng)關(guān)可以同時掛載具有CAN 接口、RS232 接口的車輛設備,從而減輕MVB 總線負載的壓力,節(jié)省網(wǎng)關(guān)設備,提高列車通信效率。
圖1 網(wǎng)關(guān)通信網(wǎng)絡模型對比圖
MVB 通信網(wǎng)關(guān)總體架構(gòu)如圖2 所示。
圖2 MVB通信網(wǎng)關(guān)總體架構(gòu)圖
網(wǎng)關(guān)硬件結(jié)構(gòu)主要由MVB 通信網(wǎng)關(guān)板卡、STM32H743 微控制器、電源板卡、網(wǎng)絡連接器及線纜等組成,如圖3 所示。一方面,MVB 通信網(wǎng)關(guān)板卡通過FMSC 接口控制MVB 芯片,MVB 芯片通過MVB總線收發(fā)器管理MVB 總線數(shù)據(jù)的收發(fā);另一方面,該板卡自帶FDCAN 控制器,通過TJA1050 與CAN 通信介質(zhì)相連,進行CAN 數(shù)據(jù)的收發(fā),串口收發(fā)器采用STM32H743 自帶的SP3232 芯片,該芯片能實現(xiàn)TTL 電平與RS232 電平的串口信號轉(zhuǎn)換;MVB 通信網(wǎng)關(guān)板卡中主控制器CPU 分別實現(xiàn)MVB 和CAN、UART 兩種總線間的數(shù)據(jù)相互轉(zhuǎn)換和存儲。電源板卡實現(xiàn)車輛110 V 直流電轉(zhuǎn)換為直流5 V,為MVB 通信網(wǎng)關(guān)板卡和MVB 芯片提供穩(wěn)定可靠的電源[12]。
另外,由中國通號自主研發(fā)的MVB 芯片是國內(nèi)首顆通過IEC6175 協(xié)議一致性認可的自主芯片,也是國內(nèi)首顆應用在高鐵、城軌列車信號控制系統(tǒng)上的核心控制芯片。它具有體積小、重量輕、集成度高、利于網(wǎng)絡的組件安裝等優(yōu)點,是作為MVB 總線控制器的最佳選擇,有利于進行組網(wǎng)規(guī)劃、便于組件安裝[13]。
該網(wǎng)關(guān)在Windows 系統(tǒng)下進行開發(fā),軟件開發(fā)環(huán)境為keil uVision5。文中的試驗平臺主要由阿波羅STM32 開發(fā)板的底板、STM32H743 核心板、自主化MVB 芯片組成。通信測試前,先將MVB 芯片和STM32H743 開發(fā)板之間進行物理連線,然后通過ST_LINK 將程序下載至開發(fā)板。
網(wǎng)關(guān)軟件的程序執(zhí)行流程如圖4 所示。
圖4 網(wǎng)關(guān)程序執(zhí)行流程圖
開始工作時,系統(tǒng)啟動引導程序,對所有硬件進行初始化并啟動操作系統(tǒng)內(nèi)核,對CAN 接口模塊及驅(qū)動芯片、UART 接口模塊及驅(qū)動芯片、MVB 芯片進行初始化[14]。CAN 數(shù)據(jù)報文在緩沖區(qū)中,調(diào)用CAN發(fā)送報文程序?qū)AN 報文發(fā)送到MVB 總線上,當CAN 總線上有數(shù)據(jù)到達時,調(diào)用CAN 接收報文程序,將接收的數(shù)據(jù)報文存入接收緩沖區(qū);同理,發(fā)送和接收RS232 數(shù)據(jù)報文。MVB 總線主設備發(fā)起一個主幀作為數(shù)據(jù)請求,主設備上的總線控制器定時從TM 通信存儲器中讀取主幀并發(fā)送主幀,相應地從設備進行響應,從TM 通信存儲器中讀取從幀并發(fā)送從幀,完成對MVB 報文數(shù)據(jù)的傳輸[15]。
軟件開發(fā)的目標是實現(xiàn)MVB 協(xié)議的過程數(shù)據(jù)通信,軟件設計的關(guān)鍵機制主要分為兩部分,第一部分為CAN 接口或RS232 串口和上位機通信的協(xié)議,主要包括總線協(xié)議的轉(zhuǎn)換、上位機總線的控制、命令的解析、命令的發(fā)送、數(shù)據(jù)的傳輸?shù)?,第二部分為MVB 總線接口驅(qū)動程序。
網(wǎng)關(guān)軟件原理模型如圖5 所示。
圖5 網(wǎng)關(guān)軟件原理模型
網(wǎng)關(guān)軟件主要由CAN/UART 控制模塊、MVB 控制模塊、總調(diào)度模塊、數(shù)據(jù)緩沖區(qū)A、B 構(gòu)成[16]。以MVB-CAN 網(wǎng)絡的數(shù)據(jù)交換為例,CAN 應用層向MVB 網(wǎng)絡發(fā)送CAN 數(shù)據(jù)時,總調(diào)度模塊監(jiān)測并指揮CAN 控制模塊接收傳來的CAN 數(shù)據(jù),CAN 控制模塊通過解碼分析得到CAN 數(shù)據(jù)幀的標識符,根據(jù)標識符在協(xié)議轉(zhuǎn)換路由表中找出相應的MVB 端口的相關(guān)變量,并將報文中的數(shù)據(jù)提取出來發(fā)送到數(shù)據(jù)緩沖區(qū)B。隨后,總調(diào)度模塊通知MVB 控制模塊,即調(diào)用MVB 芯片驅(qū)動函數(shù)來實現(xiàn)對MVB 芯片的控制,并將封裝好的MVB 報文發(fā)送到MVB 總線上。同理,當MVB 應用層向CAN/UART 網(wǎng)絡發(fā)送數(shù)據(jù)時,首先,總調(diào)度模塊識別到MVB 總線上有數(shù)據(jù)傳輸,先讀取MVB 數(shù)據(jù)幀,將MVB 數(shù)據(jù)發(fā)送到數(shù)據(jù)緩沖區(qū)A,同時讀取端口相關(guān)的變量,查詢協(xié)議轉(zhuǎn)換路由表中所對應的CAN/UART 標識符,總調(diào)度模塊調(diào)度CAN控制模塊提取緩沖區(qū)A 中的數(shù)據(jù)并封裝打包成CAN報文/UART 報文,最后調(diào)用CAN 收發(fā)程序或UART串口收發(fā)程序?qū)?shù)據(jù)發(fā)送到CAN 總線或者UART 總線上。
網(wǎng)關(guān)測試過程中,MVB-CAN、MVB-RS232 分別進行雙向協(xié)議轉(zhuǎn)換,每種方式的協(xié)議轉(zhuǎn)換測試方法是相同的,即每隔一段固定的時間,MVB 從設備通過網(wǎng)關(guān)向CAN 節(jié)點或UART 節(jié)點發(fā)送數(shù)據(jù)包,CAN節(jié)點或UART 節(jié)點接收到數(shù)據(jù)后,立即不加處理地返回該數(shù)據(jù)包,得到返回數(shù)據(jù)包后,計算得出延遲和報文丟失率等性能指標進而定性地描述網(wǎng)關(guān)性能。
經(jīng)過反復大量測試,得到測試結(jié)果如表1 和表2所示。
表1 MVB-CAN協(xié)議轉(zhuǎn)換網(wǎng)關(guān)測試結(jié)果
表2 MVB-RS232協(xié)議轉(zhuǎn)換網(wǎng)關(guān)測試結(jié)果
通過上述測試結(jié)果可知,測試過程中基本未發(fā)生丟幀和誤碼的情況,初步可判斷該網(wǎng)關(guān)能夠順利完成數(shù)據(jù)的傳輸。測試結(jié)果表明網(wǎng)關(guān)通信接口良好,達到了網(wǎng)關(guān)對于過程數(shù)據(jù)通信的基本要求。
文中設計了一款MVB-CAN/UART 的通信網(wǎng)關(guān),通過對網(wǎng)關(guān)功能和各相關(guān)通信協(xié)議的深入研究,對該網(wǎng)關(guān)進行軟件和硬件設計,最終實現(xiàn)了MVB 總線和CAN 總線/UART 總線的雙向數(shù)據(jù)通信及各通信協(xié)議間的轉(zhuǎn)換。測試結(jié)果表明,此網(wǎng)關(guān)能實時、可靠地完成數(shù)據(jù)交換,這為解決不同網(wǎng)絡間數(shù)據(jù)互聯(lián)互通問題提供了新思路,使得MVB 網(wǎng)關(guān)研究在國產(chǎn)化道路上取得了創(chuàng)新性成果。