《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > 同步數(shù)字復(fù)接的設(shè)計(jì)及其FPGA實(shí)現(xiàn)

同步數(shù)字復(fù)接的設(shè)計(jì)及其FPGA實(shí)現(xiàn)

2008-09-12
作者:王 志1,, 石江宏2, 周劍揚(yáng)2

  摘 要: 在簡要介紹同步數(shù)字復(fù)接" title="復(fù)接">復(fù)接基本原理的基礎(chǔ)上,采用VHDL語言對同步數(shù)字復(fù)接各組成模塊進(jìn)行了設(shè)計(jì),,并在ISE集成環(huán)境下進(jìn)行了設(shè)計(jì)描述,、綜合,、布局布線及時(shí)序仿真,,取得了正確的設(shè)計(jì)結(jié)果,,同時(shí)利用中小容量的FPGA實(shí)現(xiàn)了同步數(shù)字復(fù)接功能。
  關(guān)鍵詞: 同步數(shù)字復(fù)接/分接 FPGA 位同步" title="位同步">位同步 幀同步" title="幀同步">幀同步檢測


  基群速率數(shù)字信號的合成設(shè)備和分接設(shè)備是電信網(wǎng)絡(luò)中使用較多的關(guān)鍵設(shè)備,,在數(shù)字程控交換機(jī)的用戶模塊、小靈通基站控制器和集團(tuán)電話中都需要使用這種同步數(shù)字復(fù)接設(shè)備,。近年來,隨著需要自建內(nèi)部通信系統(tǒng)的公司和企業(yè)不斷增多,,同步數(shù)字復(fù)接設(shè)備的使用需求也在增加,。FPGA(現(xiàn)場可編程門陣列)器件的高性能簡化了數(shù)字通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),。本文基于FPGA的技術(shù)特點(diǎn),,結(jié)合數(shù)字復(fù)接技術(shù)的基本原理,,實(shí)現(xiàn)了基群速率(2048kbps)數(shù)字信號的數(shù)字分接與復(fù)接,。
1 同步數(shù)字復(fù)接的基本原理
  在數(shù)字通信網(wǎng)中,,為了擴(kuò)大傳輸容量和傳輸效率,,常常需要把若干個(gè)低速數(shù)字信號合并成為一個(gè)高速數(shù)字信號,,然后通過高速信道傳輸;而在接收端又按照需要分解成低速數(shù)字信號,。數(shù)字復(fù)接技術(shù)就是實(shí)現(xiàn)這種數(shù)字信號合并(復(fù)接)和分解(分接)的專門技術(shù)[1],。
1.1 系統(tǒng)劃分
  同步數(shù)字復(fù)接終端包括同步數(shù)字復(fù)接器" title="復(fù)接器">復(fù)接器(Synchronous Digital Multiplexer)和同步數(shù)字分接器" title="分接器">分接器(Synchronous Digital Demultiplexer)兩部分,如圖1所示,。數(shù)字復(fù)接器把兩個(gè)或兩個(gè)以上的支路數(shù)字信號按時(shí)分復(fù)用方式合并成單一的合路數(shù)字信號,;數(shù)字分接器把單一的合路數(shù)字信號分解為原來的各支路數(shù)字信號,。通常總是把數(shù)字復(fù)接器和數(shù)字分接器裝在一起做成一個(gè)設(shè)備,,稱為復(fù)接分接器(Muldex),,一般簡稱數(shù)字復(fù)接設(shè)備[2],。


  同步數(shù)字復(fù)接器由定時(shí)和復(fù)接單元組成,;而同步數(shù)字分接器則由同步,、定時(shí)和分接單元組成,。定時(shí)單元給設(shè)備提供各種定時(shí)信號,,復(fù)接器的主時(shí)鐘可由內(nèi)部產(chǎn)生,也可由外部提供,,而分接器主時(shí)鐘則從接收信號中提取,,并通過同步電路的調(diào)整控制,,使得分接器基準(zhǔn)時(shí)序信號與復(fù)接器基準(zhǔn)時(shí)序信號保持正確的相位關(guān)系,,即收發(fā)同步,。同步的建立由同步單元實(shí)現(xiàn)[1],。
1.2 位同步[3]
  在數(shù)字通信中,,位同步是最基本的同步,。位同步的基本含義就是收端和發(fā)端時(shí)鐘信號必須同頻同相,,這樣接收端才能正確接收和判決發(fā)送端送來的每一個(gè)碼元,。為了達(dá)到收發(fā)端時(shí)鐘同頻同相,接收端需要從收到的碼流中提取發(fā)送端的時(shí)鐘信號來控制接收端時(shí)鐘,,從而做到位同步。實(shí)現(xiàn)位同步的方法分為插入導(dǎo)頻法和直接法兩類,。而直接法按照提取同步信號的方式,大致又可分為濾波法和鎖相法,。鎖相法的原理是:在接收端用鑒相器比較接收碼元和本地產(chǎn)生的位同步信號的相位,,如果兩者不一致,則用鑒相器輸出誤差信號去控制本地同步信號的相位,,直至本地的位同步信號的相位與接收信號的相位一致為止。
1.3 幀同步
  在復(fù)接分接器中,,如果只是循環(huán)交織地復(fù)接各支路數(shù)字信號,那么一旦合并成為一個(gè)合路數(shù)字信號后就難以正確地實(shí)施分接,。為了保證接收端分路系統(tǒng)能和發(fā)送端一致,在保持位同步的基礎(chǔ)上還必須要有一個(gè)幀同步系統(tǒng),,以實(shí)現(xiàn)發(fā)送端與接收端的幀同步[2]
  實(shí)現(xiàn)幀同步的基本方法是在發(fā)送端預(yù)先規(guī)定的時(shí)隙(即幀同步碼時(shí)隙)插入一組特殊碼型的幀同步碼組,;在接收端由幀同步檢測電路檢測該碼組以保證收發(fā)幀同步[2],。
  幀同步檢測狀態(tài)有失步態(tài)、同步校核態(tài),、同步態(tài)和同步保護(hù)態(tài)四種狀態(tài)。
2 基于FPGA的同步數(shù)字復(fù)接的設(shè)計(jì)與實(shí)現(xiàn)
  FPGA/CPLD既繼承了ASIC的大規(guī)模,、高集成度,、高可靠性的優(yōu)點(diǎn),又克服了普通ASIC設(shè)計(jì)的設(shè)計(jì)周期長,、投資大、靈活性差的缺點(diǎn),,逐步成為復(fù)雜數(shù)字電路設(shè)計(jì)的理想首選[4]
  ISE是XILINX公司提供的一個(gè)開發(fā)FPGA/CPLD的集成環(huán)境,,其集成的工具可以完成從設(shè)計(jì)輸入、功能仿真,、綜合優(yōu)化、綜合后仿真、布局布線,、時(shí)序仿真到配置芯片等整個(gè)FPGA/CPLD開發(fā)過程。
  本設(shè)計(jì)采用ISE集成環(huán)境進(jìn)行開發(fā),,使用SPARTAN-3系列FPGA器件實(shí)現(xiàn)設(shè)計(jì)。
2.1 按碼字復(fù)接系統(tǒng)的設(shè)計(jì)
  數(shù)字信號復(fù)接主要有兩種方式[1]:一種是“逐位復(fù)接”,,另一種是“按碼字復(fù)接”。其中按碼字復(fù)接方式保留了碼字結(jié)構(gòu),,有利于多路合成處理和交換。本設(shè)計(jì)要實(shí)現(xiàn)32路信號的復(fù)接,,信息位采取各支路彼此循環(huán)且每次插入一個(gè)8位信息位到合路數(shù)字信號中的碼字復(fù)接形式,幀同步碼采用CCITT推薦的10011011,。
2.1.1 復(fù)接器和分接器的設(shè)計(jì)
  復(fù)接器應(yīng)完成兩個(gè)功能。一是循環(huán)接收32個(gè)64kbps的支路信號,,每支路每次送入8位信息位(其中第一支路送入固定的幀同步碼10011011),形成合路數(shù)據(jù),;二是將合路數(shù)據(jù)以2048kbps的速率發(fā)送出去,形成合路信號——基群速率信號,。
  同步數(shù)字復(fù)接器電路原理圖如圖2所示,復(fù)接器由移位寄存器和定時(shí)模塊兩部分構(gòu)成,。移位寄存器分兩組,每組由32個(gè)8位移位寄存器組成,。在一幀時(shí)間(125μs)內(nèi),,當(dāng)其中一組移位寄存器在64kHz時(shí)鐘控制下同時(shí)移入32個(gè)支路的數(shù)據(jù)時(shí),,另一組移位寄存器在2048kHz時(shí)鐘(xclk_2M)的控制下將上次存入的32個(gè)支路的數(shù)據(jù)依次送出,。在下一幀時(shí)間內(nèi),則由第一組移位寄存器輸出2048kbps的合路信號,,第二組移位寄存器讀入32個(gè)64kbps的支路數(shù)據(jù)。依此規(guī)律,,在定時(shí)模塊的控制下,,由兩組移位寄存器交替變換工作任務(wù),實(shí)現(xiàn)了支路輸入和合路輸出的連續(xù)性,。定時(shí)模塊由計(jì)數(shù)器(cnt),、多路選擇器(mul2~mul5)等組成,,為兩組移位寄存器提供工作允許信號,、合路信號輸出的切換選擇信號,。
  為了提高時(shí)鐘的可靠性、降低時(shí)鐘的延時(shí)抖動(dòng),、提高時(shí)鐘的驅(qū)動(dòng)能力,,從而更好地完成同步復(fù)接,利用FPGA自身提供的全局時(shí)鐘資源驅(qū)動(dòng)本設(shè)計(jì)的主時(shí)鐘,,將外部時(shí)鐘從芯片的全局時(shí)鐘管腳輸入,,經(jīng)過BUFGP(IBUFG+BUFG)后通過全局時(shí)鐘網(wǎng)絡(luò)送至同步復(fù)接部分。


  分接器的功能與復(fù)接器相反,。分接器在其定時(shí)單元的控制下,,對兩組移位寄存器進(jìn)行2048kbps的數(shù)據(jù)寫入和64kbps的數(shù)據(jù)讀出,實(shí)現(xiàn)基群速率合路數(shù)字信號的32路分接,。
2.1.2 位同步提取電路的設(shè)計(jì)
  實(shí)現(xiàn)合路數(shù)字信號的分接,,需要從數(shù)據(jù)流中提取時(shí)鐘同步信息。目前,,在數(shù)字通信系統(tǒng)中,,常常采用數(shù)字鎖相法提取位同步信號[3],。
  位同步提取電路如圖3(a)所示,,主要由微分與鑒相模塊,、添門/扣門控制模塊,、高頻時(shí)鐘模塊以及分頻器(clk_gen)等部分組成,。微分電路(diff)的功能是把非歸零碼轉(zhuǎn)換為歸零碼,以利于定時(shí)信息的提取,。鑒相器的功能是比較接收碼元(code_in)與分頻器輸出的本地時(shí)鐘信號(clk_out)的相位,,若本地時(shí)鐘超前于接收碼元的相位,,鑒相器向扣門電路輸出一個(gè)超前脈沖,,在16分頻器輸入端扣除一個(gè)高頻窄脈沖,,使分頻器輸出的時(shí)鐘信號的相位滯后1/16周期;若本地時(shí)鐘滯后于接收碼元的相位,,鑒相器向添門電路輸出一個(gè)滯后脈沖,,增加一個(gè)高頻窄脈沖,使分頻器的輸出脈沖的相位提前1/16周期,。高頻時(shí)鐘模塊將本地高頻時(shí)鐘輸入信號clk_in轉(zhuǎn)換為兩路相位差為90°的窄脈沖序列,,分別為添門和扣門提供高頻窄脈沖序列。添門為常閉門,,在沒有滯后脈沖控制時(shí),,此門始終關(guān)閉;扣門為常開門,,若無超前脈沖控制時(shí),,窄脈沖信號通過此常開門,。分頻器將輸入的高頻時(shí)鐘信號分頻后輸出位同步信號clk_out。
  對位同步提取電路進(jìn)行時(shí)序仿真,,得到的時(shí)序仿真波形圖如圖3(b)所示,。圖中,code_in為輸入碼流,,clk_out為位同步信號輸出,。由圖可知,該電路可以從輸入碼流中準(zhǔn)確提取位同步信號,,并且在碼流相位有變化的時(shí),,位同步信號可以快速地做出相位調(diào)整,保持同步,。


2.1.3 幀同步單元的設(shè)計(jì)
  為了正確地實(shí)施分接,,在分接前必須先通過幀同步單元對合路信號進(jìn)行幀同步檢測,。
  幀同步單元是復(fù)接設(shè)備中較復(fù)雜也很重要的部分。如圖4所示,,它主要由同步碼檢測模塊(chk)和同步檢測控制模塊(chk_ctrl)兩部分組成,。其中,同步碼檢測模塊對輸入的數(shù)據(jù)流進(jìn)行搜索,,一旦檢測到幀同步碼(10011011),,立即輸出一個(gè)捕獲脈沖信號(get);同步檢測控制模塊由幀同步系統(tǒng)狀態(tài)計(jì)數(shù)器和一幀計(jì)數(shù)器等構(gòu)成,,完成幀同步單元的狀態(tài)轉(zhuǎn)換控制,、每幀檢測同步頭的控制等功能。


  幀同步的關(guān)鍵部分是前方保護(hù)和后方保護(hù)的設(shè)計(jì),。為了減少從失步到重新獲得同步的時(shí)間和減小信道誤碼對同步工作狀態(tài)的影響,,從而得到較好的通信質(zhì)量,,本設(shè)計(jì)采用了2幀后方保護(hù)和3幀前方保護(hù)的方案,。


  幀同步系統(tǒng)狀態(tài)轉(zhuǎn)換圖如圖5所示。系統(tǒng)上電復(fù)位后,,在起始時(shí)刻處于失步狀態(tài)(STATE0_1xx——其中x表示無關(guān)值),,系統(tǒng)從外部輸入的合路碼流中搜捕幀同步碼“10011011”,若合路碼流中沒有幀同步碼,,狀態(tài)計(jì)數(shù)器仍保持為1xx,;若從合路碼流中檢測出同步碼(get=“1”),則狀態(tài)計(jì)數(shù)器清零為000,,系統(tǒng)進(jìn)入同步校核態(tài)(STATE1_000),,開始將合路碼流寫入移位寄存器,,分接器輸出開關(guān)仍然為關(guān)閉狀態(tài)(switch=“0”)。在同步校核狀態(tài)下,,若下一幀確認(rèn)幀同步碼不正確,,判斷為虛假同步,則狀態(tài)計(jì)數(shù)器減1變?yōu)?11,,系統(tǒng)回到失步態(tài),;相反,若下一幀確認(rèn)幀同步碼正確,,則系統(tǒng)進(jìn)入同步態(tài)(STATE2_001),,分接器輸出開關(guān)打開(switch=“1”),開始正常分接合路碼流,。系統(tǒng)進(jìn)入同步態(tài)后,,若合路碼流中出現(xiàn)幀同步碼丟失,則狀態(tài)計(jì)數(shù)器加1,,系統(tǒng)進(jìn)入同步保護(hù)態(tài)1(STATE3_010),;若下一幀仍然檢測幀同步碼失敗,則狀態(tài)計(jì)數(shù)器再加1,,系統(tǒng)進(jìn)入同步保護(hù)態(tài)2(STATE4_011),;若連續(xù)第三幀未收到幀同步碼,則狀態(tài)計(jì)數(shù)器再加1轉(zhuǎn)為100,,系統(tǒng)進(jìn)入失步狀態(tài),,停止分接合路碼流(switch=“0”),同時(shí)重新開始搜捕幀同步碼“10011011”,。系統(tǒng)在同步保護(hù)態(tài)(狀態(tài)計(jì)數(shù)器值為01x)下,,若檢測幀同步碼正確,則狀態(tài)計(jì)數(shù)器置數(shù)為001,,系統(tǒng)回到同步態(tài),。
2.2 系統(tǒng)仿真與驗(yàn)證
  在ISE集成環(huán)境下,調(diào)用ModelSim仿真軟件對系統(tǒng)各模塊進(jìn)行功能仿真,、綜合后仿真以及布局布線后的時(shí)序仿真,。仿真結(jié)果表明,復(fù)接器,、分接器,、同步單元等所有模塊的設(shè)計(jì)均滿足設(shè)計(jì)要求。
  為了進(jìn)一步確保系統(tǒng)設(shè)計(jì)的可實(shí)用性,,將系統(tǒng)各組成模塊按照自環(huán)工作狀態(tài)連接起來,,對系統(tǒng)各模塊進(jìn)行了聯(lián)合仿真。復(fù)接設(shè)備自環(huán)驗(yàn)證的原理圖如圖6所示,。


  將32路64kbps的支路信號Ts_in(31:0)送到復(fù)接器(multiplexer)的支路信號輸入端Ts(31:0),,復(fù)接器的合路信號輸出端E1_out與同步單元syn_module(包括位同步和幀同步)的合路信號輸入端E1_in相連(自環(huán)),,合路信號經(jīng)過位同步信號提取以及幀同步檢測后,由同步單元將非失步狀態(tài)下的合路序列從信號輸出端E1_out送出,,同步單元還提供位同步信號clk_out,,送分接器demultiplex的輸入端xclk-2M,同步單元輸出的合路序列送入分接器的合路信號輸入端E1_in,經(jīng)過分接器實(shí)施分接后,,最后從支路輸出控制單元output_gate的輸出端可以得到各個(gè)支路的輸出信號Ts_out(31:0),。
  圖7為復(fù)接設(shè)備自環(huán)驗(yàn)證的仿真時(shí)序圖。其中,,Ts_in為32個(gè)支路送來的64kbps的激勵(lì)信號,;mul_E1_out為經(jīng)復(fù)接器實(shí)施復(fù)接后的合路信號;E1_check_in為進(jìn)入幀同步碼檢測模塊的合路序列,;get_syn為幀同步碼檢測的結(jié)果,;one_fr為同步校核和同步保護(hù)所需的幀同步碼檢測控制信號;syn_n為系統(tǒng)失步信號,;syn_E1_out為非失步狀態(tài)下的合路序列,;opn為支路信號輸出允許信號;Ts_out為實(shí)施分接后各支路的64kbps輸出信號,;Ts_in(1)為復(fù)接器第一支路輸入信號,;Ts_out(1)為分接器第一支路輸出信號。


  將輸入激勵(lì)信號Ts_in與系統(tǒng)支路輸出信號Ts_out相比較,,結(jié)果表明,,在從同步到下一次失步的時(shí)間內(nèi),Ts_out與Ts_in信號波形基本一致——Ts_out中會(huì)出現(xiàn)一些1~2ns的過渡值,,這些過渡值是由于Ts_out總線中32個(gè)支路信號到達(dá)寄存器輸出端的時(shí)間不一致而造成的,,這是由FPGA器件時(shí)延不確定性決定的。由Ts_in(1)和Ts_out(1)的波形比較可知,,對于每個(gè)單一的支路信號,,并不存在這種過渡值,分接后的支路信號與復(fù)接器支路輸入信號一致,。因此,,Ts_out總線中出現(xiàn)的這種過渡值不會(huì)影響系統(tǒng)的性能。
  時(shí)序仿真結(jié)果表明,,復(fù)接,、同步以及分接功能均正常,滿足設(shè)計(jì)要求,。在5萬門的SPARTAN-3系列FPGA器件xc3s50上實(shí)現(xiàn)設(shè)計(jì),硬件資源的使用情況如下:319個(gè)Slice,,263個(gè)Slice Flip Flop,,562個(gè)4 input LUT,,70個(gè)bonded IOB,2個(gè)GCLK,。該設(shè)計(jì)已作為一個(gè)模塊應(yīng)用到其它系統(tǒng)中,,具有一定的實(shí)用價(jià)值。同時(shí),,由于該設(shè)計(jì)采用VHDL語言描述,,具有可移植性,利用中小容量的FPGA就能實(shí)現(xiàn)該系統(tǒng)功能,。
參考文獻(xiàn)
1 張應(yīng)中,,張德民,溫 榮.數(shù)字通信工程.北京:人民郵電出版社[M],,1996.8
2 曹志剛,,錢亞生.現(xiàn)代通信原理[M].北京:清華大學(xué)出版社,1992.8
3 段吉海,,黃智偉.基于CPLD/FPGA的數(shù)字通信系統(tǒng)建模與設(shè)計(jì)[M].北京:電子工業(yè)出版社,,2004.8
4 王 誠,薛小剛,,鐘信潮.FPGA/CPLD設(shè)計(jì)工具——Xilinx ISE 5.x使用詳解[M]. 北京:人民郵電出版社,,2003.6

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