摘 要: 提出了一種適合于短波信道的數(shù)字傳輸系統(tǒng)幀同步" title="幀同步">幀同步電路設(shè)計方案,利用容差" title="容差">容差技術(shù)和非容差技術(shù)相結(jié)合實現(xiàn)了幀同步碼檢測。改進了傳統(tǒng)保護模塊" title="保護模塊">保護模塊,使得幀同步搜捕時間縮短了一個幀周期。
關(guān)鍵詞: 短波信道 容差技術(shù) 保護模塊 硬件描述語言
同步是數(shù)字通信系統(tǒng)中的一個重要問題。幀同步電路設(shè)計的好壞直接影響數(shù)據(jù)的解調(diào)質(zhì)量,甚至影響整個通信系統(tǒng)的性能。本文結(jié)合實際設(shè)計出一種適用于衰落信道的快速搜捕幀同步電路。該設(shè)計采用全局時鐘控制每個觸發(fā)器,避免了累積時延以及毛刺的產(chǎn)生,增強了整體設(shè)計的可靠性;同時利用Mealy狀態(tài)機改進了傳統(tǒng)保護模塊,使幀同步搜捕時間縮短了至少一幀周期時間;并且在幀同步碼檢測模塊中,利用容差技術(shù)與非容差技術(shù)相結(jié)合使系統(tǒng)同步后有一位誤碼糾錯能力[1],加強了系統(tǒng)的穩(wěn)定性;最后用FPGA實現(xiàn)了幀同步電路的設(shè)計。
1 幀同步電路原理
1.1 幀同步電路組成
幀同步電路主要分為4個模塊:幀同步碼檢測模塊、幀時標(biāo)發(fā)生模塊、保護模塊和控制模塊" title="控制模塊">控制模塊。其原理圖如圖1所示。
數(shù)據(jù)流串行輸入到幀同步碼檢測模塊,幀同步檢測模塊檢測到同步碼后輸出一個檢測碼,該檢測碼與幀時標(biāo)發(fā)生模塊產(chǎn)生的幀時標(biāo)脈沖同時輸入到保護模塊。保護模塊比較檢測碼和幀時標(biāo)脈沖是否在同一時刻對上,連續(xù)對上α次(后方保護數(shù))則判斷為同步;在同步狀態(tài)下,由于干擾或中斷等原因可能導(dǎo)致幀同步碼組丟失,幀檢測碼與幀時標(biāo)脈沖一旦連續(xù)β次(前方保護數(shù))沒有對上則判斷為失步" title="失步">失步。保護模塊將同步信號、失步信號、幀定位信號和幀檢測碼一同送到控制模塊。同時將同步信號輸入到幀同步碼檢測模塊作為其容差和非容差控制信號。控制模塊根據(jù)輸入信號的相關(guān)信息產(chǎn)生幀時標(biāo)發(fā)生器的置位信號,調(diào)整幀時標(biāo)發(fā)生器中時標(biāo)產(chǎn)生的時刻,從而完成一輪新的同步。
1.2 同步容差
同步容差是容許“一定程度”的幀標(biāo)識誤碼的標(biāo)志,以容差門限表示。在同步狀態(tài)時,希望盡可能不漏掉幀同步碼以維持系統(tǒng)的同步狀態(tài)(即降低漏警概率),所以在同步狀態(tài)下,容差門限就要選擇稍大點(本設(shè)計取為1);在失步搜捕狀態(tài)下,為避免誤碼帶來數(shù)據(jù)流中出現(xiàn)虛幀同步定位碼,應(yīng)選取容差門限為0,即不容許誤碼。
本設(shè)計利用容差技術(shù)和非容差技術(shù)相結(jié)合實現(xiàn)幀同步碼檢測模塊,從而提高了幀同步的抗干擾性。
2 基于FPGA的設(shè)計與實現(xiàn)
利用VHDL設(shè)計了各模塊,并在ISE 7.1i開發(fā)軟件上編譯通過。
2.1 幀同步碼檢測模塊
幀同步碼檢測模塊的主要作用在于檢測出幀同步碼組,并在碼組的最后一位給出一個檢測脈沖。其檢測電路結(jié)構(gòu)圖如圖2所示。
系統(tǒng)時鐘和驅(qū)動數(shù)據(jù)流同時進入比較器A和B與預(yù)設(shè)的最佳同步碼組進行比較,若比較結(jié)果一致,則輸出檢測脈沖到選擇器;當(dāng)容差控制信號為“1”時則輸出比較器A的檢測脈沖,反之則輸出比較器B的檢測脈沖(容差信號為“1”表示開啟容差功能,允許1位誤碼)。具體仿真波形如圖3所示。
圖中,clk為系統(tǒng)時鐘,data為數(shù)據(jù)流,control為容差控制信號,jc為幀同步檢測信號。
2.2 幀時標(biāo)發(fā)生模塊
幀時標(biāo)發(fā)生模塊的主要作用在于每隔一幀周期時間產(chǎn)生一個時標(biāo)脈沖。幀時標(biāo)發(fā)生模塊結(jié)構(gòu)圖如圖4所示。
本設(shè)計選取一幀的周期為32個系統(tǒng)時鐘周期。保護信號c的作用在于避免出現(xiàn)虛假時標(biāo),即高電平時屏蔽掉時標(biāo)脈沖,低電平時對時標(biāo)脈沖不造成任何影響。具體仿真波形如圖5所示。
圖中,clr為置零信號,pc為時標(biāo)脈沖。
2.3 保護模塊
保護模塊主要作用在于實現(xiàn)前方保護和后方保護,最后輸出同步和失步信號。傳統(tǒng)的保護模塊是用四個D觸發(fā)器、一個3口與門、一個4口與門實現(xiàn)的[4],或用兩個計數(shù)器分別對前方保護和后方保護計數(shù)[3]實現(xiàn)的。本設(shè)計選用2進程同步Mealy型有限狀態(tài)機進行設(shè)計。其狀態(tài)轉(zhuǎn)移圖如圖6所示。
由圖6可知,系統(tǒng)設(shè)置了七個狀態(tài),ST0、ST1、ST2為失步搜捕狀態(tài),其余四個狀態(tài)為同步保護狀態(tài)。本設(shè)計設(shè)置α=3和β=4。在系統(tǒng)時鐘上升沿時刻,jc=0、pc=1,表示搜捕到檢測脈沖并且對上了,而如果jc=1、pc=1,則表示沒有對上檢測脈沖。從ST0到ST3連續(xù)對上檢測脈沖3次,即后方保護數(shù)計滿,確定為同步(同步信號q置“1”)。同理,從ST3到ST0連續(xù)4次沒有對上檢測脈沖,即前方保護數(shù)計滿,確定為失步(同步信號q置“0”)。具體仿真波形如圖7所示。
圖中,qf為失步信號,q1為置零信號的輔助信號。
q1實際上為控制模塊中置零輔助信號的一部分,關(guān)鍵作用在于能快速搜捕從而確定同步,即縮短失步時間,能在失步后一出現(xiàn)幀同步檢測信號立刻產(chǎn)生置零信號。
q1產(chǎn)生方式:系統(tǒng)一旦失步,立刻將q1置“1”;系統(tǒng)一旦在系統(tǒng)時鐘clk的上升沿檢測到幀同步檢測碼,立刻將q1置“0”。
2.4 控制模塊
控制模塊主要作用在于產(chǎn)生時標(biāo)發(fā)生模塊的置零信號。當(dāng)系統(tǒng)處于失步狀態(tài)(qf=1或q=0)時,開始搜捕幀同步檢測碼。搜捕到幀同步檢測碼時產(chǎn)生一個置零信號,將幀時標(biāo)發(fā)生模塊清零,重新開始計數(shù)。使得下一幀幀時標(biāo)脈沖可以對上幀同步檢測碼。但置零信號并不能根據(jù)已知的輸入信號直接得到,必須加輔助信號間接產(chǎn)生。下面給出輔助信號q2產(chǎn)生的設(shè)計流程。
設(shè)計流程圖如圖8所示。輔助信號q2只能保證在失步狀態(tài)下生成需要的置零信號,但要實現(xiàn)快速搜捕的目的(即失步后的第一個幀同步檢測脈沖出現(xiàn)時就可產(chǎn)生置零信號),必須將前面保護模塊中提到的q1與此處的q2合并成一路信號,這樣就產(chǎn)生了完整的置零輔助信號。根據(jù)圖9所提供的框圖便可產(chǎn)生所需要的置零信號clr。
最終得到的置零信號clr的波形圖如圖10所示。
圖10中,qt為最終的置零輔助信號。
2.5 幀同步整體模塊
在ISE開發(fā)平臺上采用原理圖輸入方式,根據(jù)同步單元各個功能模塊的劃分,將各個功能模塊連接起來,編譯成功。其整體設(shè)計框圖如圖11所示。整體幀同步設(shè)計仿真波形如圖12所示。
?
在圖11中,當(dāng)?shù)?個幀時標(biāo)脈沖pc到來而沒有出現(xiàn)幀同步檢測信號jc時,置零輔助信號qt置‘1’。一旦檢測到幀同步檢測信號jc,置零信號clr立刻置‘0’,同時置零輔助信號qt置‘0’。此時,幀時標(biāo)發(fā)生器置位,重新開始計數(shù)。由于采取保護措施,因此第2個幀時標(biāo)脈沖pc對上幀同步檢測信號jc連續(xù)3次后,同步信號q才置‘1’,告知系統(tǒng)已經(jīng)同步,同時開啟容差功能,容許一位誤碼,圖12中的第6個幀同步檢測信號jc就是在數(shù)據(jù)流為“00111000”的情況下給出的。此后,由于采取了前方保護,連續(xù)4次沒有對上幀同步檢測信號jc,q才置‘0’,告知系統(tǒng)失步,系統(tǒng)進入失步搜捕狀態(tài)。就在系統(tǒng)失步同時,置零輔助信號qt再次置‘1’,發(fā)現(xiàn)同步碼后置‘0’,產(chǎn)生一個置零信號clr,幀時標(biāo)發(fā)生器重新開始一輪新的計數(shù)。由于該系統(tǒng)選用了容差技術(shù)和前后方保護措施,幀搜捕速度快,失步時間短,該系統(tǒng)工作正常穩(wěn)定。
3 結(jié)論
本設(shè)計選用Xilinx公司的ISE 7.1i作為硬件開發(fā)平臺,選用Mentor公司的Modelsim 6.1b作為仿真平臺,并采用VHDL編程語言進行編程。程序已通過了綜合實驗,并進行了功能仿真和時序仿真,仿真結(jié)果正確。在硬件實現(xiàn)與調(diào)試過程中,將程序下載到Xilinx公司的VirtexE系列的xcv50e-6cs144芯片中,經(jīng)整體調(diào)試,結(jié)果正確,最終實現(xiàn)了幀同步電路的設(shè)計。
3.1 設(shè)計特點
本設(shè)計與傳統(tǒng)設(shè)計相比有如下主要特點:
(1)整體設(shè)計由專用全局時鐘上升沿作為驅(qū)動,這樣可以在某個程度上避免累積時延以及毛刺的產(chǎn)生,增強了系統(tǒng)的可預(yù)測性和可靠性。
(2)幀同步碼檢測模塊以容差技術(shù)思想為基礎(chǔ),縮短了幀同步碼搜捕時間,加強了系統(tǒng)的穩(wěn)定性。
(3)保護模塊選用同步時序性能、運算性能和可靠性能都很優(yōu)越的狀態(tài)機進行設(shè)計,并加快了幀搜捕速度,比傳統(tǒng)設(shè)計少用至少1幀的時間。
3.2 性能比較
與傳統(tǒng)D觸發(fā)器所完成的幀同步電路設(shè)計相比,由于傳統(tǒng)幀同步電路是以時標(biāo)發(fā)生器的幀時標(biāo)脈沖上升沿作為D觸發(fā)器驅(qū)動,所以一旦幀同步檢測碼由于某種原因出現(xiàn)了延遲,則系統(tǒng)將不能正確地判斷是否同步。而本設(shè)計采取的是同步時序設(shè)計方案,并且增加了容差功能,使得系統(tǒng)穩(wěn)定性大幅度提高。
與傳統(tǒng)同步時序幀同步電路設(shè)計相比,本設(shè)計在保護模塊增加了一個輔助信號來實現(xiàn)快速幀同步碼搜捕,這樣比傳統(tǒng)方案節(jié)約了一個幀周期的時間??偟膩碚f,此設(shè)計十分適合于在短波信道這樣高衰落高干擾情況下使用。
參考文獻
1 王蘭勛,張鎖良.一種幀同步碼檢測方案及實現(xiàn)[J]. 河北大學(xué)學(xué)報,2004;(3)
2 王 志,石江宏,周劍揚等.同步數(shù)字復(fù)接的設(shè)計及其FPGA實現(xiàn)[J].電子技術(shù)應(yīng)用,2005;31(4)
3 謝維華,庹新宇,楊瑞娟.一種用VHDL語言實現(xiàn)的幀同步算法[J].空軍雷達學(xué)院學(xué)報,2003;(6)
4 張景悅,王明磊,王 瑩.基于FPGA的數(shù)字復(fù)接系統(tǒng)幀同步器設(shè)計與實現(xiàn)[J].國外電子元器件,2005;(5)