MVB多功能車輛總線是在國際標準IEC61375列車通信網(wǎng)絡(luò)(TCN)中被詳細定義的一種現(xiàn)場總線,按照TCN標準,,列車通信網(wǎng)分為兩級,,第一級絞線式列車總線實現(xiàn)車輛間的數(shù)據(jù)通信,第二級多功能車輛總線MVB主實現(xiàn)同車輛內(nèi)各個功能控制單元之間的數(shù)據(jù)通信,。MVB以其高實時性,、高可靠性及可管理性等多方面的優(yōu)勢而廣泛應(yīng)用在列車總線控制當(dāng)中。但是由于MVB是專門針對列車通信網(wǎng)絡(luò)而開發(fā)的,,其實用范圍,、供貨商、經(jīng)濟型均不如CAN總線,。CAN總線作為現(xiàn)場設(shè)備級的通信總線具有很高的可靠性和性價比,。目前很多機車車輛的列車通信網(wǎng)絡(luò)系統(tǒng)都采用MVB總線和CAN總線共同組成的異構(gòu)網(wǎng)絡(luò)。因此,本文提出了一種基于μC/OS-Ⅱ的ARM7內(nèi)核芯片LPC2294的MVB-CAN雙向通信模塊,。
1 MVB多功能車輛總線
MVB是國際標準IEC61375-1的車輛總線部分,,它主要用于具有互操作性和互換性要求的互聯(lián)設(shè)備之間通信的串行數(shù)據(jù)總線。MVB采用主幀/從幀應(yīng)答方式,,可以實現(xiàn)設(shè)備和介質(zhì)冗余,,實時性靠RTP實時協(xié)議保證。MVB介質(zhì)分為3種:電氣短距離介質(zhì)為RS 485差分傳輸導(dǎo)線對,,傳輸距離為20 m;電氣中距離介質(zhì)為雙絞屏蔽線,,傳輸距離為200 m;電氣長距離介質(zhì)為光纖,傳輸距離為2 km,。
MVB作為主從方式的串行通訊總線,是可以實現(xiàn)過程控制優(yōu)化的總線,。MVB具有良好的實時響應(yīng),,一般用作車輛內(nèi)部設(shè)備之問的數(shù)據(jù)通信,其采用曼徹斯特編碼方式,,數(shù)據(jù)傳輸速率為1.5 MHz,。MVB多功能車輛總線主要由通信介質(zhì)、MVBC協(xié)議控制器和MVB鏈路軟件3部分構(gòu)成,。
MVB具有2種幀格式,,一種是只能由總線主設(shè)備發(fā)送的主設(shè)備幀,簡稱主幀;另一種是為響應(yīng)主幀而由從設(shè)備發(fā)送的從設(shè)備幀,,簡稱從幀,。總線主設(shè)備在每一個特征周期里通過發(fā)主幀的方式對進程數(shù)據(jù)進行輪詢,,相應(yīng)地從設(shè)備發(fā)送從幀進行真正的數(shù)據(jù)傳輸,。報文由主幀和響應(yīng)此主幀而送出的從幀組成。一個主幀應(yīng)以主起始分界符開始,,其后為16 b幀數(shù)據(jù),,接著為8 b校驗序列。
一個從幀應(yīng)以從起始分界符開始;接著為(16,,32,,64,128或256)b幀數(shù)據(jù),,在每64個數(shù)據(jù)位包含一個8 b的校驗序列,,當(dāng)幀數(shù)據(jù)只有16 b或32 b時將一個8 b的校驗序列附加其后。
2 CAN總線
控制器局域網(wǎng)(Conteoller Area Network,,CAN)是國際上應(yīng)用最廣泛的現(xiàn)場總線之一,,最早由德國BOSCH公司推出,是一種用于汽車內(nèi)部測量與執(zhí)行部件之間的數(shù)據(jù)通信協(xié)議,CAN總線作為一種技術(shù)先進,,可靠性高,,功能完善,成本合理的遠程網(wǎng)絡(luò)通信控制技術(shù),,CAN總線已被廣泛應(yīng)用于各個領(lǐng)域,。它為分布式控制系統(tǒng)實現(xiàn)各功能節(jié)點之間實時、可靠的數(shù)據(jù)通信提供強有力的技術(shù)支持,。其報文結(jié)構(gòu)可以分為2種不同的幀格式,,兩種幀格式的不同之處為標識符的長度不同:具有11位標識符的幀稱為標準幀,具有29位標識符的幀稱為擴展幀,。本設(shè)計中主要考慮標準幀的情況,。標準幀的報文由4種不同類型的幀構(gòu)成表示:數(shù)據(jù)幀、遠程幀,、出錯幀和超載幀,。以數(shù)據(jù)幀為例:數(shù)據(jù)幀由7個不同部分構(gòu)成:幀起始、仲裁場,、控制場,、數(shù)據(jù)場、CRC場,、應(yīng)答場和幀結(jié)束,。
3 通信網(wǎng)關(guān)模塊硬件設(shè)計
網(wǎng)關(guān)模塊的硬件框圖如1所示。
網(wǎng)關(guān)通信模塊研制" src="http://files.chinaaet.com/images/2012/08/25/5e7d45d3-3458-4a54-bcf8-52b43644eb41.jpg" />
處理器采用基于ARM7的LPC2294,。LPC2294是一款基于16 b/32 b ARM7TDMI-S內(nèi)核,,內(nèi)帶16 KB RAM和256 KB高速FLASH的微處理器,最大時鐘速率60 MHz,。內(nèi)帶2路CAN通道,,其CAN控制器集成了數(shù)據(jù)鏈路層功能,符合CAN2.0A和CAN2.0B的規(guī)范,。
CAN收發(fā)器采用Philips PCA82C250,。主要提供對總線的差分發(fā)送能力和對CAN控制器的差動分接收能力。微處理器對CAN控制器進行相應(yīng)配置后,,收發(fā)器自動完成相應(yīng)的CAN總線動作,。
MVB通信控制器采用MVBC02專用芯片,它采用16 b數(shù)據(jù)總線,,提供了豐富的接口控制信號,,簡化了與各種宿主CPU以及通信存儲器的接口設(shè)計,支持MVB協(xié)議中鏈路層及物理層的功能,。MVB物理層接口采用電氣短距離介質(zhì)ESD+接口,,系統(tǒng)信號通道使用光耦實現(xiàn)主系統(tǒng)與外界的電隔離,,從而提高了系統(tǒng)的可靠性。使用RS 485芯片LTC1485I作為收發(fā)器,,并使用過壓保護模塊以防止瞬間過壓對器件造成損壞,。MVB物理層接口電路如圖2所示。
4 軟件實現(xiàn)方案
在本設(shè)計中,,關(guān)鍵是實現(xiàn)MVB總線和CAN總線之間的數(shù)據(jù)交換,,它具有MVB檢測和接入功能,以及CAN總線檢測和接入功能,,通過處理器控制數(shù)據(jù)幀的解析和重新封裝,,實現(xiàn)符合CAN總線V2.0規(guī)范和MVB標準格式幀的相互轉(zhuǎn)換。因此從CAN側(cè)接收到的數(shù)據(jù)要通過MVB傳輸,,就需要按照一定的格式把CAN幀中的數(shù)據(jù)組合成MVB幀的數(shù)據(jù)格式;同樣從MVB側(cè)接收到的數(shù)據(jù)要通過CAN傳輸,,也需要按照一定的格式對MVB幀中的數(shù)據(jù)進行分幀處理。另外,,為了實現(xiàn)透明傳輸需要在MVB端口中將各種變量的含義按照一定的規(guī)則和CAN總線側(cè)幀的標識符等信息對應(yīng),,從而形成一個表格,同樣在CAN總線側(cè)也將CAN側(cè)的標識符與MVB側(cè)的過程數(shù)據(jù)的數(shù)據(jù)集進行對應(yīng)形成表格,。
軟件主要由主函數(shù)調(diào)度模塊、MVB控制模塊,、CAN控制模塊以及2個數(shù)據(jù)緩沖組成,。當(dāng)CAN應(yīng)用層有數(shù)據(jù)要發(fā)送到MVB網(wǎng)絡(luò)時,主函數(shù)需調(diào)度模塊得到CAN數(shù)據(jù)傳輸后調(diào)度CAN控制模塊接收數(shù)據(jù),,解碼分析獲取標識符,,依據(jù)標識符查詢索引表找出對應(yīng)MVB端口相關(guān)變量,后將報文中的相關(guān)數(shù)據(jù)提取出來發(fā)送到數(shù)據(jù)緩沖區(qū)B,。主函數(shù)調(diào)度模塊通知MVB控制模塊從緩沖區(qū)B中提取數(shù)據(jù),,并進行完整的MVB報文封裝,發(fā)送到MVB總線上,,釋放緩沖區(qū)B,。反過來,當(dāng)MVB應(yīng)用層有數(shù)據(jù)要發(fā)送到CAN節(jié)點時,,首先,,數(shù)據(jù)發(fā)送到MVB上,主函數(shù)調(diào)度模塊檢測MVB上是否有數(shù)據(jù)傳輸,,通知MVB控制模塊接受數(shù)據(jù),,并對信息解碼分析,從中獲取端口相關(guān)變量,,依據(jù)端口相關(guān)變量查詢索引表找出對應(yīng)CAN標識符,,同時將數(shù)據(jù)發(fā)送到數(shù)據(jù)緩沖區(qū)A,。此時,總調(diào)度模塊通知CAN控制模塊從緩沖區(qū)A中提取數(shù)據(jù),,并進行完整的CAN報文封裝,,發(fā)送到CAN總線上,釋放緩沖區(qū)A,。CAN控制模塊主要負責(zé)從CAN數(shù)據(jù)包中解析出完整CAN協(xié)議報文,,存入數(shù)據(jù)緩沖區(qū)B。同時,,將數(shù)據(jù)緩沖區(qū)A中的CAN數(shù)據(jù)封裝成完整的CAN協(xié)議報文后發(fā)送到CAN總線上,。MVB控制模塊主要負責(zé)從MVB數(shù)據(jù)包中解析出完整MVB協(xié)議報文,存入數(shù)據(jù)緩沖區(qū)A,。同時,,將數(shù)據(jù)緩沖區(qū)B中的MVB數(shù)據(jù)封裝成完整的MVB協(xié)議報文后發(fā)送到MVB上??傉{(diào)度模塊主要起到綜合調(diào)度和監(jiān)控作用,,同時,它還用于整個傳輸過程中的中斷響應(yīng),。
圖3說明了軟件流程框圖,。
5 結(jié)語
本文描述了基于ARM7處理器LPC2294的MVB-CAN通信模塊的實現(xiàn)方法,概述了MVB網(wǎng)絡(luò)和CAN總線網(wǎng)絡(luò)的報文結(jié)構(gòu),,提出通信模塊的硬,、軟件實現(xiàn)方法。通過考核該通信模塊實現(xiàn)了MVB與CAN總線間的數(shù)據(jù)傳遞,,其性能穩(wěn)定,,可靠性高。各種現(xiàn)場總線都有各自應(yīng)用特點及優(yōu)勢,。所以,,多類型總線異構(gòu)組網(wǎng)方式在列車通信網(wǎng)絡(luò)中的應(yīng)用越來越廣泛。MVB及CAN總線的異構(gòu)組網(wǎng)方式具有廣闊的市場前景,。MVB-CAN通信模塊的設(shè)計為列車通信網(wǎng)絡(luò)的多元化發(fā)展提供了支持,,也為其他網(wǎng)絡(luò)異構(gòu)組網(wǎng)(例如:RS 485/RS 422-MVB,HDLC-MVB等)方式的網(wǎng)絡(luò)通信模塊設(shè)計提供了參考,。