MVBC的幀收發(fā)器設(shè)計
隨著嵌入式微機控制技術(shù)和現(xiàn)場總線技術(shù)的發(fā)展,現(xiàn)代列車的過程控制已從集中型的直接數(shù)字控制系統(tǒng)發(fā)展成為基于網(wǎng)絡(luò)的分布式控制系統(tǒng)。基于分布式控制的MVB(多功能車輛總線)是IEC61375-1(1999)TCN(列車通信網(wǎng)絡(luò)國際標(biāo)準(zhǔn))的推薦方案,它與WTB(絞線式列車總線)構(gòu)成的列車通訊總線具有實時性強、可靠性高的特點。列車車輛的現(xiàn)代化的發(fā)展趨勢與可靠性、安全性、通訊實時性的要求使MVB逐漸成為下一代車輛的通訊總線標(biāo)準(zhǔn)。
MVB 是主要用于有互操作性和互換性要求的互聯(lián)設(shè)備之間的串行數(shù)據(jù)通訊總線,除用于車輛通訊,也可用作其它現(xiàn)場總線。
MVB與MVBC密不可分,MVBC(多功能車輛總線控制器)是MVB總線上的新一代核心處理器,它獨立于物理層和功能設(shè)備,為在總線上的各個設(shè)備提供通訊接口和通訊服務(wù)。MVBC與上一代MVB通信控制器BAP15-2/3在性能上有了很大的提高,是目前MVB總線上最先進的通信控制器。
MVB總線通過總線適配器與MVBC相連,根據(jù)IEC-61375,MVB總線上采用曼徹斯特碼,并每64位幀數(shù)據(jù)后加以8位CRC校驗碼。MVB的幀分為主幀和從幀,分別由幀頭、數(shù)據(jù)、校驗碼以及幀尾構(gòu)成,不同幀的類型通過幀頭來判別。
MVB與MVBC之間數(shù)據(jù)通信在MVBC中由幀收發(fā)器來完成,包括幀的發(fā)送接收控制、曼徹斯特編解碼以及CRC校驗碼的產(chǎn)生與數(shù)據(jù)校驗。幀收發(fā)器在MVBC中起著數(shù)據(jù)鏈路層的底層數(shù)據(jù)處理的作用,是MVBC芯片的設(shè)計難點之一,該模塊的設(shè)計實現(xiàn)對于整個MVBC的開發(fā)有著重要的作用。
本文主要介紹位于MVBC總線物理層接口的幀收發(fā)器模塊的算法和實現(xiàn)方法。
2、 MVBC簡介
MVBC可通過配置應(yīng)用在IEC.TCN標(biāo)準(zhǔn)的Class1,2,3,4設(shè)備當(dāng)中??偩€連接可編程車載電子設(shè)備,也連接一些簡單的傳感器及執(zhí)行機構(gòu),最多可尋址4096個設(shè)備。
MVBC把來自于MVB總線的串行化信號轉(zhuǎn)換為并行的數(shù)據(jù)字節(jié),也把需發(fā)送的字節(jié)交由串行化電路發(fā)送到傳輸介質(zhì)上。MVBC可根據(jù)配置實現(xiàn)總線主與總線從的功能,實現(xiàn)數(shù)據(jù)鏈路層以及一部分傳輸層的數(shù)據(jù)處理,并通過通訊存儲器來與上層軟件交互。總線控制器內(nèi)部包含編碼/譯碼電路和控制通信存儲器所需的邏輯電路,用來控制幀的發(fā)送和接收(如沖突檢測、幀的前導(dǎo)比特處理、CRC校驗位的處理等);對輸入幀譯碼并檢驗其有效性;把數(shù)據(jù)存放到相應(yīng)的通信存儲器中。 3、 幀收發(fā)器的設(shè)計
MVBC中的幀收發(fā)器主要負(fù)責(zé)幀的發(fā)送、接收,包括曼徹斯特碼的編碼、解碼,CRC(循環(huán)冗余檢測碼)的產(chǎn)生與校驗,不同類型幀的構(gòu)建與識別,以及碼錯的識別和沖突的檢測等。其中曼徹斯特編解碼以及CRC校驗為主要的算法。
3.1 曼徹斯特編碼、解碼器的設(shè)計
MVB總線上的串行數(shù)據(jù)采用曼徹斯特碼,曼徹斯特編碼中的每個數(shù)據(jù)位應(yīng)用以下規(guī)范編碼:
a)一個“1”的編碼在位元的前半部分位“高”,后半部分為“低”;
b)一個“0”的編碼在位元的前半部分位“低”,后半部分為“高”;
如圖2-4所示: 如果曼徹斯特碼中出現(xiàn)整個位元的高電平(NH)或整個位元的低電平(NL),則被認(rèn)為非數(shù)據(jù)符,用于特殊場合,如:幀頭,幀尾標(biāo)識。 linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論