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

          新聞中心

          EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > VHDL語(yǔ)言的幀同步算法實(shí)現(xiàn)

          VHDL語(yǔ)言的幀同步算法實(shí)現(xiàn)

          作者: 時(shí)間:2012-03-17 來(lái)源:網(wǎng)絡(luò) 收藏

          數(shù)字通信網(wǎng)中,幀復(fù)接設(shè)備中最重要的部分,他包括幀碼的產(chǎn)生和幀同步碼的識(shí)別,其中接收端的幀同步識(shí)別電路的結(jié)構(gòu)對(duì)同步性能的影響是主要的。

          1 工作原理

          幀同步的基本方法是在發(fā)送端預(yù)先規(guī)定的時(shí)隙,即幀同步碼時(shí)隙,插入一組特殊碼型的幀同步碼組。在接收端利用同步碼的自相關(guān)性確定幀的同步位置。幀同步碼組可以是集中插入的,也可以是分散插入的。對(duì)于分散的幀同步碼插入方式,其工作原理與集中插入方式相類似,下面就以集中插入幀同步碼為例來(lái)說(shuō)明幀同步的工作原理。

          幀同步過(guò)程有搜索態(tài)、校核態(tài)和同步態(tài)。其狀態(tài)轉(zhuǎn)換圖如圖1所示。


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

          搜索態(tài) 在數(shù)據(jù)接收的起始時(shí)刻或幀未同步時(shí),幀同步進(jìn)入搜索態(tài)。在數(shù)據(jù)流中尋找?guī)酱a(111lOlOOOO);當(dāng)數(shù)據(jù)流與幀同步碼相同時(shí),表明已搜索到一個(gè)同步幀頭;可啟動(dòng)進(jìn)入幀同步的校核狀態(tài)。

          校核態(tài) 為了防止信號(hào)中出現(xiàn)虛假同步;找到第1組同步碼后跳過(guò)1幀長(zhǎng)度必須再次確認(rèn)幀同步碼。若連續(xù)經(jīng)過(guò)M幀同步碼確認(rèn)均同步正確,則系統(tǒng)立即轉(zhuǎn)入同步狀態(tài);否則存在假同步;返回搜索態(tài)。由首次搜索到幀同步頭到進(jìn)入同步態(tài)的M幀時(shí)叫后方保護(hù)時(shí)間。

          同步態(tài) 幀同步處于同步狀態(tài)時(shí);若連續(xù)N幀幀同步正確則仍保持在同步狀態(tài)??紤]到接收的數(shù)據(jù)流幀同步碼可能受外界干擾而存在誤碼,在同步狀態(tài)中只有連續(xù)N幀丟失同步碼才進(jìn)入失步狀態(tài),并返回搜索態(tài)。其中N幀時(shí)叫前方保護(hù)時(shí)間。由于有前方保護(hù)時(shí)間,在接收過(guò)程中雖然出現(xiàn)某幀同步碼誤碼,但系統(tǒng)并不會(huì)立即進(jìn)入失步狀態(tài)。由此可減少因誤碼而進(jìn)入失步狀態(tài)的可能性。

          2 幀同步

          我們了幀同步的設(shè)計(jì),設(shè)計(jì)程序如下:

          首先對(duì)相關(guān)參數(shù)進(jìn)行定義:

          type state_type is (s0,s1,s2);
          //系統(tǒng)狀態(tài)(搜索態(tài)、校核態(tài)、同步態(tài))
          constant syn_code:bit_vector:=110100; //幀同步碼
          constant syn_code_length:integer:=6; //幀同步碼長(zhǎng)度
          constant max_m:integer:=2; //前方保護(hù)幀數(shù)
          constant max_n:integer:=3; //后方保護(hù)幀數(shù)
          variable m:integer range 0 to max_m:=0;
          //連續(xù)獲取同步碼數(shù)
          variable n:integer range 0 to max_n:=0;
          //連續(xù)丟失同步碼數(shù)
          variable reg:bit_vector(syn_code_length downto 1);
          //移位寄存器
          variable state:state_type:=s0; //初始狀態(tài)

          其次,把接收到的數(shù)據(jù)送人移位寄存器,并對(duì)送人的數(shù)據(jù)同步碼檢測(cè)。當(dāng)系統(tǒng)處于不同狀態(tài)時(shí),其狀態(tài)轉(zhuǎn)換如下:

          (1)在搜索態(tài),其描述如下:

          if(clk'event and clk='1')then
          case state is
          when so=>if(reg=syn_code)then //搜索態(tài)
          state:=sl;
          m:=1,
          else
          m:=0;
          end if;

          (2)在校核態(tài),其描述如下

          if(clk'event and clk='1')then
          case state is
          when s1=>if(reg=syn_code)then //校核態(tài)
          m:=m+1;
          if(m=max_m)then
          state:=s2;
          m:=O;
          end if;
          else
          state:=s0;
          m:=0;
          end if;

          (3)在同步態(tài),其VHDL語(yǔ)言描述如下:

          if(clk'event and clk='1')then
          case state is
          when s2=>if(reg=syn_code)then //同步態(tài)
          n:=0;
          else
          n:=n+1;
          if(n=max_n)then
          state:=s0;
          n:=Os
          end if
          end if

          3 系統(tǒng)仿真

          假定同步碼為110100,幀長(zhǎng)為14,前方保護(hù)為2幀,后方保護(hù)為3幀,輸人數(shù)據(jù)data為:

          010 11010001010100 010 11010001010100 1010001010100 01010101010100 11010001010100 10000001010100 10000001010100 10000001010100 10

          則輸出syn的仿真波形如圖2所示。

          由圖2可以看出,系統(tǒng)剛開(kāi)始時(shí)處于搜索態(tài),當(dāng)系統(tǒng)捕獲到同步碼時(shí),即進(jìn)入校核態(tài);當(dāng)系統(tǒng)連續(xù)2次捕獲到同步碼時(shí),系統(tǒng)進(jìn)入同步狀態(tài)。在同步態(tài),系統(tǒng)只有連續(xù)3次丟失幀同步碼時(shí)才確認(rèn)失步,重新進(jìn)入搜索態(tài)。在具體應(yīng)用中,可根據(jù)實(shí)際需要對(duì)程序中的同步碼、幀長(zhǎng)、前后方保護(hù)時(shí)間進(jìn)行調(diào)整,使系統(tǒng)處于最佳工作狀態(tài)。


          4 結(jié) 語(yǔ)

          由于VHDL對(duì)設(shè)計(jì)的描述具有相對(duì)獨(dú)立性,因此設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),只需知道設(shè)計(jì)的目標(biāo)。這種設(shè)計(jì)方法集設(shè)計(jì)、模擬、綜合為一體的設(shè)計(jì)方法,能有效地縮短電路設(shè)計(jì)周期,減少可能發(fā)生的錯(cuò)誤,降低了開(kāi)發(fā)成本,在未來(lái)現(xiàn)代數(shù)字系統(tǒng)中將會(huì)起著越來(lái)越重要的作用。用VHDL來(lái)進(jìn)行數(shù)字系統(tǒng)設(shè)計(jì)既方便又簡(jiǎn)單,還具有良好的可移植性和維護(hù)性,代表著現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)的走向。



          評(píng)論


          相關(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); })();