摘 要:為確保多功能車輛總線MVB設(shè)備的兼容性和互操作性,需要采集MVB總線上傳輸?shù)臄?shù)據(jù),分析其傳輸?shù)恼_與可靠性。在分析MVB協(xié)議特點(diǎn)的基礎(chǔ)上提出基于IEC61375標(biāo)準(zhǔn)的MVB總線分析儀方案,采用位同步的多點(diǎn)采樣算法采集總線上的數(shù)據(jù)寫入存儲(chǔ)器中,對(duì)上位機(jī)提供PC/104訪問存儲(chǔ)器的接口。實(shí)驗(yàn)證明該總線分析儀能完整記錄總線上數(shù)據(jù),從而實(shí)現(xiàn)總線分析的功能。
關(guān)鍵詞:多功能車輛總線;總線分析儀;位同步解碼算法;控制邏輯;PC/104
中圖分類號(hào):U285.47,TP336文獻(xiàn)標(biāo)識(shí)碼:B文章編號(hào):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 引 言
隨著高速鐵路的迅速發(fā)展以及機(jī)車車輛的現(xiàn)代化發(fā)展趨勢(shì),對(duì)列車總線的可靠性、安全性、通訊實(shí)時(shí)性的要求進(jìn)一步提高,國(guó)內(nèi)的傳統(tǒng)的現(xiàn)場(chǎng)總線難于滿足要求,而多功能車輛總線(MVB)是快速的過程控制總線,能提供最佳的響應(yīng)速度,且適合用作車輛總線,這就使得MVB逐漸成為下一代車輛的通信總線標(biāo)準(zhǔn)[1]。隨著MVB通信網(wǎng)絡(luò)應(yīng)用的日益廣泛,我國(guó)鐵道部已將其作為列車通信的標(biāo)準(zhǔn)平臺(tái),國(guó)內(nèi)鐵路軌道交通設(shè)備制造企業(yè)也相繼從國(guó)外引進(jìn)裝備有MVB網(wǎng)絡(luò)的列車微機(jī)控制系統(tǒng),一些部門也開展了MVB相關(guān)產(chǎn)品的國(guó)產(chǎn)化研究和自主研發(fā)工作。為了確保不同設(shè)備制造廠家生產(chǎn)設(shè)備的兼容性,也為了驗(yàn)證所研發(fā)的MVB產(chǎn)品的協(xié)議一致性,必須對(duì)各個(gè)MVB設(shè)備進(jìn)行協(xié)議一致性測(cè)試,以提高M(jìn)VB設(shè)備互連的成功率[2]。在MVB的設(shè)計(jì)和實(shí)施過程中,正確地分析出MVB總線運(yùn)行狀態(tài)是一個(gè)重要的工作。因此對(duì)MVB網(wǎng)絡(luò)進(jìn)行分析是進(jìn)一步研究MVB技術(shù)的必備手段。
2 MVB協(xié)議簡(jiǎn)介
MVB在物理層可以使用3種不同的物理介質(zhì):無隔離的短距離電氣介質(zhì)ESD、有隔離的中距離電氣質(zhì)EMD和長(zhǎng)距離光纖介質(zhì)OGF,所有的介質(zhì)均采用1.5 Mb/s的傳輸速率。MVB對(duì)總線的介質(zhì)訪問采用集中控制、周期性分配的主-從方式,由總線上惟一的總線管理器即主設(shè)備集中控制介質(zhì)的存取。工作時(shí)主設(shè)備將總線帶(每個(gè)基本周期)分為周期性預(yù)先分配(周期相)和非周期性按需分配(偶發(fā)相)兩部分。周期相用于緊迫性、時(shí)性要求高且短小的周期性過程變量數(shù)據(jù)的傳輸速度、電機(jī)電流、司機(jī)命令等;偶發(fā)相則用于傳輸冗長(zhǎng)但不頻繁的非周期性的消息數(shù)據(jù),如設(shè)備診斷或旅信息。為滿足MVB在鏈路層上提供的2類數(shù)據(jù)通信服務(wù)的要求,TCN標(biāo)準(zhǔn)在MVB上定義了與總線類無關(guān)的實(shí)時(shí)協(xié)議RTP。從應(yīng)用層看,RTP提供了2種類型的通信服務(wù):過程變量和消息服務(wù)。過程變量服務(wù)的協(xié)議只包含物理層、鏈路層(分為介質(zhì)存取控制MAC子層和邏輯鏈路控制LLC子層)應(yīng)用層3個(gè)層次,用以傳輸周期性的控制命令和控制變量,以實(shí)現(xiàn)控制的實(shí)時(shí)性要求。其中鏈路層主要通過鏈路過程數(shù)據(jù)接口LPI處理端口和通信緩存的操作,完成協(xié)議大部分的工作;應(yīng)用層則通過應(yīng)用變量接口AVI處理過程變量的訪問[3]。
3 MVB總線分析結(jié)構(gòu)設(shè)計(jì)
MVB網(wǎng)絡(luò)上傳輸?shù)倪^程變量數(shù)據(jù)是通過主從幀應(yīng)答與周期性廣播的形式,總線分析儀可連接在MVB網(wǎng)絡(luò)中時(shí)刻監(jiān)聽MVB網(wǎng)絡(luò)中傳輸?shù)膸瑪?shù)據(jù)。MVB總線分析儀按功能可分為譯碼模塊、控制模塊、存儲(chǔ)模塊和PC/104接口模塊4個(gè)部分,系統(tǒng)設(shè)計(jì)總體框圖如圖1所示。譯碼模塊采集總線上的數(shù)據(jù),將數(shù)據(jù)傳送給控制模塊,控制模塊則根據(jù)幀的不同情況寫入存儲(chǔ)模塊,存儲(chǔ)模塊用于存儲(chǔ)幀數(shù)據(jù),而對(duì)上位機(jī)提供PC/104接口[4,5]。
3.1 譯碼模塊
在MVB網(wǎng)絡(luò)中采用曼徹斯特編碼,數(shù)據(jù)傳輸速率為1.5 Mb/s,采樣頻率為數(shù)據(jù)傳送頻率的16倍頻率即24 MHz(周期為41.67 ns),因而一個(gè)完美的數(shù)據(jù)波形應(yīng)為8個(gè)低電平和8個(gè)高電平,如圖2(a)所示。在非理想的狀態(tài)下,曼徹斯特碼高低電平的持續(xù)時(shí)間會(huì)在一個(gè)有限的范圍內(nèi)隨機(jī)的變化,當(dāng)這種變化是連續(xù)的變長(zhǎng)或者連續(xù)的變短時(shí),就有可能造成計(jì)數(shù)器的失步,如圖2(b)所示。
造成這一失步的根本原因是計(jì)數(shù)器的歸零是不受控制的,而采樣這一動(dòng)作的觸發(fā)又是受制于計(jì)數(shù)器的,4 b計(jì)數(shù)器的歸零完全是24 MHz時(shí)鐘驅(qū)動(dòng)下累加的結(jié)果(0000~1111的循環(huán)累加)。因而當(dāng)出現(xiàn)電平連續(xù)變長(zhǎng)或連續(xù)變短的情況時(shí),本應(yīng)該在每個(gè)曼徹斯特碼周期結(jié)束后歸零的計(jì)數(shù)器不能在下個(gè)曼徹斯特碼周期到來時(shí)回復(fù)到初始狀態(tài)即“0000”,這種錯(cuò)誤的不斷累積將導(dǎo)致譯碼的失步(位失步)。這里是采取如下措施解決這一問題:檢測(cè)每位曼徹斯特碼中必然出現(xiàn)的電平跳變沿,將這一跳變沿作為計(jì)數(shù)器的控制信號(hào);當(dāng)此信號(hào)有效即將計(jì)數(shù)器置于理想狀態(tài),這樣在每位曼徹斯特碼中,計(jì)數(shù)器都能夠進(jìn)行1次與MVB串行信號(hào)的同步。
3.2 控制模塊
控制邏輯接收解碼器單元解碼后的信號(hào),如果幀不完整或者CRC校驗(yàn)錯(cuò)誤,則加錯(cuò)誤標(biāo)志2直接與入存儲(chǔ)單元;幀完整則需要判斷主從幀;如果主幀則可直接加標(biāo)志0寫入存儲(chǔ)單元;如果為從幀,則需要判斷從幀到達(dá)時(shí)間是否滿足要求;如果符合要求則加標(biāo)志1寫入存儲(chǔ)單元。否則加標(biāo)志2寫入存儲(chǔ)單元,整個(gè)控制邏輯的狀態(tài)轉(zhuǎn)移如圖3所示。
3.3 存儲(chǔ)模塊
通信存儲(chǔ)器是MVB總線分析儀的重要組成部分,它負(fù)責(zé)存儲(chǔ)MVB總線通信的數(shù)據(jù),因此MVB與上位機(jī)通過PC/104接口模塊會(huì)頻繁的訪問通信存儲(chǔ)器進(jìn)行數(shù)據(jù)的讀操作。實(shí)現(xiàn)通信存儲(chǔ)器有3種方式:用FPGA內(nèi)部自帶的RAM資源實(shí)現(xiàn);用FPGA內(nèi)部的寄存器實(shí)現(xiàn);用外部存儲(chǔ)器,例如SRAM,E2PROM等實(shí)現(xiàn)。最終選用FPGA內(nèi)部自帶的RAM資源實(shí)現(xiàn)通信存儲(chǔ)器。原因包括以下幾點(diǎn):現(xiàn)在高級(jí)的FPGA都帶有大小不等的片內(nèi)RAM資源,如果使用外部的存儲(chǔ)器,則需要一些擴(kuò)展電路因此導(dǎo)致電路變的復(fù)雜,增加了不穩(wěn)定性的同時(shí)也帶來了外部寄存器的訪問延遲問題。經(jīng)過比較,選用FPGA內(nèi)部RAM實(shí)現(xiàn)通信存儲(chǔ)器是較好的方案。
3.4 PC104接口模塊
PC104接口有4種訪問方式:8位存儲(chǔ)器、16位存儲(chǔ)器、8位I/O和16位I/O。這里是8位存儲(chǔ)器方式,邏輯實(shí)現(xiàn)和布線都相對(duì)簡(jiǎn)單。通過PC104總線接口,設(shè)備可以連接到PC104總線上并作為PC104總線上的一個(gè)標(biāo)準(zhǔn)設(shè)備使用。上位機(jī)可以通過PC104總線訪問設(shè)備和通信存儲(chǔ)器。一類設(shè)備只是CPU控制的設(shè)備之一,因而分配的內(nèi)存空間有限制的。內(nèi)存空間為0xD0000~0xE0000,需要地址譯碼將設(shè)備的通信存儲(chǔ)器映射到CPU的該內(nèi)存區(qū)。PC104采用堆棧式結(jié)構(gòu),單列雙排插針和插孔,P1:64針,P2:40針,合計(jì)104個(gè)總線信號(hào),接口引腳定義如表1所示。
4 實(shí)驗(yàn)與應(yīng)用
實(shí)驗(yàn)室里在實(shí)驗(yàn)室搭建的MVB網(wǎng)絡(luò)如圖4所示,MVB網(wǎng)絡(luò)由MVB主設(shè)備DUAGON公司的總線管理器D412,MVBC01芯片設(shè)計(jì)的MVB一類設(shè)備1與FPGA設(shè)計(jì)的MVB一類設(shè)備2與設(shè)備3。
MVB總線分析儀連接MVB網(wǎng)絡(luò),上位機(jī)通過PC/104總線讀取MVB總線分析儀存儲(chǔ)模塊,MVB總線分析儀完整存儲(chǔ)了總線上數(shù)據(jù),其中在所有獲得的數(shù)據(jù)中不完整的從幀數(shù)據(jù)如表2所示。
根據(jù)對(duì)采集到的不完整幀數(shù)據(jù)的分析,幀不完整的原因主要體現(xiàn)在幀頭的不正確(存在高電平或低電平時(shí)間過長(zhǎng)或過短),CRC校驗(yàn)錯(cuò)誤(生成的CRC不正確),幀數(shù)據(jù)不完整,結(jié)束符時(shí)間過短。對(duì)主從幀數(shù)據(jù)對(duì)應(yīng)關(guān)系來看,當(dāng)總線上傳輸主幀時(shí),設(shè)備應(yīng)發(fā)送但沒有發(fā)送從幀的現(xiàn)象出現(xiàn),針對(duì)這些問題可以逐一檢查FPGA等可編程器件里邏輯設(shè)計(jì)錯(cuò)誤,通過改進(jìn)減少不完整幀的出現(xiàn),從而保證自主研發(fā)的MVB設(shè)備的數(shù)據(jù)在MVB網(wǎng)絡(luò)中可靠傳輸。
5 結(jié) 語
本文在研究MVB多功能車輛總線的基礎(chǔ)上,開發(fā)了具有PC104總線接口的MVB總線分析儀。該MVB總線分析儀已經(jīng)實(shí)現(xiàn)了記錄MVB網(wǎng)絡(luò)傳輸所有數(shù)據(jù),有利于更深一步掌握MVB總線網(wǎng)絡(luò)數(shù)據(jù)傳輸技術(shù),并為驗(yàn)證MVB設(shè)備互連與互操作性做好準(zhǔn)備。
參考文獻(xiàn)
[1]IEC61375-1.Train Communication Network [S].Geneva,
1999.
[2]朱琴躍,謝維達(dá),譚喜堂.MVB協(xié)議一致性研究與實(shí)現(xiàn)[J].鐵道學(xué)報(bào),2007,8(4):115-120.
[3]魏宜軍,彭軍,劉劍鋒.基于ARM的MVB2類設(shè)備研究[J].現(xiàn)代電子技術(shù),2007,30(15):93-96.
[4]張大波,李紅,邱志堅(jiān).MVB1類設(shè)備控制器的FPGA設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2007(2):84-87.
[5]王鋒.基于FPGA的MVB1類設(shè)備網(wǎng)卡的設(shè)計(jì)[J].機(jī)車電傳動(dòng),2004(6):21-23.
[6]孟盟,王立德,王永翔.基于SoPC的MVB網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)與TCN組網(wǎng)\\.現(xiàn)代電子技術(shù),2007,(30)22:96-98.
作者簡(jiǎn)介
張 濤 男,1973年出生,1996年畢業(yè)于北方交通大學(xué)計(jì)算技術(shù)與管理專業(yè),本科,工程師,現(xiàn)從事于機(jī)車遠(yuǎn)程分布式動(dòng)力同步控制、機(jī)車網(wǎng)絡(luò)的研究。
黃志武 男,1966年出生,中南大學(xué)信息科學(xué)與工程學(xué)院副教授,博士。主要從事故障診斷、智能控制、機(jī)車控制系統(tǒng)、列車通信網(wǎng)的研究工作。