<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 汽車(chē)電子 > 設計應用 > WTB網(wǎng)絡(luò )HDLC在FPGA中的實(shí)現

WTB網(wǎng)絡(luò )HDLC在FPGA中的實(shí)現

——
作者: 時(shí)間:2007-12-06 來(lái)源: 收藏

  1 引言

  (Train Communication Network)總體結構是由WTB(絞線(xiàn)式列車(chē)總線(xiàn))和MVB(多功能車(chē)輛總線(xiàn))組成,符合IEC61375-1標準。本文主要圍繞WTB鏈路控制的幀格式進(jìn)行研究。鑒于IEC61375-1標準中規定的WTB幀數據格式與IS03309中定義的(High Level Data Link Control)格式一致,基帶Manchester-Biphase-L技術(shù)編解碼器現則圍繞展開(kāi)。

  隨著(zhù)深亞微米工藝技術(shù)的發(fā)展,(FieldProgrammable Gate Array)的規模越來(lái)越大,其單片邏輯門(mén)數已超過(guò)上百萬(wàn)門(mén)。同時(shí)還具有開(kāi)發(fā)周期短、成本低、可實(shí)時(shí)在線(xiàn)檢驗等優(yōu)點(diǎn)。因此廣泛用于特殊器件設計。中小批量通信產(chǎn)品的設計生產(chǎn)中采用實(shí)現功能是一種值得借鑒的方法。

  2 WTB的HDLC幀格式

  WTB的有效幀格式包括幀頭、HDLC幀數據格式、終止分界符。其中HDLC幀數據格式與ISO3309中定義的相同,包括起始8位標志位、HDLC數據、16位FCS、結束8位標志位。幀頭和HDLC幀

  數據由曼徹斯特碼編碼,一個(gè)位單元的前半部分為負電平,在位單元的中間跳變?yōu)檎娖降奈痪幋a為“1”,反之為“0”。幀頭在起始位和結束位“1”之間有7個(gè)(“0”,“1”)位對。終止分界符可使線(xiàn)路保持2個(gè)周期的正電平。

  2.1 HDLC幀格式

  WTB通信方式中,所有信息都是以幀的格式傳輸的,HDLC幀格式如圖1所示。HDLC協(xié)議規定,所有信息傳輸必須以一個(gè)標志字開(kāi)始,且以同一標志字結束,這個(gè)標志字為01111110。開(kāi)始標志到結束標志之間構成一個(gè)完整的信息單位,稱(chēng)為一幀。在HDLC通信方式中,接收方通過(guò)搜索01111110探知幀的開(kāi)始和結束,以此建立幀同步。在幀與幀之間的空載期,可連續發(fā)送標志字來(lái)做填充。而在WTB的網(wǎng)絡(luò )中,具有特殊的起始幀頭,更易于產(chǎn)生同步解碼。

  

HDLC幀格式

  2.2 HDLC數據及“0”比特插入

  HDLC幀的數據區的長(cháng)度是可變的,可傳送標志字以外的任意二進(jìn)制信息。其數據最小為32位,最大為1 056位,HDLC發(fā)送的數據應是8的整數倍。為了確保標志字是唯一的,發(fā)送方在發(fā)送信息時(shí)采用“0”比特插入技術(shù),即發(fā)送方在發(fā)送除標志字符外的所有信息時(shí)(包括校驗位),只要遇到連續的5個(gè)“1”,就自動(dòng)插入一個(gè)“0”;反之,接收方在接收數據時(shí),只要遇到連續的5個(gè)“1”,就自動(dòng)將其后的“0”刪掉?!?”比特插人與刪除技術(shù)可使HDLC具有良好的傳輸透明性,可傳輸任何比特代碼。

  2.3 CRC校驗

  HDLC采用16位循環(huán)冗余校驗碼(CRC-16)進(jìn)行差錯控制,生成若干種多項式,WTB網(wǎng)絡(luò )使用標準的生成多項式x16+x12+x5+1。HDLC差錯校驗是對整個(gè)幀的內容作CRC循環(huán)冗余校驗,即糾正糾錯范圍內的錯碼,在校錯范圍內的錯碼只能校驗,但不能糾正。標志位和按透明規則插入的所有“0”不在校驗的范圍內。

  3 編碼器與解碼器的實(shí)現

  基于FPGA成本低、實(shí)時(shí)性好、可擴展為SOPC(片上系統)便于應用層的開(kāi)發(fā)等優(yōu)點(diǎn),本設計采用Altera公司的CYCLONE II經(jīng)濟型FPGA實(shí)現編解碼。

  3.1 有限時(shí)序狀態(tài)機

  HDLC通信幀屬于串行數字信號編解碼方式,其幀格式與時(shí)序邏輯聯(lián)系緊密。編碼器是功能、時(shí)序復雜的時(shí)序邏輯電路。為了便于利用硬件描述語(yǔ)言設計,將這一復雜的時(shí)序邏輯抽象成有限狀態(tài)機,并利用有限狀態(tài)機實(shí)現復雜設計。這種控制方式很容易解決0比特插入技術(shù),使狀態(tài)自由按照ISO3309的標準轉換。根據HDLC的編碼協(xié)議,得到FPGA設計的狀態(tài)機,將狀態(tài)的轉換與數據處理分別在同一狀態(tài)機的不同模塊中實(shí)現。同時(shí),在解碼過(guò)程中,在起始標志位同步后,每一步HDLC狀態(tài)過(guò)程均需對數據進(jìn)行判斷(若出錯概率為P),直至結束。若有N個(gè)狀態(tài),其總體出錯概率非常小,大小為PN,大大提高了解碼的可靠性。發(fā)送器狀態(tài)機如圖2所示。準備狀態(tài):當發(fā)送器復位后,處于準備狀態(tài),收到開(kāi)始發(fā)送信號后,狀態(tài)機轉至開(kāi)始狀態(tài)進(jìn)行初始化,然后跳轉至幀頭狀態(tài)。幀頭狀態(tài):在該狀態(tài)添加WTB固定的幀頭和標志位,然后跳轉至數據發(fā)送狀態(tài)。數據發(fā)送狀態(tài):在該狀態(tài)讀取數據,按照幀結構將數據編碼發(fā)出,直到全部發(fā)送完畢跳轉至校驗狀態(tài)。校驗狀態(tài):調用CRC校驗單元模塊,進(jìn)行CRC檢驗。完成后進(jìn)入結束狀態(tài)。結束狀態(tài):發(fā)送結束標志,然后跳入下一次的準備狀態(tài)。

{{分頁(yè)}}

  

發(fā)送器狀態(tài)機

  3.2 CRC校驗

  HDLC數據編碼是難點(diǎn),數據位的不確定性進(jìn)一步導致CRC校驗的復雜性。但由于HDLC數據具有特殊含義:8位位組的整數倍,故可以采用以字節寬度讀雙口RAM的方式進(jìn)行編碼。CRC校驗也可字節累加運算完成。校驗模塊示意圖如圖3所示。

  

校驗模塊示意圖

  校驗序列按多項式:G(x)=x16+x12+x5+1進(jìn)行計算,校驗初始結果值應設為0xffff、圖3中rst為復位信號,sig為事件觸發(fā)電平,pdata為需要計算的數據,prevcrc為上一次計算的結果,crc最后輸出的計算結果。Verilog核心代碼為:

  

代碼
{{分頁(yè)}}

  3.3 位同步

  編碼器發(fā)送有效幀序列,解碼器對有效幀解析的最大難點(diǎn)在于起始的同步性。常用的同步方式有鎖相環(huán)。但為了節省FPGA內部資源,針對WTB特有的幀頭規則序列,采用高頻采樣比較方式進(jìn)行同步。幀頭在起始位和結束位“1”之間有7個(gè)(“0”,“1”)位對,如圖4所示。在一個(gè)周期內,一位采樣12次,若在位跳變的前后符合標準位,則同步開(kāi)始,繼續采樣下一位,直到幀頭位對全部完成,即使在空閑時(shí),電平有干擾毛刺也不會(huì )產(chǎn)生誤同步。

  

幀頭在起始位和結束位

  4 標準應用檢驗

  通過(guò)使用Quartus II對WTB的編解碼器的波形進(jìn)行仿真,結果符合標準。

  解碼器在接收一個(gè)字節后進(jìn)行CRC計算,當全部數據接收完成時(shí)計算出最后CRC結果;當全部CRC接收完畢接收到CRC結果,將這兩種CRC結果進(jìn)行比較。若數據合法則給一個(gè)脈沖。

  如圖5所示,硬件采用485實(shí)現物理層與標準機車(chē)WTB網(wǎng)卡的通訊,能夠相互解析,證明了設計的準確可靠性,為下一步應用層的設計打下基礎。

  

硬件采用485實(shí)現物理層與標準機車(chē)WTB網(wǎng)卡的通訊

  5 結束語(yǔ)

  針對WTB網(wǎng)絡(luò )標準提出了一種基于FPGA的HDLC協(xié)議編解碼器設計方案,并利用Altera公司的CYCLONE II EP2C8實(shí)現。目前對該網(wǎng)絡(luò )協(xié)議的實(shí)現僅限于初期階段,只能實(shí)現基本鏈路的HDLC數據編解碼。該系統的后續還需加入NIOS進(jìn)行鏈路控制的優(yōu)化和應用層的設計,如WTB總線(xiàn)的初運行。實(shí)踐表明,該編解碼器實(shí)現簡(jiǎn)單、使用靈活,資源占用合理,對進(jìn)一步工作的展開(kāi)有深遠意義。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>