《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > 衰落信道幀同步電路設(shè)計(jì)與實(shí)現(xiàn)

衰落信道幀同步電路設(shè)計(jì)與實(shí)現(xiàn)

2008-04-15
作者:周 陽(yáng)1, 周 俊2 ,楊瑞娟3

  摘 要: 提出了一種適合于短波信道的數(shù)字傳輸系統(tǒng)幀同步" title="幀同步">幀同步電路設(shè)計(jì)方案,利用容差" title="容差">容差技術(shù)和非容差技術(shù)相結(jié)合實(shí)現(xiàn)了幀同步碼檢測(cè)。改進(jìn)了傳統(tǒng)保護(hù)模塊" title="保護(hù)模塊">保護(hù)模塊,使得幀同步搜捕時(shí)間縮短了一個(gè)幀周期。
  關(guān)鍵詞: 短波信道 容差技術(shù) 保護(hù)模塊 硬件描述語(yǔ)言


  同步是數(shù)字通信系統(tǒng)中的一個(gè)重要問(wèn)題。幀同步電路設(shè)計(jì)的好壞直接影響數(shù)據(jù)的解調(diào)質(zhì)量,甚至影響整個(gè)通信系統(tǒng)的性能。本文結(jié)合實(shí)際設(shè)計(jì)出一種適用于衰落信道的快速搜捕幀同步電路。該設(shè)計(jì)采用全局時(shí)鐘控制每個(gè)觸發(fā)器,避免了累積時(shí)延以及毛刺的產(chǎn)生,增強(qiáng)了整體設(shè)計(jì)的可靠性;同時(shí)利用Mealy狀態(tài)機(jī)改進(jìn)了傳統(tǒng)保護(hù)模塊,使幀同步搜捕時(shí)間縮短了至少一幀周期時(shí)間;并且在幀同步碼檢測(cè)模塊中,利用容差技術(shù)與非容差技術(shù)相結(jié)合使系統(tǒng)同步后有一位誤碼糾錯(cuò)能力[1],加強(qiáng)了系統(tǒng)的穩(wěn)定性;最后用FPGA實(shí)現(xiàn)了幀同步電路的設(shè)計(jì)。
1 幀同步電路原理
1.1 幀同步電路組成
  幀同步電路主要分為4個(gè)模塊:幀同步碼檢測(cè)模塊、幀時(shí)標(biāo)發(fā)生模塊、保護(hù)模塊和控制模塊" title="控制模塊">控制模塊。其原理圖如圖1所示。


  數(shù)據(jù)流串行輸入到幀同步碼檢測(cè)模塊,幀同步檢測(cè)模塊檢測(cè)到同步碼后輸出一個(gè)檢測(cè)碼,該檢測(cè)碼與幀時(shí)標(biāo)發(fā)生模塊產(chǎn)生的幀時(shí)標(biāo)脈沖同時(shí)輸入到保護(hù)模塊。保護(hù)模塊比較檢測(cè)碼和幀時(shí)標(biāo)脈沖是否在同一時(shí)刻對(duì)上,連續(xù)對(duì)上α次(后方保護(hù)數(shù))則判斷為同步;在同步狀態(tài)下,由于干擾或中斷等原因可能導(dǎo)致幀同步碼組丟失,幀檢測(cè)碼與幀時(shí)標(biāo)脈沖一旦連續(xù)β次(前方保護(hù)數(shù))沒(méi)有對(duì)上則判斷為失步" title="失步">失步。保護(hù)模塊將同步信號(hào)、失步信號(hào)、幀定位信號(hào)和幀檢測(cè)碼一同送到控制模塊。同時(shí)將同步信號(hào)輸入到幀同步碼檢測(cè)模塊作為其容差和非容差控制信號(hào)??刂颇K根據(jù)輸入信號(hào)的相關(guān)信息產(chǎn)生幀時(shí)標(biāo)發(fā)生器的置位信號(hào),調(diào)整幀時(shí)標(biāo)發(fā)生器中時(shí)標(biāo)產(chǎn)生的時(shí)刻,從而完成一輪新的同步。
1.2 同步容差
  同步容差是容許“一定程度”的幀標(biāo)識(shí)誤碼的標(biāo)志,以容差門限表示。在同步狀態(tài)時(shí),希望盡可能不漏掉幀同步碼以維持系統(tǒng)的同步狀態(tài)(即降低漏警概率),所以在同步狀態(tài)下,容差門限就要選擇稍大點(diǎn)(本設(shè)計(jì)取為1);在失步搜捕狀態(tài)下,為避免誤碼帶來(lái)數(shù)據(jù)流中出現(xiàn)虛幀同步定位碼,應(yīng)選取容差門限為0,即不容許誤碼。
  本設(shè)計(jì)利用容差技術(shù)和非容差技術(shù)相結(jié)合實(shí)現(xiàn)幀同步碼檢測(cè)模塊,從而提高了幀同步的抗干擾性。
2 基于FPGA的設(shè)計(jì)與實(shí)現(xiàn)
  利用VHDL設(shè)計(jì)了各模塊,并在ISE 7.1i開發(fā)軟件上編譯通過(guò)。
2.1 幀同步碼檢測(cè)模塊
  幀同步碼檢測(cè)模塊的主要作用在于檢測(cè)出幀同步碼組,并在碼組的最后一位給出一個(gè)檢測(cè)脈沖。其檢測(cè)電路結(jié)構(gòu)圖如圖2所示。


  系統(tǒng)時(shí)鐘和驅(qū)動(dòng)數(shù)據(jù)流同時(shí)進(jìn)入比較器A和B與預(yù)設(shè)的最佳同步碼組進(jìn)行比較,若比較結(jié)果一致,則輸出檢測(cè)脈沖到選擇器;當(dāng)容差控制信號(hào)為“1”時(shí)則輸出比較器A的檢測(cè)脈沖,反之則輸出比較器B的檢測(cè)脈沖(容差信號(hào)為“1”表示開啟容差功能,允許1位誤碼)。具體仿真波形如圖3所示。


  圖中,clk為系統(tǒng)時(shí)鐘,data為數(shù)據(jù)流,control為容差控制信號(hào),jc為幀同步檢測(cè)信號(hào)。
2.2 幀時(shí)標(biāo)發(fā)生模塊
  幀時(shí)標(biāo)發(fā)生模塊的主要作用在于每隔一幀周期時(shí)間產(chǎn)生一個(gè)時(shí)標(biāo)脈沖。幀時(shí)標(biāo)發(fā)生模塊結(jié)構(gòu)圖如圖4所示。


  本設(shè)計(jì)選取一幀的周期為32個(gè)系統(tǒng)時(shí)鐘周期。保護(hù)信號(hào)c的作用在于避免出現(xiàn)虛假時(shí)標(biāo),即高電平時(shí)屏蔽掉時(shí)標(biāo)脈沖,低電平時(shí)對(duì)時(shí)標(biāo)脈沖不造成任何影響。具體仿真波形如圖5所示。


  圖中,clr為置零信號(hào),pc為時(shí)標(biāo)脈沖。
2.3 保護(hù)模塊
  保護(hù)模塊主要作用在于實(shí)現(xiàn)前方保護(hù)和后方保護(hù),最后輸出同步和失步信號(hào)。傳統(tǒng)的保護(hù)模塊是用四個(gè)D觸發(fā)器、一個(gè)3口與門、一個(gè)4口與門實(shí)現(xiàn)的[4],或用兩個(gè)計(jì)數(shù)器分別對(duì)前方保護(hù)和后方保護(hù)計(jì)數(shù)[3]實(shí)現(xiàn)的。本設(shè)計(jì)選用2進(jìn)程同步Mealy型有限狀態(tài)機(jī)進(jìn)行設(shè)計(jì)。其狀態(tài)轉(zhuǎn)移圖如圖6所示。


  由圖6可知,系統(tǒng)設(shè)置了七個(gè)狀態(tài),ST0、ST1、ST2為失步搜捕狀態(tài),其余四個(gè)狀態(tài)為同步保護(hù)狀態(tài)。本設(shè)計(jì)設(shè)置α=3和β=4。在系統(tǒng)時(shí)鐘上升沿時(shí)刻,jc=0、pc=1,表示搜捕到檢測(cè)脈沖并且對(duì)上了,而如果jc=1、pc=1,則表示沒(méi)有對(duì)上檢測(cè)脈沖。從ST0到ST3連續(xù)對(duì)上檢測(cè)脈沖3次,即后方保護(hù)數(shù)計(jì)滿,確定為同步(同步信號(hào)q置“1”)。同理,從ST3到ST0連續(xù)4次沒(méi)有對(duì)上檢測(cè)脈沖,即前方保護(hù)數(shù)計(jì)滿,確定為失步(同步信號(hào)q置“0”)。具體仿真波形如圖7所示。


  圖中,qf為失步信號(hào),q1為置零信號(hào)的輔助信號(hào)。
  q1實(shí)際上為控制模塊中置零輔助信號(hào)的一部分,關(guān)鍵作用在于能快速搜捕從而確定同步,即縮短失步時(shí)間,能在失步后一出現(xiàn)幀同步檢測(cè)信號(hào)立刻產(chǎn)生置零信號(hào)。
  q1產(chǎn)生方式:系統(tǒng)一旦失步,立刻將q1置“1”;系統(tǒng)一旦在系統(tǒng)時(shí)鐘clk的上升沿檢測(cè)到幀同步檢測(cè)碼,立刻將q1置“0”。
2.4 控制模塊
  控制模塊主要作用在于產(chǎn)生時(shí)標(biāo)發(fā)生模塊的置零信號(hào)。當(dāng)系統(tǒng)處于失步狀態(tài)(qf=1或q=0)時(shí),開始搜捕幀同步檢測(cè)碼。搜捕到幀同步檢測(cè)碼時(shí)產(chǎn)生一個(gè)置零信號(hào),將幀時(shí)標(biāo)發(fā)生模塊清零,重新開始計(jì)數(shù)。使得下一幀幀時(shí)標(biāo)脈沖可以對(duì)上幀同步檢測(cè)碼。但置零信號(hào)并不能根據(jù)已知的輸入信號(hào)直接得到,必須加輔助信號(hào)間接產(chǎn)生。下面給出輔助信號(hào)q2產(chǎn)生的設(shè)計(jì)流程。


  設(shè)計(jì)流程圖如圖8所示。輔助信號(hào)q2只能保證在失步狀態(tài)下生成需要的置零信號(hào),但要實(shí)現(xiàn)快速搜捕的目的(即失步后的第一個(gè)幀同步檢測(cè)脈沖出現(xiàn)時(shí)就可產(chǎn)生置零信號(hào)),必須將前面保護(hù)模塊中提到的q1與此處的q2合并成一路信號(hào),這樣就產(chǎn)生了完整的置零輔助信號(hào)。根據(jù)圖9所提供的框圖便可產(chǎn)生所需要的置零信號(hào)clr。
  最終得到的置零信號(hào)clr的波形圖如圖10所示。
  圖10中,qt為最終的置零輔助信號(hào)。


2.5 幀同步整體模塊
  在ISE開發(fā)平臺(tái)上采用原理圖輸入方式,根據(jù)同步單元各個(gè)功能模塊的劃分,將各個(gè)功能模塊連接起來(lái),編譯成功。其整體設(shè)計(jì)框圖如圖11所示。整體幀同步設(shè)計(jì)仿真波形如圖12所示。

?


  在圖11中,當(dāng)?shù)?個(gè)幀時(shí)標(biāo)脈沖pc到來(lái)而沒(méi)有出現(xiàn)幀同步檢測(cè)信號(hào)jc時(shí),置零輔助信號(hào)qt置‘1’。一旦檢測(cè)到幀同步檢測(cè)信號(hào)jc,置零信號(hào)clr立刻置‘0’,同時(shí)置零輔助信號(hào)qt置‘0’。此時(shí),幀時(shí)標(biāo)發(fā)生器置位,重新開始計(jì)數(shù)。由于采取保護(hù)措施,因此第2個(gè)幀時(shí)標(biāo)脈沖pc對(duì)上幀同步檢測(cè)信號(hào)jc連續(xù)3次后,同步信號(hào)q才置‘1’,告知系統(tǒng)已經(jīng)同步,同時(shí)開啟容差功能,容許一位誤碼,圖12中的第6個(gè)幀同步檢測(cè)信號(hào)jc就是在數(shù)據(jù)流為“00111000”的情況下給出的。此后,由于采取了前方保護(hù),連續(xù)4次沒(méi)有對(duì)上幀同步檢測(cè)信號(hào)jc,q才置‘0’,告知系統(tǒng)失步,系統(tǒng)進(jìn)入失步搜捕狀態(tài)。就在系統(tǒng)失步同時(shí),置零輔助信號(hào)qt再次置‘1’,發(fā)現(xiàn)同步碼后置‘0’,產(chǎn)生一個(gè)置零信號(hào)clr,幀時(shí)標(biāo)發(fā)生器重新開始一輪新的計(jì)數(shù)。由于該系統(tǒng)選用了容差技術(shù)和前后方保護(hù)措施,幀搜捕速度快,失步時(shí)間短,該系統(tǒng)工作正常穩(wěn)定。
3 結(jié)論
  本設(shè)計(jì)選用Xilinx公司的ISE 7.1i作為硬件開發(fā)平臺(tái),選用Mentor公司的Modelsim 6.1b作為仿真平臺(tái),并采用VHDL編程語(yǔ)言進(jìn)行編程。程序已通過(guò)了綜合實(shí)驗(yàn),并進(jìn)行了功能仿真和時(shí)序仿真,仿真結(jié)果正確。在硬件實(shí)現(xiàn)與調(diào)試過(guò)程中,將程序下載到Xilinx公司的VirtexE系列的xcv50e-6cs144芯片中,經(jīng)整體調(diào)試,結(jié)果正確,最終實(shí)現(xiàn)了幀同步電路的設(shè)計(jì)。
3.1 設(shè)計(jì)特點(diǎn)
  本設(shè)計(jì)與傳統(tǒng)設(shè)計(jì)相比有如下主要特點(diǎn):
  (1)整體設(shè)計(jì)由專用全局時(shí)鐘上升沿作為驅(qū)動(dòng),這樣可以在某個(gè)程度上避免累積時(shí)延以及毛刺的產(chǎn)生,增強(qiáng)了系統(tǒng)的可預(yù)測(cè)性和可靠性。
  (2)幀同步碼檢測(cè)模塊以容差技術(shù)思想為基礎(chǔ),縮短了幀同步碼搜捕時(shí)間,加強(qiáng)了系統(tǒng)的穩(wěn)定性。
  (3)保護(hù)模塊選用同步時(shí)序性能、運(yùn)算性能和可靠性能都很優(yōu)越的狀態(tài)機(jī)進(jìn)行設(shè)計(jì),并加快了幀搜捕速度,比傳統(tǒng)設(shè)計(jì)少用至少1幀的時(shí)間。
3.2 性能比較
  與傳統(tǒng)D觸發(fā)器所完成的幀同步電路設(shè)計(jì)相比,由于傳統(tǒng)幀同步電路是以時(shí)標(biāo)發(fā)生器的幀時(shí)標(biāo)脈沖上升沿作為D觸發(fā)器驅(qū)動(dòng),所以一旦幀同步檢測(cè)碼由于某種原因出現(xiàn)了延遲,則系統(tǒng)將不能正確地判斷是否同步。而本設(shè)計(jì)采取的是同步時(shí)序設(shè)計(jì)方案,并且增加了容差功能,使得系統(tǒng)穩(wěn)定性大幅度提高。
  與傳統(tǒng)同步時(shí)序幀同步電路設(shè)計(jì)相比,本設(shè)計(jì)在保護(hù)模塊增加了一個(gè)輔助信號(hào)來(lái)實(shí)現(xiàn)快速幀同步碼搜捕,這樣比傳統(tǒng)方案節(jié)約了一個(gè)幀周期的時(shí)間??偟膩?lái)說(shuō),此設(shè)計(jì)十分適合于在短波信道這樣高衰落高干擾情況下使用。
參考文獻(xiàn)
1 王蘭勛,張鎖良.一種幀同步碼檢測(cè)方案及實(shí)現(xiàn)[J]. 河北大學(xué)學(xué)報(bào),2004;(3)
2 王 志,石江宏,周劍揚(yáng)等.同步數(shù)字復(fù)接的設(shè)計(jì)及其FPGA實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2005;31(4)
3 謝維華,庹新宇,楊瑞娟.一種用VHDL語(yǔ)言實(shí)現(xiàn)的幀同步算法[J].空軍雷達(dá)學(xué)院學(xué)報(bào),2003;(6)
4 張景悅,王明磊,王 瑩.基于FPGA的數(shù)字復(fù)接系統(tǒng)幀同步器設(shè)計(jì)與實(shí)現(xiàn)[J].國(guó)外電子元器件,2005;(5)

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。