趙 科
(大連交通大學電氣信息工程學院,遼寧 大連 116028)
隨著車載通信網絡的快速發展,用戶對其開放性、靈活性及應用多樣性等方面提出了更高的要求,使得具有不同特點的現場總線被引入列車總線網絡。如何有效地實現總線間的數據通信正成為研究的熱點。
多功能車輛總線(multifunction vehicle bus,MVB)是針對列車網絡通信開發的專用網絡,具有實時性好、通信速率高等特點[1]。但國外長期壟斷MVB網關及其他MVB總線設備的市場,使得MVB總線設備成本較高[2]??刂破骶钟蚓W絡(controller area network,CAN)總線具有極高的可靠性、實時性及性價比等特點[3],且國內對CAN總線的應用較成熟,使其應用在鐵路上得到專注。CAN總線接入MVB車輛總線存在數據交換問題,故設計靠性高、實時性好的MVB-CAN網關,組建CAN總線和MVB總線的異構網絡,可解決CAN接口的設備與列車MVB網絡的互聯互通問題,推動國內列車通信網絡的發展。
MVB-CAN網關結構圖如圖1所示。設備主要由CPU板卡、MVB通信網卡、電源板卡、機箱、網絡連接器及線纜等組成。

圖1 MVB-CAN網關結構圖
網關設計符合IEC 61375、ISO 14229、EN 50121-1、EN 50155、TB/T 1333.1-2002、TB/T 1333.1-2002等規范,具有良好電磁兼容性、擴展性、可移植性和可維護性等優點。網關設備既可以插入標準的3U機箱,也可以設計成盒式結構,方便機架安裝及攜帶。機箱或盒式結構均采用U型鋁材并經過氧化處理[4]。為了提高電磁兼容(electromagnetic compatibility,EMC)性,邊緣處帶有電磁屏蔽彈片,并設置了安全接地。板卡設計均采用3U結構,板卡間采用PC/104接口連接,并增加了銅支撐柱固定連接,提高抗震能力及接地保護。CPU主板還保留了背板連接器,方便與3U機箱背板連接。各連接器均采用專用連接器,保證連接可靠,外殼均通過電容接地。
由CPU板卡通過PC/104接口對MVB通信網卡中的總線控制器MVBC進行配置,總線控制器MVBC通過總線收發管理器MAX3485、隔離變壓器T60403-Y4021-X123與MVB通信介質相連,進行MVB數據收發;由CPU板卡通過內部總線控制CAN控制器,再通過CAN收發器與CAN通信介質相連,進行CAN數據收發;CPU板卡中主控制器CPU實現MVB和CAN兩種總線數據相互轉換及存儲。CPU通過CPLD時序控制對PC/104接口進行I/O模式訪問,CPU與PC/104之間設計了電平轉換電路。電源板卡車輛110 V直流電轉換為直流5 V,從而為CPU板卡和MVB通信板卡提供穩定可靠的電源。MVB-CAN網關硬件電路如圖2所示。

圖2 MVB-CAN網關硬件電路圖
1.2.1 CPU板卡
CPU板卡電路主要包括:STM32F207微控制器核心系統電路模塊(存儲器擴展、復位電路、看門狗電路和JTAG接口)、通信功能電路模塊、狀態指示電路模塊、PC/104接口電路模塊(時序控制和電平轉換)、擴展功能模塊(背板連接器)及板卡供電電路模塊[5]。CPU板卡主控制器采用STM32F207ZGT6控制器。該控制器內核為CortexTM-M3架構[6],主頻高達120 MHz,帶有片上存儲器,包括1 MB的Flash存儲器和容量為128 KB的系統SRAM以及高達4 KB的備用SRAM,能夠滿足絕大部分應用需求。但考慮到網關的快速、實時及可靠等性能要求,以及數據量比較大,在STM32F207芯片外圍通過FSMC總線進行SRAM、NandFlash和EEPROM存儲擴展。CPU板卡上設計了開發網關所需的通信電路,包括2組CAN通信電路、1組RS-232串口通信電路、1組以太網通信電路。RS-232電路及以太網電路可以完成串行數據通信和以太網數據通信功能,用來實現MVB-CAN網關的調試以及系統維護、升級等功能。CAN總線通信電路由CAN總線控制器、CAN總線收發器和CAN總線接口組成,完成CAN數據的收發。由于STM32F207控制器芯片本身集成了專門的CAN總線控制器,支持CAN 2.0B協議通信,CAN收發器采用ANALOG DEVICES公司的符合ISO 11898標準的ADM3053BRWZ芯片。該芯片數據傳輸速率高達1 Mbit/s,直流5 V電源供電。CAN總線收發器提高了總線驅動能力,具有高頻干擾信號抑制作用,EMC滿足 EN 50155標準[7]。
1.2.2 MVB通信網卡
MVB通信網卡由CPU主控模塊、MVB協議控制器、通信存儲器、雙通道冗余的收發管理器等組成,可以實現MVB主動式網卡的全部功能。網卡與CPU板卡的數據通信采用PC/104并行總線接口。在本文設計的MVB-CAN通信網關測試中,MVB網卡工作在從模式,由STM32F207微控制器芯片通過PC/104總線進行控制,實現與MVB總線間的通信任務。網卡處理器采用AT91R40008微控制器,再加上外圍時鐘電路、復位電路、擴展存儲電路、電源電路等,共同組成了MVB通信網卡的CPU主控模塊。MVB網卡處理器AT91R40008外圍電路的設計與CPU板卡上STM32F207ZGT6芯片的外圍電路設計類似,在此不再贅述。MVB網卡和軟件功能滿足MVB的1類、2類、3類、4類設備的功能要求,電氣接口能提供ESD+、EMD、OGF 等總線接口,并實現介質冗余功能[8]。
1.2.3 電源板卡
網關使用列車上110 V直流供電,故設計了直流110 V轉直流5 V的電源板卡。該電源板卡通過PC/104連接器為CPU板卡和MVB通信網卡供電。該電源板卡采用了PWR-CFD10-110S05電源模塊。此模塊專為鐵路應用而研發的小型化DC-DC轉換模塊,滿足鐵路設備標準,輸入輸出都添加了隔離保護,短路保護以及具有自恢復功能,輸出功率可達到10 W。為了有效降低對電源電路的干擾,提高電源的可靠性,該電源板卡設計中采用了輸入防雷擊浪涌保護電路、二階共模濾波電路、一階差模濾波電路、整流電路、輸出一階共模濾波電路、穩壓電路等。經電磁兼容試驗,此板卡滿足浪涌(沖擊)抗擾度英標RIA12標準、電快速脈沖群抗擾度GB/T17626.4 3級、電源電壓變化和中斷 GB/T 25119 A級、EMI傳導試驗 GB 9254 A級、沖擊振動標準 GB/T21563 1類B級等要求。
網關軟件功能包括系統軟件和應用軟件。系統軟件主要有引導程序、操作系統內核、文件系統。應用程序主要對各個接口電路及板卡進行初始化設置,實現數據收發和數據轉換功能。
MVB-CAN網關程序流程圖如圖3所示。

圖3 MVB-CAN網關程序流程圖
程序運行流程為:網關上電后,加載引導程序(Bootloader),引導系統啟動,完成后加載μC/OS-Ⅱ操作系統內核[9],內核啟動后加載文件系統,最后調用網關應用程序。
網關應用程序首先進行MVB初始化及配置MVB板卡信息,初始化CAN接口,配置波特率等信息。MVB和CAN初始化后,創建線程數據共享區,然后執行CAN收發線程和MVB收發線程,循環掃描CAN和MVB的源端口與宿端口。當掃描到相關端口有數據到達時,則執行相關通信線程中的應用程序,進行數據的接收與發送,并在主程序的控制下通過數據存儲區實現數據交換,從而實現網關MVB總線數據和CAN總線數據通信的功能。
MVB數據接收到CAN數據發送過程如下。首先,執行MVB接收線程,接收MVB總線數據,獲取MVB-CAN數據共享區互斥,更新MVB接收數據和MVB-CAN數據共享區,釋放MVB-CAN數據共享區互斥。接著,執行CAN發送線程,獲取MVB-CAN數據共享區互斥,更新MVB-CAN共享區數據到CAN發送區,釋放MVB-CAN數據共享區互斥,配置CAN標志,將發送數據放入發送緩沖區,調用CAN發送函數,發送CAN數據。
CAN數據接收到MVB數據發送過程:首先執行CAN接收線程,調用CAN接收函數,接收CAN總線數據,獲取CAN-MVB數據共享區互斥,更新CAN接收數據到CAN-MVB數據共享區,釋放CAN-MVB數據共享區互斥。接著執行MVB發送線程,獲取CAN-MVB數據共享區互斥,更新CAN-MVB共享區數據到MVB發送區,釋放CAN-MVB數據共享區互斥,配置MVB標志及變量,將發送數據放入發送緩沖區,發送MVB數據。
MVB-CAN網關測試平臺如圖4所示。

圖4 MVB-CAN網關測試平臺
測試MVB總線和CAN總線數據的轉換。其中,司控臺、VCU控制器和HMI顯示屏模擬列車MVB網絡通信,通過MVB屏蔽線纜連接。MVB-CAN網關通過MVB接口接入MVB網絡,再通過CAN接口接入CAN通信網絡。CAN總線側接入裝有PCI-CAN卡的工控機,模擬具有CAN接口的車載設備。在工控機上開發CAN2.0通信應用程序。當PCI-CAN板卡上電后,系統加載程序引導應用程序啟動后,首先對PCI-CAN板卡的CAN1和CAN2接口以及通信數據存儲區進行初始化、波特率和超時時間配置、配置完成之后,板卡進入工作模式。主程序能夠實現CAN2.0通信數據收發、PCI-CAN板卡的CAN2.0數據通信的功能。
MVB到CAN的通信測試例程為:操作司控臺發出司機室激活信號1號車門開信號和空調制暖信號,經過VCU控制器,HMI顯示屏會顯示相應的信息,通過MVB-CAN網關。在工控機上通過PCI-CAN板卡數據接收程序,接收到CAN數據。通過分析數據流并進行解析,當MVB發送司機室激活信號時第一字節的第一位發生跳變,二進制為“00000001”,對應十六進制為“01”;當在司機室激活時發送門開信號,第一字節的第一位和第二位發生跳變,二進制數據為“0000 0011”,對應十六進制“03”;當在司機室激活時發送空調制暖信號,第一字節的第一位和第三位發生跳變,二進制數據為“00000101”,對應十六進制為“05”。驗證了MVB數據到CAN數據的正確轉換與傳輸。相反,當PCI-CAN工控機發送CAN數據“03”,通過MVB-CAN網關進行數據轉換,傳輸到MVB總線上,并通過HMI顯示屏顯示司機室激活及1號車門打開,驗證了CAN數據和MVB數據的正確轉換與傳輸。
本文設計了一款MVB-CAN網關設備,用于MVB總線和CAN總線的雙向數據通信,并通過MVB-CAN網絡通信測試平臺對該設備進行系統測試。測試結果表明該設備可以實時、可靠地完成數據通信和轉換,解決了在列車通信異構組網中MVB總線和CAN總線的數據通信問題,推動了我國列車車載設備的開發進程。