MVBC的幀收發(fā)器設(shè)計(jì)
3.3 總線接口模塊的設(shè)計(jì)實(shí)現(xiàn)
總線接口模塊包括上述的Encoder、Decoder。
3.3.1 Encoder
Encoder模塊主要有以下功能:
(1)構(gòu)建幀頭幀尾;
(2)按照傳輸層指示進(jìn)行CRC校驗(yàn);
(3)對(duì)數(shù)據(jù)進(jìn)行曼徹斯特編碼;
(4)實(shí)現(xiàn)主、從幀的發(fā)送;
在Class 1 mode以及其它Class mode下,Encoder分別由Class1模塊和MCU控制。
如果當(dāng)前配置允許發(fā)送,且控制模塊告訴Encoder有幀要發(fā)送,以及幀類型、幀長度,則Encoder先將配置好的幀頭發(fā)送,然后將幀數(shù)據(jù)、產(chǎn)生的CRC校驗(yàn)碼移位后經(jīng)曼徹斯特編碼輸出,最后發(fā)送幀尾,這樣完成主、從幀的發(fā)送。電路實(shí)現(xiàn)如圖3-6所示: 3.3.2 Decoder
MVB總線采用冗余介質(zhì),因此MVBC需要冗余的接收模塊來完成幀的接收。
(1)兩個(gè)Decoder根據(jù)選擇各自完成信號(hào)檢測(信任線)或冗余檢測(冗余線)功能,完成各自幀數(shù)據(jù)的起始位判定、數(shù)據(jù)采樣、數(shù)據(jù)解碼和數(shù)據(jù)移位功能;
(2)Decoder從信任線上接收數(shù)據(jù),并監(jiān)視冗余線;
(3)判斷幀類型,從幀中提取數(shù)據(jù)和校驗(yàn)序列(非CRC校驗(yàn),可選)并存入RXBuffer中;
(4)實(shí)現(xiàn)CRC校驗(yàn),并報(bào)告接收狀態(tài)。 初始化時(shí)ICA,ICB分別置為信任線和冗余線(LAA=1),如果信任線超時(shí)、寂靜,或用戶強(qiáng)制,則信任線與監(jiān)視線互相交換。接收幀的同時(shí),ICA、ICB兩個(gè)線路上的Decoder將是否接到幀、何種幀類型、接收是否完成、結(jié)果對(duì)錯(cuò)等信息告訴線路控制模塊,該模塊將這些信息與哪一個(gè)BUFFER有效上報(bào)至上層模塊進(jìn)行報(bào)文分析。Decoder線路控制圖如圖3-8: 4、 總線接口模塊的驗(yàn)證
驗(yàn)證的思想是通過不同的控制信號(hào),來模擬不同的工作環(huán)境下,幀的收發(fā)正確性:曼徹斯特編碼、幀頭、幀尾以及幀數(shù)據(jù)、幀類型、CRC碼的正確性。驗(yàn)證實(shí)現(xiàn)結(jié)構(gòu)如圖4-1所示: 控制模塊將一幀數(shù)據(jù)寫入Txbuffer,并控制Encoder開始發(fā)送,此時(shí)Encoder發(fā)送的幀被Decoder接收;控制模塊同時(shí)監(jiān)控Encoder、Decoder的狀態(tài),當(dāng)接收完成后,控制模塊將解收到的數(shù)據(jù)從Rxbuffer讀出,從Decoder的接收狀態(tài)來驗(yàn)證幀的屬性:幀是否有效、幀類型、幀長度,并從讀出的數(shù)據(jù)來驗(yàn)證數(shù)據(jù)的正確性。
5、 結(jié)束語
MVB總線伴隨著下一代列車通信系統(tǒng)的廣泛應(yīng)用將被普遍采用,同時(shí)MVBC也將具有巨大的市場前景。本文主要介紹MVBC與MVB總線接口部分的幀收發(fā)器模塊的算法分析、設(shè)計(jì)實(shí)現(xiàn)及驗(yàn)證方案。通過作者近期對(duì)該模塊進(jìn)行的FPGA驗(yàn)證,充分論證了該設(shè)計(jì)工作和驗(yàn)證方案的可行性。(end) linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論