趙 科
(大連交通大學電氣信息工程學院,遼寧 大連 116028)
隨著車載通信網(wǎng)絡的快速發(fā)展,用戶對其開放性、靈活性及應用多樣性等方面提出了更高的要求,使得具有不同特點的現(xiàn)場總線被引入列車總線網(wǎng)絡。如何有效地實現(xiàn)總線間的數(shù)據(jù)通信正成為研究的熱點。
多功能車輛總線(multifunction vehicle bus,MVB)是針對列車網(wǎng)絡通信開發(fā)的專用網(wǎng)絡,具有實時性好、通信速率高等特點[1]。但國外長期壟斷MVB網(wǎng)關及其他MVB總線設備的市場,使得MVB總線設備成本較高[2]??刂破骶钟蚓W(wǎng)絡(controller area network,CAN)總線具有極高的可靠性、實時性及性價比等特點[3],且國內(nèi)對CAN總線的應用較成熟,使其應用在鐵路上得到專注。CAN總線接入MVB車輛總線存在數(shù)據(jù)交換問題,故設計靠性高、實時性好的MVB-CAN網(wǎng)關,組建CAN總線和MVB總線的異構網(wǎng)絡,可解決CAN接口的設備與列車MVB網(wǎng)絡的互聯(lián)互通問題,推動國內(nèi)列車通信網(wǎng)絡的發(fā)展。
MVB-CAN網(wǎng)關結構圖如圖1所示。設備主要由CPU板卡、MVB通信網(wǎng)卡、電源板卡、機箱、網(wǎng)絡連接器及線纜等組成。
圖1 MVB-CAN網(wǎng)關結構圖
網(wǎng)關設計符合IEC 61375、ISO 14229、EN 50121-1、EN 50155、TB/T 1333.1-2002、TB/T 1333.1-2002等規(guī)范,具有良好電磁兼容性、擴展性、可移植性和可維護性等優(yōu)點。網(wǎng)關設備既可以插入標準的3U機箱,也可以設計成盒式結構,方便機架安裝及攜帶。機箱或盒式結構均采用U型鋁材并經(jīng)過氧化處理[4]。為了提高電磁兼容(electromagnetic compatibility,EMC)性,邊緣處帶有電磁屏蔽彈片,并設置了安全接地。板卡設計均采用3U結構,板卡間采用PC/104接口連接,并增加了銅支撐柱固定連接,提高抗震能力及接地保護。CPU主板還保留了背板連接器,方便與3U機箱背板連接。各連接器均采用專用連接器,保證連接可靠,外殼均通過電容接地。
由CPU板卡通過PC/104接口對MVB通信網(wǎng)卡中的總線控制器MVBC進行配置,總線控制器MVBC通過總線收發(fā)管理器MAX3485、隔離變壓器T60403-Y4021-X123與MVB通信介質相連,進行MVB數(shù)據(jù)收發(fā);由CPU板卡通過內(nèi)部總線控制CAN控制器,再通過CAN收發(fā)器與CAN通信介質相連,進行CAN數(shù)據(jù)收發(fā);CPU板卡中主控制器CPU實現(xiàn)MVB和CAN兩種總線數(shù)據(jù)相互轉換及存儲。CPU通過CPLD時序控制對PC/104接口進行I/O模式訪問,CPU與PC/104之間設計了電平轉換電路。電源板卡車輛110 V直流電轉換為直流5 V,從而為CPU板卡和MVB通信板卡提供穩(wěn)定可靠的電源。MVB-CAN網(wǎng)關硬件電路如圖2所示。
圖2 MVB-CAN網(wǎng)關硬件電路圖
1.2.1 CPU板卡
CPU板卡電路主要包括:STM32F207微控制器核心系統(tǒng)電路模塊(存儲器擴展、復位電路、看門狗電路和JTAG接口)、通信功能電路模塊、狀態(tài)指示電路模塊、PC/104接口電路模塊(時序控制和電平轉換)、擴展功能模塊(背板連接器)及板卡供電電路模塊[5]。CPU板卡主控制器采用STM32F207ZGT6控制器。該控制器內(nèi)核為CortexTM-M3架構[6],主頻高達120 MHz,帶有片上存儲器,包括1 MB的Flash存儲器和容量為128 KB的系統(tǒng)SRAM以及高達4 KB的備用SRAM,能夠滿足絕大部分應用需求。但考慮到網(wǎng)關的快速、實時及可靠等性能要求,以及數(shù)據(jù)量比較大,在STM32F207芯片外圍通過FSMC總線進行SRAM、NandFlash和EEPROM存儲擴展。CPU板卡上設計了開發(fā)網(wǎng)關所需的通信電路,包括2組CAN通信電路、1組RS-232串口通信電路、1組以太網(wǎng)通信電路。RS-232電路及以太網(wǎng)電路可以完成串行數(shù)據(jù)通信和以太網(wǎng)數(shù)據(jù)通信功能,用來實現(xiàn)MVB-CAN網(wǎng)關的調試以及系統(tǒng)維護、升級等功能。CAN總線通信電路由CAN總線控制器、CAN總線收發(fā)器和CAN總線接口組成,完成CAN數(shù)據(jù)的收發(fā)。由于STM32F207控制器芯片本身集成了專門的CAN總線控制器,支持CAN 2.0B協(xié)議通信,CAN收發(fā)器采用ANALOG DEVICES公司的符合ISO 11898標準的ADM3053BRWZ芯片。該芯片數(shù)據(jù)傳輸速率高達1 Mbit/s,直流5 V電源供電。CAN總線收發(fā)器提高了總線驅動能力,具有高頻干擾信號抑制作用,EMC滿足 EN 50155標準[7]。
1.2.2 MVB通信網(wǎng)卡
MVB通信網(wǎng)卡由CPU主控模塊、MVB協(xié)議控制器、通信存儲器、雙通道冗余的收發(fā)管理器等組成,可以實現(xiàn)MVB主動式網(wǎng)卡的全部功能。網(wǎng)卡與CPU板卡的數(shù)據(jù)通信采用PC/104并行總線接口。在本文設計的MVB-CAN通信網(wǎng)關測試中,MVB網(wǎng)卡工作在從模式,由STM32F207微控制器芯片通過PC/104總線進行控制,實現(xiàn)與MVB總線間的通信任務。網(wǎng)卡處理器采用AT91R40008微控制器,再加上外圍時鐘電路、復位電路、擴展存儲電路、電源電路等,共同組成了MVB通信網(wǎng)卡的CPU主控模塊。MVB網(wǎng)卡處理器AT91R40008外圍電路的設計與CPU板卡上STM32F207ZGT6芯片的外圍電路設計類似,在此不再贅述。MVB網(wǎng)卡和軟件功能滿足MVB的1類、2類、3類、4類設備的功能要求,電氣接口能提供ESD+、EMD、OGF 等總線接口,并實現(xiàn)介質冗余功能[8]。
1.2.3 電源板卡
網(wǎng)關使用列車上110 V直流供電,故設計了直流110 V轉直流5 V的電源板卡。該電源板卡通過PC/104連接器為CPU板卡和MVB通信網(wǎng)卡供電。該電源板卡采用了PWR-CFD10-110S05電源模塊。此模塊專為鐵路應用而研發(fā)的小型化DC-DC轉換模塊,滿足鐵路設備標準,輸入輸出都添加了隔離保護,短路保護以及具有自恢復功能,輸出功率可達到10 W。為了有效降低對電源電路的干擾,提高電源的可靠性,該電源板卡設計中采用了輸入防雷擊浪涌保護電路、二階共模濾波電路、一階差模濾波電路、整流電路、輸出一階共模濾波電路、穩(wěn)壓電路等。經(jīng)電磁兼容試驗,此板卡滿足浪涌(沖擊)抗擾度英標RIA12標準、電快速脈沖群抗擾度GB/T17626.4 3級、電源電壓變化和中斷 GB/T 25119 A級、EMI傳導試驗 GB 9254 A級、沖擊振動標準 GB/T21563 1類B級等要求。
網(wǎng)關軟件功能包括系統(tǒng)軟件和應用軟件。系統(tǒng)軟件主要有引導程序、操作系統(tǒng)內(nèi)核、文件系統(tǒng)。應用程序主要對各個接口電路及板卡進行初始化設置,實現(xiàn)數(shù)據(jù)收發(fā)和數(shù)據(jù)轉換功能。
MVB-CAN網(wǎng)關程序流程圖如圖3所示。
圖3 MVB-CAN網(wǎng)關程序流程圖
程序運行流程為:網(wǎng)關上電后,加載引導程序(Bootloader),引導系統(tǒng)啟動,完成后加載μC/OS-Ⅱ操作系統(tǒng)內(nèi)核[9],內(nèi)核啟動后加載文件系統(tǒng),最后調用網(wǎng)關應用程序。
網(wǎng)關應用程序首先進行MVB初始化及配置MVB板卡信息,初始化CAN接口,配置波特率等信息。MVB和CAN初始化后,創(chuàng)建線程數(shù)據(jù)共享區(qū),然后執(zhí)行CAN收發(fā)線程和MVB收發(fā)線程,循環(huán)掃描CAN和MVB的源端口與宿端口。當掃描到相關端口有數(shù)據(jù)到達時,則執(zhí)行相關通信線程中的應用程序,進行數(shù)據(jù)的接收與發(fā)送,并在主程序的控制下通過數(shù)據(jù)存儲區(qū)實現(xiàn)數(shù)據(jù)交換,從而實現(xiàn)網(wǎng)關MVB總線數(shù)據(jù)和CAN總線數(shù)據(jù)通信的功能。
MVB數(shù)據(jù)接收到CAN數(shù)據(jù)發(fā)送過程如下。首先,執(zhí)行MVB接收線程,接收MVB總線數(shù)據(jù),獲取MVB-CAN數(shù)據(jù)共享區(qū)互斥,更新MVB接收數(shù)據(jù)和MVB-CAN數(shù)據(jù)共享區(qū),釋放MVB-CAN數(shù)據(jù)共享區(qū)互斥。接著,執(zhí)行CAN發(fā)送線程,獲取MVB-CAN數(shù)據(jù)共享區(qū)互斥,更新MVB-CAN共享區(qū)數(shù)據(jù)到CAN發(fā)送區(qū),釋放MVB-CAN數(shù)據(jù)共享區(qū)互斥,配置CAN標志,將發(fā)送數(shù)據(jù)放入發(fā)送緩沖區(qū),調用CAN發(fā)送函數(shù),發(fā)送CAN數(shù)據(jù)。
CAN數(shù)據(jù)接收到MVB數(shù)據(jù)發(fā)送過程:首先執(zhí)行CAN接收線程,調用CAN接收函數(shù),接收CAN總線數(shù)據(jù),獲取CAN-MVB數(shù)據(jù)共享區(qū)互斥,更新CAN接收數(shù)據(jù)到CAN-MVB數(shù)據(jù)共享區(qū),釋放CAN-MVB數(shù)據(jù)共享區(qū)互斥。接著執(zhí)行MVB發(fā)送線程,獲取CAN-MVB數(shù)據(jù)共享區(qū)互斥,更新CAN-MVB共享區(qū)數(shù)據(jù)到MVB發(fā)送區(qū),釋放CAN-MVB數(shù)據(jù)共享區(qū)互斥,配置MVB標志及變量,將發(fā)送數(shù)據(jù)放入發(fā)送緩沖區(qū),發(fā)送MVB數(shù)據(jù)。
MVB-CAN網(wǎng)關測試平臺如圖4所示。
圖4 MVB-CAN網(wǎng)關測試平臺
測試MVB總線和CAN總線數(shù)據(jù)的轉換。其中,司控臺、VCU控制器和HMI顯示屏模擬列車MVB網(wǎng)絡通信,通過MVB屏蔽線纜連接。MVB-CAN網(wǎng)關通過MVB接口接入MVB網(wǎng)絡,再通過CAN接口接入CAN通信網(wǎng)絡。CAN總線側接入裝有PCI-CAN卡的工控機,模擬具有CAN接口的車載設備。在工控機上開發(fā)CAN2.0通信應用程序。當PCI-CAN板卡上電后,系統(tǒng)加載程序引導應用程序啟動后,首先對PCI-CAN板卡的CAN1和CAN2接口以及通信數(shù)據(jù)存儲區(qū)進行初始化、波特率和超時時間配置、配置完成之后,板卡進入工作模式。主程序能夠實現(xiàn)CAN2.0通信數(shù)據(jù)收發(fā)、PCI-CAN板卡的CAN2.0數(shù)據(jù)通信的功能。
MVB到CAN的通信測試例程為:操作司控臺發(fā)出司機室激活信號1號車門開信號和空調制暖信號,經(jīng)過VCU控制器,HMI顯示屏會顯示相應的信息,通過MVB-CAN網(wǎng)關。在工控機上通過PCI-CAN板卡數(shù)據(jù)接收程序,接收到CAN數(shù)據(jù)。通過分析數(shù)據(jù)流并進行解析,當MVB發(fā)送司機室激活信號時第一字節(jié)的第一位發(fā)生跳變,二進制為“00000001”,對應十六進制為“01”;當在司機室激活時發(fā)送門開信號,第一字節(jié)的第一位和第二位發(fā)生跳變,二進制數(shù)據(jù)為“0000 0011”,對應十六進制“03”;當在司機室激活時發(fā)送空調制暖信號,第一字節(jié)的第一位和第三位發(fā)生跳變,二進制數(shù)據(jù)為“00000101”,對應十六進制為“05”。驗證了MVB數(shù)據(jù)到CAN數(shù)據(jù)的正確轉換與傳輸。相反,當PCI-CAN工控機發(fā)送CAN數(shù)據(jù)“03”,通過MVB-CAN網(wǎng)關進行數(shù)據(jù)轉換,傳輸?shù)組VB總線上,并通過HMI顯示屏顯示司機室激活及1號車門打開,驗證了CAN數(shù)據(jù)和MVB數(shù)據(jù)的正確轉換與傳輸。
本文設計了一款MVB-CAN網(wǎng)關設備,用于MVB總線和CAN總線的雙向數(shù)據(jù)通信,并通過MVB-CAN網(wǎng)絡通信測試平臺對該設備進行系統(tǒng)測試。測試結果表明該設備可以實時、可靠地完成數(shù)據(jù)通信和轉換,解決了在列車通信異構組網(wǎng)中MVB總線和CAN總線的數(shù)據(jù)通信問題,推動了我國列車車載設備的開發(fā)進程。