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