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