摘 要:為確保多功能車輛總線MVB設備的兼容性和互操作性,需要采集MVB總線上傳輸的數據,分析其傳輸的正確與可靠性。在分析MVB協議特點的基礎上提出基于IEC61375標準的MVB總線分析儀方案,采用位同步的多點采樣算法采集總線上的數據寫入存儲器中,對上位機提供PC/104訪問存儲器的接口。實驗證明該總線分析儀能完整記錄總線上數據,從而實現總線分析的功能。
關鍵詞:多功能車輛總線;總線分析儀;位同步解碼算法;控制邏輯;PC/104
中圖分類號:U285.47,TP336文獻標識碼:B文章編號:1004373X(2008)2006203
Research and Design of MVB Bus Analysis Controller Based on FPGA
ZHANG Tao1,HUANG Zhiwu2
(1.Technology Section,Hudong Locomotive Depot of Daqin Limited Company,Datong,037005,China;
2.School of Information Science and Engineering,Central South University,Changsha,410075,China)
Abstract:To ensure compatibility and inter-operability among the MVB equipment,it requires that the data transmitted in the bus need to be collected,correctness and reliability of data transmission of the MVB network should be analyzed.According to the characteristics of the MVB protocol,this paper proposes an approach of analysis controller for MVB bus based on IEC61735 criterion.In the approach,it uses bit synchronization multi-point sampling algorithm to capture the data and then writes it to memorizer,and provides interface to access memorizer for position machine.The experiment proves that this analysis-controller can record the whole data on the bus,thus it realizes the function of bus analysis.
Keywords:multifunction vehicle bus;bus analysis controller;bit synchronization decode algorithm;control logic;PC/104
1 引 言
隨著高速鐵路的迅速發展以及機車車輛的現代化發展趨勢,對列車總線的可靠性、安全性、通訊實時性的要求進一步提高,國內的傳統的現場總線難于滿足要求,而多功能車輛總線(MVB)是快速的過程控制總線,能提供最佳的響應速度,且適合用作車輛總線,這就使得MVB逐漸成為下一代車輛的通信總線標準[1]。隨著MVB通信網絡應用的日益廣泛,我國鐵道部已將其作為列車通信的標準平臺,國內鐵路軌道交通設備制造企業也相繼從國外引進裝備有MVB網絡的列車微機控制系統,一些部門也開展了MVB相關產品的國產化研究和自主研發工作。為了確保不同設備制造廠家生產設備的兼容性,也為了驗證所研發的MVB產品的協議一致性,必須對各個MVB設備進行協議一致性測試,以提高MVB設備互連的成功率[2]。在MVB的設計和實施過程中,正確地分析出MVB總線運行狀態是一個重要的工作。因此對MVB網絡進行分析是進一步研究MVB技術的必備手段。
2 MVB協議簡介
MVB在物理層可以使用3種不同的物理介質:無隔離的短距離電氣介質ESD、有隔離的中距離電氣質EMD和長距離光纖介質OGF,所有的介質均采用1.5 Mb/s的傳輸速率。MVB對總線的介質訪問采用集中控制、周期性分配的主-從方式,由總線上惟一的總線管理器即主設備集中控制介質的存取。工作時主設備將總線帶(每個基本周期)分為周期性預先分配(周期相)和非周期性按需分配(偶發相)兩部分。周期相用于緊迫性、時性要求高且短小的周期性過程變量數據的傳輸速度、電機電流、司機命令等;偶發相則用于傳輸冗長但不頻繁的非周期性的消息數據,如設備診斷或旅信息。為滿足MVB在鏈路層上提供的2類數據通信服務的要求,TCN標準在MVB上定義了與總線類無關的實時協議RTP。從應用層看,RTP提供了2種類型的通信服務:過程變量和消息服務。過程變量服務的協議只包含物理層、鏈路層(分為介質存取控制MAC子層和邏輯鏈路控制LLC子層)應用層3個層次,用以傳輸周期性的控制命令和控制變量,以實現控制的實時性要求。其中鏈路層主要通過鏈路過程數據接口LPI處理端口和通信緩存的操作,完成協議大部分的工作;應用層則通過應用變量接口AVI處理過程變量的訪問[3]。
3 MVB總線分析結構設計
MVB網絡上傳輸的過程變量數據是通過主從幀應答與周期性廣播的形式,總線分析儀可連接在MVB網絡中時刻監聽MVB網絡中傳輸的幀數據。MVB總線分析儀按功能可分為譯碼模塊、控制模塊、存儲模塊和PC/104接口模塊4個部分,系統設計總體框圖如圖1所示。譯碼模塊采集總線上的數據,將數據傳送給控制模塊,控制模塊則根據幀的不同情況寫入存儲模塊,存儲模塊用于存儲幀數據,而對上位機提供PC/104接口[4,5]。

3.1 譯碼模塊
在MVB網絡中采用曼徹斯特編碼,數據傳輸速率為1.5 Mb/s,采樣頻率為數據傳送頻率的16倍頻率即24 MHz(周期為41.67 ns),因而一個完美的數據波形應為8個低電平和8個高電平,如圖2(a)所示。在非理想的狀態下,曼徹斯特碼高低電平的持續時間會在一個有限的范圍內隨機的變化,當這種變化是連續的變長或者連續的變短時,就有可能造成計數器的失步,如圖2(b)所示。

造成這一失步的根本原因是計數器的歸零是不受控制的,而采樣這一動作的觸發又是受制于計數器的,4 b計數器的歸零完全是24 MHz時鐘驅動下累加的結果(0000~1111的循環累加)。因而當出現電平連續變長或連續變短的情況時,本應該在每個曼徹斯特碼周期結束后歸零的計數器不能在下個曼徹斯特碼周期到來時回復到初始狀態即“0000”,這種錯誤的不斷累積將導致譯碼的失步(位失步)。這里是采取如下措施解決這一問題:檢測每位曼徹斯特碼中必然出現的電平跳變沿,將這一跳變沿作為計數器的控制信號;當此信號有效即將計數器置于理想狀態,這樣在每位曼徹斯特碼中,計數器都能夠進行1次與MVB串行信號的同步。
3.2 控制模塊
控制邏輯接收解碼器單元解碼后的信號,如果幀不完整或者CRC校驗錯誤,則加錯誤標志2直接與入存儲單元;幀完整則需要判斷主從幀;如果主幀則可直接加標志0寫入存儲單元;如果為從幀,則需要判斷從幀到達時間是否滿足要求;如果符合要求則加標志1寫入存儲單元。否則加標志2寫入存儲單元,整個控制邏輯的狀態轉移如圖3所示。

3.3 存儲模塊
通信存儲器是MVB總線分析儀的重要組成部分,它負責存儲MVB總線通信的數據,因此MVB與上位機通過PC/104接口模塊會頻繁的訪問通信存儲器進行數據的讀操作。實現通信存儲器有3種方式:用FPGA內部自帶的RAM資源實現;用FPGA內部的寄存器實現;用外部存儲器,例如SRAM,E2PROM等實現。最終選用FPGA內部自帶的RAM資源實現通信存儲器。原因包括以下幾點:現在高級的FPGA都帶有大小不等的片內RAM資源,如果使用外部的存儲器,則需要一些擴展電路因此導致電路變的復雜,增加了不穩定性的同時也帶來了外部寄存器的訪問延遲問題。經過比較,選用FPGA內部RAM實現通信存儲器是較好的方案。
3.4 PC104接口模塊
PC104接口有4種訪問方式:8位存儲器、16位存儲器、8位I/O和16位I/O。這里是8位存儲器方式,邏輯實現和布線都相對簡單。通過PC104總線接口,設備可以連接到PC104總線上并作為PC104總線上的一個標準設備使用。上位機可以通過PC104總線訪問設備和通信存儲器。一類設備只是CPU控制的設備之一,因而分配的內存空間有限制的。內存空間為0xD0000~0xE0000,需要地址譯碼將設備的通信存儲器映射到CPU的該內存區。PC104采用堆棧式結構,單列雙排插針和插孔,P1:64針,P2:40針,合計104個總線信號,接口引腳定義如表1所示。

4 實驗與應用
實驗室里在實驗室搭建的MVB網絡如圖4所示,MVB網絡由MVB主設備DUAGON公司的總線管理器D412,MVBC01芯片設計的MVB一類設備1與FPGA設計的MVB一類設備2與設備3。

MVB總線分析儀連接MVB網絡,上位機通過PC/104總線讀取MVB總線分析儀存儲模塊,MVB總線分析儀完整存儲了總線上數據,其中在所有獲得的數據中不完整的從幀數據如表2所示。
根據對采集到的不完整幀數據的分析,幀不完整的原因主要體現在幀頭的不正確(存在高電平或低電平時間過長或過短),CRC校驗錯誤(生成的CRC不正確),幀數據不完整,結束符時間過短。對主從幀數據對應關系來看,當總線上傳輸主幀時,設備應發送但沒有發送從幀的現象出現,針對這些問題可以逐一檢查FPGA等可編程器件里邏輯設計錯誤,通過改進減少不完整幀的出現,從而保證自主研發的MVB設備的數據在MVB網絡中可靠傳輸。

5 結 語
本文在研究MVB多功能車輛總線的基礎上,開發了具有PC104總線接口的MVB總線分析儀。該MVB總線分析儀已經實現了記錄MVB網絡傳輸所有數據,有利于更深一步掌握MVB總線網絡數據傳輸技術,并為驗證MVB設備互連與互操作性做好準備。
參考文獻
[1]IEC61375-1.Train Communication Network [S].Geneva,
1999.
[2]朱琴躍,謝維達,譚喜堂.MVB協議一致性研究與實現[J].鐵道學報,2007,8(4):115-120.
[3]魏宜軍,彭軍,劉劍鋒.基于ARM的MVB2類設備研究[J].現代電子技術,2007,30(15):93-96.
[4]張大波,李紅,邱志堅.MVB1類設備控制器的FPGA設計[J].電子技術應用,2007(2):84-87.
[5]王鋒.基于FPGA的MVB1類設備網卡的設計[J].機車電傳動,2004(6):21-23.
[6]孟盟,王立德,王永翔.基于SoPC的MVB網絡節點設計與TCN組網\\.現代電子技術,2007,(30)22:96-98.
作者簡介
張 濤 男,1973年出生,1996年畢業于北方交通大學計算技術與管理專業,本科,工程師,現從事于機車遠程分布式動力同步控制、機車網絡的研究。
黃志武 男,1966年出生,中南大學信息科學與工程學院副教授,博士。主要從事故障診斷、智能控制、機車控制系統、列車通信網的研究工作。