新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 同步數(shù)字復(fù)接的設(shè)計(jì)及其FPGA技術(shù)實(shí)現(xiàn)

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

作者: 時(shí)間:2017-06-05 來源:網(wǎng)絡(luò) 收藏

基群速率數(shù)字信號(hào)的合成設(shè)備和分接設(shè)備是電信網(wǎng)絡(luò)中使用較多的關(guān)鍵設(shè)備,在數(shù)字程控交換機(jī)的用戶模塊、小靈通基站控制器和集團(tuán)電話中都需要使用這種設(shè)備。近年來,隨著需要自建內(nèi)部通信系統(tǒng)的公司和企業(yè)不斷增多,設(shè)備的使用需求也在增加。(現(xiàn)場(chǎng)可編程門陣列)器件的高性能簡(jiǎn)化了數(shù)字通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。本文基于的技術(shù)特點(diǎn),結(jié)合數(shù)字復(fù)接技術(shù)的基本原理,實(shí)現(xiàn)了基群速率(2048kbps)數(shù)字信號(hào)的數(shù)字分接與復(fù)接。

1 的基本原理

在數(shù)字通信網(wǎng)中,為了擴(kuò)大傳輸容量和傳輸效率,常常需要把若干個(gè)低速數(shù)字信號(hào)合并成為一個(gè)高速數(shù)字信號(hào),然后通過高速信道傳輸;而在接收端又按照需要分解成低速數(shù)字信號(hào)。數(shù)字復(fù)接技術(shù)就是實(shí)現(xiàn)這種數(shù)字信號(hào)合并(復(fù)接)和分解(分接)的專門技術(shù)[1]。

1.1 系統(tǒng)劃分

同步數(shù)字復(fù)接終端包括同步數(shù)字復(fù)接器(Synchronous Digital Multiplexer)和同步數(shù)字分接器(Synchronous Digital Demultiplexer)兩部分,如圖1所示。數(shù)字復(fù)接器把兩個(gè)或兩個(gè)以上的支路數(shù)字信號(hào)按時(shí)分復(fù)用方式合并成單一的合路數(shù)字信號(hào);數(shù)字分接器把單一的合路數(shù)字信號(hào)分解為原來的各支路數(shù)字信號(hào)。通??偸前褦?shù)字復(fù)接器和數(shù)字分接器裝在一起做成一個(gè)設(shè)備,稱為復(fù)接分接器(Muldex),一般簡(jiǎn)稱數(shù)字復(fù)接設(shè)備[2]。

同步數(shù)字復(fù)接器由定時(shí)和復(fù)接單元組成;而同步數(shù)字分接器則由同步、定時(shí)和分接單元組成。定時(shí)單元給設(shè)備提供各種定時(shí)信號(hào),復(fù)接器的主時(shí)鐘可由內(nèi)部產(chǎn)生,也可由外部提供,而分接器主時(shí)鐘則從接收信號(hào)中提取,并通過同步電路的調(diào)整控制,使得分接器基準(zhǔn)時(shí)序信號(hào)與復(fù)接器基準(zhǔn)時(shí)序信號(hào)保持正確的相位關(guān)系,即收發(fā)同步。同步的建立由同步單元實(shí)現(xiàn)[1]。

本文引用地址:http://m.butianyuan.cn/article/201706/349241.htm

1.2 位同步[3]

在數(shù)字通信中,位同步是最基本的同步。位同步的基本含義就是收端和發(fā)端時(shí)鐘信號(hào)必須同頻同相,這樣接收端才能正確接收和判決發(fā)送端送來的每一個(gè)碼元。為了達(dá)到收發(fā)端時(shí)鐘同頻同相,接收端需要從收到的碼流中提取發(fā)送端的時(shí)鐘信號(hào)來控制接收端時(shí)鐘,從而做到位同步。實(shí)現(xiàn)位同步的方法分為插入導(dǎo)頻法和直接法兩類。而直接法按照提取同步信號(hào)的方式,大致又可分為濾波法和鎖相法。鎖相法的原理是:在接收端用鑒相器比較接收碼元和本地產(chǎn)生的位同步信號(hào)的相位,如果兩者不一致,則用鑒相器輸出誤差信號(hào)去控制本地同步信號(hào)的相位,直至本地的位同步信號(hào)的相位與接收信號(hào)的相位一致為止。

1.3 幀同步

在復(fù)接分接器中,如果只是循環(huán)交織地復(fù)接各支路數(shù)字信號(hào),那么一旦合并成為一個(gè)合路數(shù)字信號(hào)后就難以正確地實(shí)施分接。為了保證接收端分路系統(tǒng)能和發(fā)送端一致,在保持位同步的基礎(chǔ)上還必須要有一個(gè)幀同步系統(tǒng),以實(shí)現(xiàn)發(fā)送端與接收端的幀同步[2]。

實(shí)現(xiàn)幀同步的基本方法是在發(fā)送端預(yù)先規(guī)定的時(shí)隙(即幀同步碼時(shí)隙)插入一組特殊碼型的幀同步碼組;在接收端由幀同步檢測(cè)電路檢測(cè)該碼組以保證收發(fā)幀同步[2]。

幀同步檢測(cè)狀態(tài)有失步態(tài)、同步校核態(tài)、同步態(tài)和同步保護(hù)態(tài)四種狀態(tài)。

2 基于的同步數(shù)字復(fù)接的設(shè)計(jì)與實(shí)現(xiàn)

FPGA/CPLD既繼承了ASIC的大規(guī)模、高集成度、高可靠性的優(yōu)點(diǎn),又克服了普通ASIC設(shè)計(jì)的設(shè)計(jì)周期長(zhǎng)、投資大、靈活性差的缺點(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ù)字信號(hào)復(fù)接主要有兩種方式[1]:一種是“逐位復(fù)接”,另一種是“按碼字復(fù)接”。其中按碼字復(fù)接方式保留了碼字結(jié)構(gòu),有利于多路合成處理和交換。本設(shè)計(jì)要實(shí)現(xiàn)32路信號(hào)的復(fù)接,信息位采取各支路彼此循環(huán)且每次插入一個(gè)8位信息位到合路數(shù)字信號(hào)中的碼字復(fù)接形式,幀同步碼采用CCITT推薦的10011011。

2.1.1 復(fù)接器和分接器的設(shè)計(jì)

復(fù)接器應(yīng)完成兩個(gè)功能。一是循環(huán)接收32個(gè)64kbps的支路信號(hào),每支路每次送入8位信息位(其中第一支路送入固定的幀同步碼10011011),形成合路數(shù)據(jù);二是將合路數(shù)據(jù)以2048kbps的速率發(fā)送出去,形成合路信號(hào)——基群速率信號(hào)。

同步數(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的合路信號(hào),第二組移位寄存器讀入32個(gè)64kbps的支路數(shù)據(jù)。依此規(guī)律,在定時(shí)模塊的控制下,由兩組移位寄存器交替變換工作任務(wù),實(shí)現(xiàn)了支路輸入和合路輸出的連續(xù)性。定時(shí)模塊由計(jì)數(shù)器(cnt)、多路選擇器(mul2~mul5)等組成,為兩組移位寄存器提供工作允許信號(hào)、合路信號(hào)輸出的切換選擇信號(hào)。

為了提高時(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í)單元的控制下,對(duì)兩組移位寄存器進(jìn)行2048kbps的數(shù)據(jù)寫入和64kbps的數(shù)據(jù)讀出,實(shí)現(xiàn)基群速率合路數(shù)字信號(hào)的32路分接。

2.1.2 位同步提取電路的設(shè)計(jì)

實(shí)現(xiàn)合路數(shù)字信號(hào)的分接,需要從數(shù)據(jù)流中提取時(shí)鐘同步信息。目前,在數(shù)字通信系統(tǒng)中,常常采用數(shù)字鎖相法提取位同步信號(hào)[3]。

位同步提取電路如圖3(a)所示,主要由微分與鑒相模塊、添門/扣門控制模塊、高頻時(shí)鐘模塊以及分頻器(clk_gen)等部分組成。微分電路(diff)的功能是把非歸零碼轉(zhuǎn)換為歸零碼,以利于定時(shí)信息的提取。鑒相器的功能是比較接收碼元(code_in)與分頻器輸出的本地時(shí)鐘信號(hào)(clk_out)的相位,若本地時(shí)鐘超前于接收碼元的相位,鑒相器向扣門電路輸出一個(gè)超前脈沖,在16分頻器輸入端扣除一個(gè)高頻窄脈沖,使分頻器輸出的時(shí)鐘信號(hào)的相位滯后1/16周期;若本地時(shí)鐘滯后于接收碼元的相位,鑒相器向添門電路輸出一個(gè)滯后脈沖,增加一個(gè)高頻窄脈沖,使分頻器的輸出脈沖的相位提前1/16周期。高頻時(shí)鐘模塊將本地高頻時(shí)鐘輸入信號(hào)clk_in轉(zhuǎn)換為兩路相位差為90°的窄脈沖序列,分別為添門和扣門提供高頻窄脈沖序列。添門為常閉門,在沒有滯后脈沖控制時(shí),此門始終關(guān)閉;扣門為常開門,若無超前脈沖控制時(shí),窄脈沖信號(hào)通過此常開門。分頻器將輸入的高頻時(shí)鐘信號(hào)分頻后輸出位同步信號(hào)clk_out。

對(duì)位同步提取電路進(jìn)行時(shí)序仿真,得到的時(shí)序仿真波形圖如圖3(b)所示。圖中,code_in為輸入碼流,clk_out為位同步信號(hào)輸出。由圖可知,該電路可以從輸入碼流中準(zhǔn)確提取位同步信號(hào),并且在碼流相位有變化的時(shí),位同步信號(hào)可以快速地做出相位調(diào)整,保持同步。


2.1.3 幀同步單元的設(shè)計(jì)

為了正確地實(shí)施分接,在分接前必須先通過幀同步單元對(duì)合路信號(hào)進(jìn)行幀同步檢測(cè)。

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

幀同步的關(guān)鍵部分是前方保護(hù)和后方保護(hù)的設(shè)計(jì)。為了減少?gòu)氖Р降街匦芦@得同步的時(shí)間和減小信道誤碼對(duì)同步工作狀態(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;若從合路碼流中檢測(cè)出同步碼(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);若下一幀仍然檢測(cè)幀同步碼失敗,則狀態(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)下,若檢測(cè)幀同步碼正確,則狀態(tài)計(jì)數(shù)器置數(shù)為001,系統(tǒng)回到同步態(tài)。

2.2 系統(tǒng)仿真與驗(yàn)證

在ISE集成環(huán)境下,調(diào)用ModelSim仿真軟件對(duì)系統(tǒng)各模塊進(jìn)行功能仿真、綜合后仿真以及布局布線后的時(shí)序仿真。仿真結(jié)果表明,復(fù)接器、分接器、同步單元等所有模塊的設(shè)計(jì)均滿足設(shè)計(jì)要求。

為了進(jìn)一步確保系統(tǒng)設(shè)計(jì)的可實(shí)用性,將系統(tǒng)各組成模塊按照自環(huán)工作狀態(tài)連接起來,對(duì)系統(tǒng)各模塊進(jìn)行了聯(lián)合仿真。復(fù)接設(shè)備自環(huán)驗(yàn)證的原理圖如圖6所示。

將32路64kbps的支路信號(hào)Ts_in(31:0)送到復(fù)接器(multiplexer)的支路信號(hào)輸入端Ts(31:0),復(fù)接器的合路信號(hào)輸出端E1_out與同步單元syn_module(包括位同步和幀同步)的合路信號(hào)輸入端E1_in相連(自環(huán)),合路信號(hào)經(jīng)過位同步信號(hào)提取以及幀同步檢測(cè)后,由同步單元將非失步狀態(tài)下的合路序列從信號(hào)輸出端E1_out送出,同步單元還提供位同步信號(hào)clk_out,送分接器demultiplex的輸入端xclk-2M,同步單元輸出的合路序列送入分接器的合路信號(hào)輸入端E1_in,經(jīng)過分接器實(shí)施分接后,最后從支路輸出控制單元output_gate的輸出端可以得到各個(gè)支路的輸出信號(hào)Ts_out(31:0)。

圖7為復(fù)接設(shè)備自環(huán)驗(yàn)證的仿真時(shí)序圖。其中,Ts_in為32個(gè)支路送來的64kbps的激勵(lì)信號(hào);mul_E1_out為經(jīng)復(fù)接器實(shí)施復(fù)接后的合路信號(hào);E1_check_in為進(jìn)入幀同步碼檢測(cè)模塊的合路序列;get_syn為幀同步碼檢測(cè)的結(jié)果;one_fr為同步校核和同步保護(hù)所需的幀同步碼檢測(cè)控制信號(hào);syn_n為系統(tǒng)失步信號(hào);syn_E1_out為非失步狀態(tài)下的合路序列;opn為支路信號(hào)輸出允許信號(hào);Ts_out為實(shí)施分接后各支路的64kbps輸出信號(hào);Ts_in(1)為復(fù)接器第一支路輸入信號(hào);Ts_out(1)為分接器第一支路輸出信號(hào)。

將輸入激勵(lì)信號(hào)Ts_in與系統(tǒng)支路輸出信號(hào)Ts_out相比較,結(jié)果表明,在從同步到下一次失步的時(shí)間內(nèi),Ts_out與Ts_in信號(hào)波形基本一致——Ts_out中會(huì)出現(xiàn)一些1~2ns的過渡值,這些過渡值是由于Ts_out總線中32個(gè)支路信號(hào)到達(dá)寄存器輸出端的時(shí)間不一致而造成的,這是由FPGA器件時(shí)延不確定性決定的。由Ts_in(1)和Ts_out(1)的波形比較可知,對(duì)于每個(gè)單一的支路信號(hào),并不存在這種過渡值,分接后的支路信號(hào)與復(fù)接器支路輸入信號(hào)一致。因此,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ì)采用語言描述,具有可移植性,利用中小容量的FPGA就能實(shí)現(xiàn)該系統(tǒng)功能。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉