<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于FPGA的多通道HDLC收發(fā)電路設(shè)計

          基于FPGA的多通道HDLC收發(fā)電路設(shè)計

          作者: 時間:2009-12-03 來源:網(wǎng)絡(luò) 收藏

          (High Level Date Link Control)協(xié)議是通信領(lǐng)域中應(yīng)用最廣泛的協(xié)議之一,它是面向比特的高級數(shù)據(jù)鏈路控制規(guī)程,具有差錯檢測功能強大、高效和同步傳輸?shù)奶攸c。目前市場上有很多專用的芯片,但這些芯片大多控制復(fù)雜,通道數(shù)目有限;另一方面,專用芯片的使用會有效增大PCB板面積,不利于設(shè)備的小型化,而且?guī)砀叱杀镜葐栴}。
          能對任意數(shù)據(jù)寬度的信號進行處理,內(nèi)部的功能模塊可以并行處理。因此,采用技術(shù)設(shè)計協(xié)議控制器可以均衡整個系統(tǒng)的負(fù)荷,實現(xiàn)的高性能HDLC協(xié)議控制器,保證通信的可靠性。同時它還具有設(shè)計開發(fā)周期短、設(shè)計制造成本低、可實時在線檢驗等優(yōu)點,因此被廣泛用于特殊芯片設(shè)計中。本設(shè)計中采用Altera公司的EP2C70F672C8芯片來實現(xiàn)HDLC協(xié)議控制器。

          本文引用地址:http://www.ex-cimer.com/article/191874.htm


          1 HDLC協(xié)議簡介
          在HDLC通信方式中,所有信息都是以幀的形式傳送,HDLC幀格式,如表1所示。

          (1)標(biāo)志字。
          皿LC協(xié)議規(guī)定,所有信息傳輸必須以―個標(biāo)志字開始,且以同一個標(biāo)志字結(jié)束,這個標(biāo)志字是01111110。開始標(biāo)志到結(jié)束標(biāo)志之間構(gòu)成―個完整的信息單位,稱為一幀。接收方可以通過搜索01111110來探知幀的開始和結(jié)束,以此建立幀同步。在幀與幀之間的空載期,可連續(xù)發(fā)送標(biāo)志字來做填充。
          (2)信息段及“0”比特插入技術(shù)。
          HDLC幀的信息長度是可變的,可傳送標(biāo)志字以外的任意二進制信息。為了確保標(biāo)志字是獨一無二的,發(fā)送方在發(fā)送信息時采用“0”比特插入技術(shù),即發(fā)送方在發(fā)送除標(biāo)志字符外的所有信息時(包括校驗位),只要遇到連續(xù)的5個“1”,就自動插入一個“0”;反之,接收方在接收數(shù)據(jù)時,只要遇到連續(xù)的5個“1”,就自動將其后的“0”刪掉?!?”比特插入和刪除技術(shù)也使得’HDLC具有良好的傳輸透明性,任何比特代碼都可傳輸。
          (3)地址段及控制段。
          地址字段為8位,也可以8的倍數(shù)進行擴展,用于標(biāo)識接收該幀的棧地址;控制字段為8位,發(fā)送方的控制字段用來表示命令和響應(yīng)的類別和功能。
          (4)幀校驗。
          HDLC采用16位循環(huán)冗余校驗碼(CRC-16)進行差錯控制,其生成多項式為x16+x12+x5+1,差錯校驗指對整個幀的內(nèi)容作CRC循環(huán)冗余校驗,即對在糾錯范圍內(nèi)的錯碼進行糾正,對在校錯范圍內(nèi)的錯碼進行校驗,但不能糾正。標(biāo)志位和按透明規(guī)則插入的所有“0”不在校驗的范圍內(nèi)。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: FPGA HDLC 多通道 電路設(shè)計

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();