幀同步電路的設(shè)計(jì)
2 同步方案的選擇 幀同步通常采用的方法有逐位調(diào)整法和置位調(diào)整法[3,4]。2.1 逐位調(diào)整法 逐位調(diào)整法的基本原理[3]是調(diào)整收端本地幀同步碼的相位,使之與收到的總信碼中的幀同步碼對準(zhǔn)。收端本地幀同步碼產(chǎn)生后,送入同步碼檢測電路,總信碼也送入同步碼檢測電路。如本地幀同步碼的相位沒有對準(zhǔn)總信碼中的幀同步碼位,檢測電路就輸出一個一定寬度的扣除脈沖,利用該扣除脈沖將再生主時鐘脈沖扣掉一個,使收端的時間相對于總信碼后移了一位碼元時間。再生信碼仍按主時鐘節(jié)拍不停的送來,而本地定時系統(tǒng)仍保留在原來位置不動,停止的時間為一個主時鐘周期。這樣,同步碼檢測電路相當(dāng)于檢測下一位信碼。如果下一位的檢測結(jié)果仍不一致,則再扣除一位主時鐘。按這樣搜索下去,直至檢測到與同步碼相同的信碼相位為止。2.2 置位調(diào)整法 在失幀期間,接收設(shè)備時序發(fā)生器被置于一個特定的等待狀態(tài),即接收設(shè)備幀狀態(tài)處于特定的預(yù)置狀態(tài);接收碼流逐比特進(jìn)入幀定位信號檢測電路,一旦其中全部 n位信碼與規(guī)定的幀定位信號碼相同,就輸出一個控制信號,啟動接收設(shè)備的時序發(fā)生器,同時用接收時鐘信號來推動他。然后經(jīng)過一個檢測周期的時間檢驗(yàn)判斷。如果未建立正確的相位關(guān)系,就重復(fù)上述過程;如果確定建立了正確的相位關(guān)系,就保持這種相位關(guān)系并結(jié)束搜捕過程。如果接收碼流中未同步前的任何一段信碼都不出現(xiàn)幀定位碼型,而且?guī)ㄎ淮a中不發(fā)生誤碼,那么只要遇到一個完整的幀定位碼組就足以建立起同步,可見這時完成搜捕過程比較快。由于噪聲的影響,可能存在虛警現(xiàn)象和漏檢現(xiàn)象,使搜捕時間延長。2.3 兩種方法的比較 在非同步位置上,移位調(diào)整法每調(diào)整一次都要檢驗(yàn)一次;而置位調(diào)整法只有出現(xiàn)虛警現(xiàn)象時才檢驗(yàn)一次??梢姡笳弑容^節(jié)省時間?! ≡谕轿恢蒙?,逐位調(diào)整法不管幀定位碼中是否出現(xiàn)誤碼總要檢驗(yàn)一次,而且即使有某種程度的誤碼也可能做出相位關(guān)系的正確判斷;而置位調(diào)整法,只要幀定位碼中有誤碼,就一定錯過了建立同步的機(jī)會??梢姾笳邥阉巡稌r間拖長?! 【C合上述兩方面,當(dāng)合路信號誤碼率較高時,逐位調(diào)整法的平均搜捕時間較短;當(dāng)合路信號誤碼率較低時,置位調(diào)整法的平均搜捕時間較短。數(shù)字信道誤碼率按國際推薦常常是相當(dāng)?shù)偷?,不可用誤碼率門限也只有1×10-3,一般采用置位調(diào)整法比較合適[3,4]。3 幀同步系統(tǒng)的設(shè)計(jì) 本設(shè)計(jì)采用置位調(diào)整法。幀同步單元大致可以分為4塊:幀定位碼檢測單元、同步保護(hù)及校核單元、調(diào)整單元和幀時標(biāo)發(fā)生單元?! ∑湓砜驁D如圖2所示。
當(dāng)合路信號pcm串行輸入幀定位碼檢測單元,當(dāng)檢測到同步時標(biāo)時,輸出一個同步時標(biāo)ps脈沖,他與時標(biāo)發(fā)生器產(chǎn)生的幀時標(biāo)脈沖pc同時輸入同步保護(hù)及校核單元。在同步保護(hù)及校核單元,通過比較ps和pc同步與否,以及連續(xù)同步或不同步的次數(shù),來判斷系統(tǒng)是否同步。如果不同步,該單元將產(chǎn)生一個指令,使系統(tǒng)處于待調(diào)整狀態(tài)。最后通過調(diào)整單元控制時標(biāo)發(fā)生器,調(diào)節(jié)幀時標(biāo)pc出現(xiàn)的相位。然后反復(fù)pc和ps比較過程,使系統(tǒng)同步。3.1 幀定位碼檢測單元 設(shè)系統(tǒng)的幀定位碼長n=12,幀定位碼為“111100110000”。幀定位碼檢測單元將合路信號串行輸入12個串聯(lián)的移位寄存器,當(dāng)檢測到移位寄存器的12個輸出正好與幀定位碼相同時,馬上產(chǎn)生一個同步時標(biāo)ps負(fù)脈沖,其脈沖寬度為一個系統(tǒng)時鐘周期。波形如圖3所示。
3.2 同步保護(hù)及校核單元 在失步狀態(tài),幀同步檢測電路一旦發(fā)現(xiàn)同步碼,校核計(jì)數(shù)器就開始計(jì)數(shù)。如果隨后在規(guī)定時刻上又連續(xù)發(fā)現(xiàn)(α1)次,即校核計(jì)數(shù)到α,就確定進(jìn)入同步態(tài)。此處的α稱為后方保護(hù)計(jì)數(shù)。在同步狀態(tài)時,由于干擾或中斷,可能使幀同步碼組丟失,這時要判斷是否真失步,以免錯誤的進(jìn)入捕捉過程。幀同步檢測電路在規(guī)定的時刻一旦有一次未發(fā)現(xiàn)同步碼,保護(hù)計(jì)數(shù)器就計(jì)1。如果隨后在規(guī)定的時刻上又連續(xù)(β-1)次未發(fā)現(xiàn),即保護(hù)計(jì)數(shù)到β,就進(jìn)入失步狀態(tài)。此處的β稱為前方保護(hù)計(jì)數(shù)。本設(shè)計(jì)中,β=4;α=3。波形見圖4。
設(shè)計(jì)中,通過比較同步時標(biāo)ps和幀時標(biāo)pc在時間上是否對準(zhǔn)來判斷系統(tǒng)狀態(tài)。ps為同步時標(biāo),pc為幀時標(biāo)發(fā)生器產(chǎn)生的幀時標(biāo),q1指示了系統(tǒng)的狀態(tài),q1 =0表示系統(tǒng)處于同步狀態(tài),q1=1表示系統(tǒng)處于捕捉狀態(tài)。如圖4,當(dāng)pc從低電平跳變到高電平時,如果ps=0則表示他們同步;如果ps=1則表示他們不同步。如果ps與pc連續(xù)4次不同步時,系統(tǒng)就將判為失步狀態(tài);若連續(xù)3次同步時,系統(tǒng)就將恢復(fù)為同步狀態(tài)。3.3 調(diào)整單元 該單元在檢測到q1=1后,就進(jìn)入待調(diào)整狀態(tài)。在進(jìn)行調(diào)整后,將輸出一個調(diào)整指令。產(chǎn)生調(diào)整指令的邏輯關(guān)系可表示為: 圖5為調(diào)整單元波形。在q1=1時,即系統(tǒng)失步時,調(diào)整單元開始進(jìn)入工作狀態(tài)。在該狀態(tài)下,如果檢測到pc與ps不同步,則通過pc的上升沿把狀態(tài)量 q2置為高電平并保持,即q2=1。在q1=1,q2=1的情況下,當(dāng)檢測到下一個ps脈沖時,ps的下降沿會觸發(fā)產(chǎn)生一個置位負(fù)脈沖m=0;并在時鐘信號的控制下,m延時半個系統(tǒng)時鐘周期后重新將置位脈沖恢復(fù)為高電平m=1。該置位脈沖用于幀時標(biāo)發(fā)生單元復(fù)位。
3.4 幀時標(biāo)發(fā)生單元 該單元的功能是定時的產(chǎn)生幀時標(biāo)pc,每個相鄰pc的間隔時間為一個幀周期。實(shí)現(xiàn)該功能就是將系統(tǒng)時鐘計(jì)數(shù)分頻,計(jì)數(shù)周期值為一個幀的長度,每隔一個幀周期就產(chǎn)生一個pc脈沖,脈沖寬度為一個時鐘周期。在幀時標(biāo)發(fā)生單元檢測到一個低電平的復(fù)位脈沖時,計(jì)數(shù)器復(fù)位清零并重新開始計(jì)數(shù)。波形如圖6所示。圖中 clr為復(fù)位清零端;clk為系統(tǒng)時鐘;pc是發(fā)生器產(chǎn)生的幀時標(biāo)。3.5 同步單元的整體設(shè)計(jì) 我們用VHDL設(shè)計(jì)完成各模塊,并在MaxPlusII開發(fā)軟件上編譯通過,其設(shè)計(jì)波形分別已做說明。在MaxPlusII開發(fā)軟件上采用原理圖輸入方式,根據(jù)同步單元各個功能塊的劃分,將各個功能模塊連接起來,同步單元設(shè)計(jì)如圖7所示?! D中,ZJC模塊是幀定位碼檢測單元;PCFS模塊是幀時標(biāo)發(fā)生單元;SBBJ模塊是同步保護(hù)及校核單元;TZ模塊是調(diào)整單元。輸入端pcm為合路信號碼流,clk為系統(tǒng)時鐘;輸出端中pc為所需要的幀時標(biāo),其他的輸出為同步單元的一些狀態(tài)參考量, q1指示了系統(tǒng)所處的狀態(tài)是同步還是失步;ps是檢測到幀同步碼后產(chǎn)生的同步時標(biāo);m為調(diào)整單元的調(diào)整指令。
圖8是整體設(shè)計(jì)在MaxPlusII軟件中的波形圖。在第1個幀時標(biāo)pc脈沖出現(xiàn)時沒有同步時標(biāo)ps脈沖,則狀態(tài)量q2=1。該同步系統(tǒng)的前方保護(hù)系數(shù) β=4,在連續(xù)4個幀時標(biāo)pc脈沖與同步時標(biāo)ps脈沖不同步后,狀態(tài)量q1=1。當(dāng)q1,q2同時為高電平時,該系統(tǒng)進(jìn)入搜捕狀態(tài)。由于在下一個pc脈沖出現(xiàn)前,該系統(tǒng)檢測到了一個同步時標(biāo)(該時標(biāo)為偽同步碼產(chǎn)生的),馬上輸出調(diào)整指令脈沖m=0。此時,幀時標(biāo)pc脈沖發(fā)生器被置位,重新開始計(jì)數(shù);狀態(tài)量恢復(fù)為q2=0。再經(jīng)過一個幀周期,出現(xiàn)了置位后產(chǎn)生的第一個幀時標(biāo)pc脈沖,因?yàn)闆]有出現(xiàn)同步時標(biāo)ps脈沖,則q2=1。此后,又重新搜捕。當(dāng)搜捕到同步碼后,如果出現(xiàn)幀時標(biāo)pc脈沖與同步時標(biāo)ps脈沖連續(xù)3次同步(后方保護(hù)系數(shù)α=3),則表示捕捉成功,系統(tǒng)重新進(jìn)入同步狀態(tài)。圖中,在恢復(fù)到同步態(tài)后出現(xiàn)了一個偽同步碼,由于采取了保護(hù)措施(連續(xù)4個幀時標(biāo)pc脈沖與同步時標(biāo)ps脈沖不同步時,才判為失步),因此他沒有影響系統(tǒng)的正常工作。
4 結(jié)語 置位調(diào)整法是幀同步電路設(shè)計(jì)中通常采用的方法,為降低系統(tǒng)的漏檢概率和虛警概率,設(shè)計(jì)中采用前方保護(hù)和后方保護(hù)。同步系統(tǒng)各模塊全部用VHDL編程實(shí)現(xiàn),整體設(shè)計(jì)在MaxPlusII軟件中調(diào)試通過。