徐思燕,鄧宇
(西華大學(xué)計(jì)算機(jī)與軟件工程學(xué)院,成都610039)
基于FPGA的E1成幀器的設(shè)計(jì)與實(shí)現(xiàn)
徐思燕,鄧宇
(西華大學(xué)計(jì)算機(jī)與軟件工程學(xué)院,成都610039)
提出一種基于FPGA的E1成幀器的設(shè)計(jì)與實(shí)現(xiàn),分析E1基本幀和復(fù)幀的結(jié)構(gòu),設(shè)計(jì)基于FPGA的E1基本幀、復(fù)幀的接收同步檢測(cè)和發(fā)送形成幀的電路,完成E1成幀器的RTL描述,并利用ModelSim仿真軟件對(duì)設(shè)計(jì)的電路進(jìn)行仿真驗(yàn)證。
FPGA;E1;成解幀
隨著通信事業(yè)的不斷發(fā)展,成幀器芯片的應(yīng)用越來越廣泛,需求量也越來越大。以往的成幀器通常使用ASIC或軟件編程的方式實(shí)現(xiàn)。ASIC方式雖然保證了成幀器的穩(wěn)定性和速度,但是它的價(jià)格一般都比較昂貴。軟件編程方式雖然靈活,但是缺乏穩(wěn)定性。設(shè)計(jì)一款既穩(wěn)定又靈活的成幀器成為市場(chǎng)的需求。
本文提出一種基于FPGA實(shí)現(xiàn)E1成幀器的方式,它既集成了ASIC的穩(wěn)定性又集成了軟件的靈活性。
符合G.704標(biāo)準(zhǔn)的E1幀結(jié)構(gòu)如圖1所示,E1的工作效率為2048Kbit/s,圖中的每一行就是一個(gè)基本幀,每個(gè)基本幀長(zhǎng)度為256比特,由32個(gè)時(shí)隙(ts0~ts31)組成,每個(gè)路時(shí)隙由8bit碼組成,其中時(shí)隙ts1~ts15,ts17~ts31分別用來傳數(shù)字信息的數(shù)據(jù)時(shí)隙,ts0用來傳輸幀同步信號(hào)(FAS),循環(huán)冗余校驗(yàn)位(Ci),同步告警位(A)和備用位(S),ts16用來傳輸信令。
復(fù)幀(MF)由16個(gè)E1幀組成。在復(fù)幀中,E1幀被分為FAS幀和NFAS幀,兩種幀在復(fù)幀結(jié)構(gòu)中交替出現(xiàn)。FAS幀和NFAS幀的區(qū)分是通過ts0的第bit2來區(qū)分,NFAS幀的bit2為‘1’,F(xiàn)AS幀的bit2~bit8為幀同步信號(hào),用來實(shí)現(xiàn)基本幀同步。G.704協(xié)議規(guī)定幀同步信號(hào)FAS為“0011011”。
復(fù)幀的第一幀ts16的前四個(gè)碼位分配給復(fù)幀定位使用,其定位碼組是“0000”,第6bit為復(fù)幀對(duì)告比特,無報(bào)警時(shí)固定為‘1’。復(fù)幀中第2~16幀的ts16作為30個(gè)話路的信令時(shí)隙,每路信令占4個(gè)碼位,在這里以4比特為單位實(shí)現(xiàn)30路信令的同步交錯(cuò)復(fù)用,同時(shí)不能為“0000”。但由于目前國(guó)內(nèi)使用的是公共信令,所以一般使用的幀應(yīng)該是PCM31即31路話路,ts16傳也為數(shù)據(jù),本設(shè)計(jì)也是針對(duì)這種幀結(jié)構(gòu)。
圖1 E1幀/復(fù)幀結(jié)構(gòu)
E1成幀器由div_clk、deframe_module和frame_ mdoule三部分組成,分別實(shí)現(xiàn)E1成幀器的工作頻率、解幀和成幀。
本成幀器傳輸?shù)臄?shù)據(jù)是E1信號(hào),其幀的重復(fù)頻率為8000幀/秒,復(fù)接后比特率是2.048Mbit/s。經(jīng)過計(jì)算可知傳輸1位數(shù)據(jù)需要500ns,而系統(tǒng)的時(shí)鐘為100MHz,即周期為10ns,為了達(dá)到傳送與接收數(shù)據(jù)的同步且傳輸率為8000幀/秒,需要對(duì)系統(tǒng)時(shí)鐘進(jìn)行50分頻。
deframe_module模塊負(fù)責(zé)E1幀的解析。其中主要的部分就是對(duì)基本幀和復(fù)幀同步的檢測(cè)。首先對(duì)基本幀的檢測(cè),根據(jù)ITU-T G.704標(biāo)準(zhǔn)要求,基本幀同步檢測(cè)需要經(jīng)過以下過程,第一步檢測(cè)到正確的幀同步信號(hào)FAS(0011011);第二步檢測(cè)下一幀是不是NFAS幀,即檢測(cè)ts0的bit2是否為1;第三步,檢測(cè)第3幀,第二次發(fā)現(xiàn)正確的幀同步信號(hào)FAS。在以上的過程中,如果任何步驟出現(xiàn)問題,幀的同步檢測(cè)又得從第一步開始。幀同步檢測(cè)確定后,如果發(fā)生以下情況之一發(fā)生就判斷幀同步檢測(cè)丟失,第一種情況,連續(xù)檢測(cè)到3個(gè)NFAS幀的ts0的bit2位不為1;第二情況,連續(xù)檢測(cè)到3個(gè)錯(cuò)誤的FAS幀同步信號(hào)。本設(shè)計(jì)中使用了有限狀態(tài)機(jī)的方法來實(shí)現(xiàn)對(duì)幀的同步檢測(cè)和丟失檢測(cè),其框圖如圖2所示。
圖2 基本幀同步檢測(cè)狀態(tài)圖
根據(jù)幀的重復(fù)頻率,計(jì)算可以得知,傳輸一個(gè)復(fù)幀的時(shí)間為2ms。復(fù)幀同步檢測(cè)的條件是在8ms內(nèi)接收到4個(gè)復(fù)幀中,有兩個(gè)或者兩個(gè)以上正確的復(fù)幀同步信號(hào)(001011)。如果出現(xiàn)基本幀丟失或者連續(xù)4個(gè)復(fù)幀中沒有找到正確的復(fù)幀同步信號(hào),就判斷復(fù)幀丟失。
Frame_module模塊是負(fù)責(zé)基本幀和復(fù)幀的成幀。本設(shè)計(jì)中主要是按照IUT-T G.704通信協(xié)議的標(biāo)準(zhǔn)要求,把接收的數(shù)據(jù)進(jìn)行封裝,形成基幀和復(fù)幀,其中復(fù)幀中包含F(xiàn)AS和NFAS兩種幀,然后把包裝好的信號(hào)發(fā)送出去。
本設(shè)計(jì)中使用Verilog HDL對(duì)系統(tǒng)進(jìn)行RTL級(jí)描述,使用ModelSim軟件進(jìn)行仿真。圖3為時(shí)鐘分頻的仿真結(jié)果。圖中的clk為系統(tǒng)時(shí)鐘,clk_bps為分頻后的時(shí)鐘即就是E1所需的時(shí)鐘頻率。
圖3 時(shí)鐘分頻仿真結(jié)果
圖4為deframe_moduled的仿真模塊,圖中CLK為系統(tǒng)時(shí)鐘信號(hào),clk_bps為系統(tǒng)時(shí)鐘分頻后得到的2.048MHz的時(shí)鐘信號(hào)。RX為接收到的E1幀信號(hào),是通過仿真文件rx_module.vt寫入的模擬E1信號(hào)數(shù)據(jù)。cnt、cnt_t分別為基本幀的比特計(jì)數(shù)、復(fù)幀的時(shí)間計(jì)數(shù)。fram_sig為基本幀同步檢測(cè)的確定信號(hào),當(dāng)通過基本幀檢測(cè)的過程后,該信號(hào)就將被置為1,進(jìn)入下一次基本幀檢測(cè)時(shí),該位復(fù)位。mult_fram為復(fù)幀同步檢測(cè)的確定信號(hào),當(dāng)檢測(cè)到正確的復(fù)幀同步信號(hào)時(shí),該位被置1。經(jīng)過仿真驗(yàn)證,本設(shè)計(jì)中的基本幀和復(fù)幀的同步檢測(cè)符合G.704通信協(xié)議標(biāo)準(zhǔn)要求。
圖5為frame_moduled的仿真模塊,圖中的clk為2.048MHz的時(shí)鐘信號(hào)。rst為復(fù)位信號(hào)。tx輸出為E1成幀的信號(hào)。圖中的幀為FAS幀和NFAS幀,兩種幀交替出現(xiàn)。當(dāng)基本幀為FAS幀時(shí),時(shí)隙ts0的bit2~bit8為幀同步信號(hào)(0011011);當(dāng)基本幀為NFAS幀時(shí),時(shí)隙ts0幀的第bit1用來傳復(fù)幀定位信號(hào)MFAS(001011),由于復(fù)幀信號(hào)只有六位,只需用到NFAS幀的前6幀,NFAS幀的后2幀用來傳誤塊指示比特E0和E1,時(shí)隙ts0的bit2為1,為FAS幀和NFAS幀的區(qū)分位。經(jīng)過仿真驗(yàn)證,本設(shè)計(jì)中形成的基幀和復(fù)幀符合ITU-T G.704標(biāo)準(zhǔn)要求。
本文設(shè)計(jì)了一個(gè)滿足ITU-T G.704通信協(xié)議要求的,實(shí)現(xiàn)了基本幀、復(fù)幀的同步檢測(cè)和成幀的E1成幀器。本文分別從E1幀結(jié)構(gòu),成解幀的RTL實(shí)現(xiàn),仿真驗(yàn)證等方面做了詳細(xì)的介紹。經(jīng)過時(shí)序仿真和實(shí)驗(yàn)驗(yàn)證,證明本設(shè)計(jì)合ITU G.704標(biāo)準(zhǔn)的要求,可以在低成本FPGA上實(shí)現(xiàn)。該實(shí)現(xiàn)方式最大的特點(diǎn)就是靈活,它既可以定制各種電路,又減少受制于專用芯片的束縛。本設(shè)計(jì)中的FPGA芯片選用的是Altera公司低成本CycloneII系列中的EP1C12Q240C8。經(jīng)過QuartusII軟件的編譯、時(shí)序分析和功耗分析,本設(shè)計(jì)滿足資源、時(shí)序和功耗的要求。
圖5 frame_moduled模塊仿真結(jié)果
[1]楊銳.基于FPGA的16E1/T1光纖復(fù)接系統(tǒng)的研究與實(shí)現(xiàn).中國(guó)礦業(yè)大學(xué).通信與信息系統(tǒng).碩士論文,2008:1-50.
[2]張秀賢,張毅等.DS21554在E1數(shù)據(jù)傳輸分析儀中的應(yīng)用[J].微計(jì)算機(jī)信息,2008,7-1:171-173.
[3]ITU-T G.704 Synchronous Frame Structures Used at 1544,6312,2048,8448 and 44736 kbit/s hierarchical levels[S].Geneva:ITU,1998.
[4]耿立華,李占勇等.一種基于FPGA的E1數(shù)字傳輸分析儀成解幀實(shí)現(xiàn)方法[J].微計(jì)算機(jī)信息,2012,28(9):213-223
[5]帕爾尼卡.Verilog HDL數(shù)字設(shè)計(jì)與綜合[M].夏宇聞,譯.第2版.北京:電子工業(yè)出版社,2009.
Design and Implementation of E1 Into Frame Based on the FPGA
XU Si-Yan,DENG Yu
(College of Computer and Software Engineering,Xihua University,Chengdu 610039)
Proposes the design and implementation of a kind of E1 into frame Based on FPGA,analyzes the basic frame and E1 frame structure,basic frame,designs E1 multi-frame receiving synchronous detection and sending form the frame of the circuit based on FPGA,completes the E1 frame becoming of RTL description,and uses ModelSim simulation software to design the circuit simulation.
FPGA;E1;Framing and De-framing
1007-1423(2016)16-0044-03DOI:10.3969/j.issn.1007-1423.2016.16.013
徐思燕(1986-),女,四川宜賓人,碩士研究生,研究方向?yàn)榍度胧较到y(tǒng)及其應(yīng)用
2016-04-06
2016-05-25
鄧宇(1991-),男,四川瀘州人,碩士研究生,研究方向?yàn)榍度胧较到y(tǒng)及其應(yīng)用