在通信領(lǐng)域,采用數(shù)字化,能夠大大提高傳輸?shù)娜萘俊DM的話音信號(hào)經(jīng)過(guò)脈沖編碼調(diào)制,即PCM 處理(包括抽樣、量化以及編碼三個(gè)步驟)后,被變換為一個(gè)64Kbit/s 速率的數(shù)字信號(hào)。在北美,數(shù)字 復(fù)接設(shè)備將24 路話音信號(hào)即24 路64Kbit/s 速率的數(shù)字信號(hào)按字節(jié)交錯(cuò)復(fù)接成1.544Mbit/s 的高速率信號(hào); 而在歐洲,將30 個(gè)獨(dú)立64Kbit/s 信道與兩個(gè)用于信息控制信道一起同步復(fù)接為一個(gè)32 個(gè)數(shù)字信道幀結(jié) 構(gòu),其幀重復(fù)頻率是8000 幀/秒,復(fù)接后比特率是2.048Mbit/s。這就是所謂的E1 信號(hào),它是數(shù)字通信的 基礎(chǔ),由E1 復(fù)接而成的各高次群形成的數(shù)字系列,稱(chēng)為準(zhǔn)同步數(shù)字系列(PDH)。雖然同步數(shù)字系列 (SDH)正逐步取代PDH,但PDH 設(shè)備以低廉,靈活的特點(diǎn)仍然發(fā)揮著它的作用。 1.幀結(jié)構(gòu) 符合G.704 標(biāo)準(zhǔn)的E1 幀結(jié)構(gòu)如圖1 所示,每基本幀由32 個(gè)路時(shí)隙(ts0"ts31)組成,分別分配給30 個(gè)話音數(shù)據(jù)流和相應(yīng)輔助信息。每個(gè)路時(shí)隙由8bit 碼組成,基本幀幀頻為8K,而每16 基本幀(F0"F15) 構(gòu)成一個(gè)復(fù)幀,故每個(gè)復(fù)幀共由4096 比特組成。 復(fù)幀結(jié)構(gòu)中的ts1"ts15,ts17"ts31 分別用來(lái)傳30 個(gè)64kbit/s 數(shù)字信息的數(shù)據(jù)時(shí)隙,而ts0 和ts16 用 來(lái)傳各種輔助信號(hào),下面分別介紹。 在一個(gè)復(fù)幀中,基本幀可以分為兩類(lèi):奇幀和偶幀。奇幀和偶幀的區(qū)分是通過(guò)ts0 的第2bit 來(lái)區(qū)分的, 奇幀的bit2 為‘1’。偶幀ts0 時(shí)隙的bit2"bit8 是用來(lái)傳基本幀對(duì)準(zhǔn)信號(hào)FAS 的。G.704 協(xié)議規(guī)定幀對(duì)準(zhǔn)信 號(hào)FAS 為“0011011”。整個(gè)復(fù)幀又可以看成由兩個(gè)CRC-4 校驗(yàn)快構(gòu)成,前8 個(gè)基本幀為第一校驗(yàn)塊,根 據(jù)協(xié)議要求的方式對(duì)其進(jìn)行CRC-4 校驗(yàn),校驗(yàn)結(jié)果共4bit 放在偶幀(F0,F(xiàn)2,F(xiàn)4,F(xiàn)6)ts0 的bit1,同 理對(duì)后一校驗(yàn)塊校驗(yàn)的結(jié)果放在偶幀(F8,F(xiàn)10,F(xiàn)12,F(xiàn)14)ts0 的bit1。同時(shí)奇幀的第3bitA1 為對(duì)告bit, A1 為‘1’時(shí)表示有告警,當(dāng)收到lof 或者los 時(shí),則將A1 置為‘1’。奇幀ts0 的第1bit 傳復(fù)幀定位信號(hào)MFAS, 協(xié)議規(guī)定MFAS 為“001011”。可以看到復(fù)幀定位信號(hào)為6bit,而一個(gè)CRC 復(fù)幀中有8 個(gè)奇幀,所以協(xié)議 規(guī)定奇幀(F13,F(xiàn)15)ts0 的第1bit 用來(lái)傳誤塊指示比特E0 和E1,當(dāng)其為‘0’時(shí)表示有誤塊。還有奇幀的 第4 至第8bit 為備用bit,不用時(shí)應(yīng)置為‘1’。 基本幀的ts16 用來(lái)傳信令信號(hào),既可以傳共路信令,也可以傳隨路信令,同樣當(dāng)其傳隨路信令時(shí)每 16 基本幀的ts16 可構(gòu)成16 字節(jié)的信令復(fù)幀。復(fù)幀的第一幀ts16 的前四個(gè)碼位分配給復(fù)幀定位使用,其 定位碼組是“0000”,第6bit 為復(fù)幀對(duì)告比特,無(wú)報(bào)警時(shí)固定為‘1’。復(fù)幀中第2"16 幀的ts16 作為30 個(gè)話 路的信令時(shí)隙,每路信令占4 個(gè)碼位(a,b,c,d),在這里以4 比特為單位實(shí)現(xiàn)30 路信令的同步交錯(cuò) 復(fù)用,同時(shí)(a,b,c,d)不能為“0000”。但由于目前國(guó)內(nèi)使用的是公共信令,所以一般使用的幀應(yīng)該 是PCM31 即31 路話路,ts16 傳也為數(shù)據(jù),本設(shè)計(jì)也是針對(duì)這種幀結(jié)構(gòu)。 2.系統(tǒng)設(shè)計(jì) 本系統(tǒng)包括e1_framer,e1_deframer,e1pi 三個(gè)模塊,e1_framer 模塊對(duì)待發(fā)送的數(shù)據(jù)組成符合G.704 協(xié)議規(guī)定的E1 幀結(jié)構(gòu);e1_deframer 模塊對(duì)接收到的數(shù)據(jù)進(jìn)行解幀,即對(duì)幀組成部分的進(jìn)行分離并加以 解釋?zhuān)籩1pi 模塊負(fù)責(zé)將數(shù)據(jù)發(fā)送到線路側(cè)同時(shí)從線路上接收數(shù)據(jù),這其中包括對(duì)數(shù)據(jù)進(jìn)行檢測(cè)、從數(shù)據(jù) 中恢復(fù)出時(shí)鐘(收方向)、進(jìn)行碼型的轉(zhuǎn)換(hdb3 編解碼)、對(duì)編碼違例進(jìn)行檢查。 2.1 e1_pi 模塊設(shè)計(jì) E1_pi 模塊從功能上來(lái)說(shuō)需要處理收發(fā)兩個(gè)方向的數(shù)據(jù)。e1_pi 模塊結(jié)構(gòu)如圖2 所示,在收方向上: E1_cru 模塊從輸入信號(hào)中提取時(shí)鐘完成定時(shí)功能;hdb3_decode 和cv_check 模塊分別完成hdb3 的解碼和 做編碼違例檢查;los_det 和ais_det 模塊對(duì)輸入信號(hào)進(jìn)行檢測(cè),如果在兩幀時(shí)間內(nèi)(512bit)收到的‘0’的 個(gè)數(shù)少于或等于2,則給出全1(ais)告警,反之若收到的‘1’的個(gè)數(shù)少于或等于2 則給出信號(hào)丟失(los) 告警。在發(fā)方向則只需就待發(fā)信息做hdb3 編碼然后發(fā)送到線路上。 E1_cru 模塊是時(shí)鐘恢復(fù)模塊,設(shè)計(jì)思想是先用一個(gè)高速的時(shí)鐘(本設(shè)計(jì)中為65MHz)去采樣頻率為 2.048 MHz 的E1 信號(hào),得到數(shù)據(jù)的變化沿;再根據(jù)變化沿的位置,由高速時(shí)鐘分頻產(chǎn)生2.048 MHz 時(shí)鐘。 HDB3碼是一種AMI碼的改進(jìn)型,不僅克服了當(dāng)AMI碼中出現(xiàn)連“0” 碼定時(shí)提取困難的缺點(diǎn),而且具 有頻譜能量主要集中在基波頻率以下,占用頻帶較窄的優(yōu)點(diǎn)。其編碼原則可以簡(jiǎn)述為:(1) 當(dāng)連“0” 碼 的個(gè)數(shù)不大于3時(shí), “1” 碼變?yōu)椤埃?”、“-1” 交替脈沖;(2) 當(dāng)代碼序列中出現(xiàn)4個(gè)連“0” 碼或超過(guò)4 個(gè)連“0”碼時(shí),把連“0” 段按4個(gè)“0” 分節(jié),即“0000”,并使第4個(gè)“0” 碼變?yōu)椤?” 碼,用V 脈沖(破壞脈沖) 表示,且V脈沖極性與其前一個(gè)“1” 脈沖極性相同;(3) 必須使相鄰的破壞點(diǎn)之間有奇數(shù)個(gè)“1” 碼。 如果原序列中破壞點(diǎn)之間的“1” 碼為偶數(shù),則必須補(bǔ)為奇數(shù),即將破壞節(jié)中的第一個(gè)“0” 碼變?yōu)椤?”,用 B脈沖表示。B脈沖極性與其前一個(gè)“1” 脈沖極性相反。 假設(shè) hdb3 數(shù)據(jù)線分別為hdb3p 和hdb3n,從hdb3 編碼規(guī)則可以得出hdb3 編碼違例的發(fā)生包括在以 下四種情況中:(1)hdb3p 和hdb3n 上同時(shí)出現(xiàn)‘1’;(2)將hdb3p 和hdb3n 或操作,得到合路數(shù)據(jù),此 數(shù)據(jù)上出現(xiàn)4 連0 或者大于4 連0 的情況;(3)hdb3p 或者h(yuǎn)db3n 上出現(xiàn)連續(xù)‘1’的情況,即數(shù)據(jù)中出現(xiàn) 連續(xù)的正極性/負(fù)極性B 脈沖;(4)兩次破壞點(diǎn)之間的B 脈沖個(gè)數(shù)不為奇數(shù)個(gè);若檢測(cè)到以上四種情況中 的一種,就會(huì)產(chǎn)生編碼違例告警(cv)。 2.2 e1_framer 模塊設(shè)計(jì) 該模塊為成幀模塊,根據(jù)G.704 幀結(jié)構(gòu)標(biāo)準(zhǔn),在每復(fù)幀不同的基本幀ts0 時(shí)隙插上開(kāi)銷(xiāo)比特(包括幀 同步碼,復(fù)幀同步碼和對(duì)告等),同時(shí)需要對(duì)整幀做crc-4 校驗(yàn),crc-4 產(chǎn)生方法采用 x4 + x + 1 序列(10011), 把校驗(yàn)結(jié)果放在下一幀的相應(yīng)位置上,然后依次將開(kāi)銷(xiāo)比特和數(shù)據(jù)發(fā)出。 2.3 e1_deframer 模塊設(shè)計(jì) e1_deframer 模塊結(jié)構(gòu)如圖3 所示,關(guān)于e1 幀的解幀,最重要的是做到基本幀和復(fù)幀的同步,只有同 步了才能依次取出各話路信息,另一方面就是如果檢測(cè)到傳輸過(guò)程中出現(xiàn)了問(wèn)題需要給出告警指示。 df_timer 是定時(shí)模塊為其他模塊提供時(shí)隙計(jì)數(shù)(ts_cnt),基本幀計(jì)數(shù)(bf_cnt),復(fù)幀計(jì)數(shù)(mf_cnt);df_shf 為移位寄存器,實(shí)現(xiàn)數(shù)據(jù)從串行輸入到并行輸出的作用;df_crc 模塊完成crc_4 校驗(yàn)并比較結(jié)果,出錯(cuò)則 給出告警,crc_cnt 模塊用來(lái)對(duì)crc 誤塊進(jìn)行計(jì)數(shù),這是判斷l(xiāng)of 的條件之一。df_fsm 是核心模塊主要做基 幀和復(fù)幀同步,然后產(chǎn)生告警。 根據(jù)G.706 規(guī)定的幀同步算法,基本幀同步的過(guò)程如圖4 所示,系統(tǒng)復(fù)位即進(jìn)入基本幀搜索狀態(tài), 當(dāng)收到正確的幀定位信號(hào)(FAS=“0011011”)后進(jìn)入狀態(tài)1;在狀態(tài)1 檢測(cè)下一幀ts0 的bit2,看是否為1, 如果為1 則進(jìn)入狀態(tài)2 反之則進(jìn)入狀態(tài)3 后回到搜索態(tài);在狀態(tài)2 時(shí)檢查下一幀是否包含正確的FAS, 如果正確則進(jìn)入同步態(tài),反之回到搜索態(tài)。 在基本幀同步的情況下如若出現(xiàn)以下情況,則會(huì)出現(xiàn)幀失步,狀態(tài)機(jī)恢復(fù)到搜索態(tài):(1)檢測(cè)到三 個(gè)偶幀連續(xù)的錯(cuò)誤FAS;(2)奇幀ts0 的bit2 出現(xiàn)三個(gè)連續(xù)的錯(cuò)誤;(3)出現(xiàn)復(fù)幀丟失(lomf);(4)在 1s 內(nèi),即1000 個(gè)CRC-4 塊中出現(xiàn)大于等于915 個(gè)誤塊。在幀失步狀態(tài)后自動(dòng)回到基本幀搜索狀態(tài),并給 出lof 告警、向下插AIS、發(fā)對(duì)告A=‘1’、停止CRC-4 性能監(jiān)視。 對(duì)于復(fù)幀同步采用的算法是:在8ms 時(shí)間(4 個(gè)CRC 復(fù)幀)內(nèi)至少出現(xiàn)2 次復(fù)幀同步信號(hào)“001011” (由奇幀ts0 第1 比特構(gòu)成),則認(rèn)定復(fù)幀已經(jīng)同步;而在復(fù)幀已同步的情況下連續(xù)4 幀沒(méi)有找到正確的 MFAS 則認(rèn)為復(fù)幀已經(jīng)失步,需重新定位。復(fù)幀失步需給出lomf 告警。另外對(duì)于傳隨路信令的幀結(jié)構(gòu)還 存在ts16 復(fù)幀同步問(wèn)題,由于國(guó)內(nèi)不常采用,在此就不贅述。 3.仿真驗(yàn)證 本設(shè)計(jì)采用VHDL 語(yǔ)言進(jìn)行了RTL 級(jí)的描述,用modelsim 對(duì)設(shè)計(jì)進(jìn)行了仿真,經(jīng)過(guò)FPGA 驗(yàn)證后, 各功能都得到正確地實(shí)現(xiàn),最后采用FUJITSU 的CS86MN 工藝得到ASIC 實(shí)現(xiàn)。 下圖給出了系統(tǒng)部分RTL 級(jí)仿真波形。 仿真系統(tǒng)采用的是E1 環(huán)回模式,即從E1 接口出來(lái)的hdb3 信號(hào)又給到接口的輸入,從圖a 中可以反映 出發(fā)送前的nrz 信號(hào)跟接收后解碼出來(lái)的nrz 信號(hào)是一樣的,只是時(shí)間上有些延遲,由此證明編解碼模塊是 正確的。 圖b 反映的是E1 解幀模塊中基本幀同步的過(guò)程,從圖中可以看到基本幀的同步經(jīng)歷了找到FAS,下一 幀為奇幀,再一幀又找到FAS,這樣三個(gè)步驟,這也是符合G.706 標(biāo)準(zhǔn)的。 4.結(jié)論 本文描述了E1 幀的基本結(jié)構(gòu),詳細(xì)介紹了E1 基本幀和CRC 復(fù)幀同步的算法,采用VHDL 語(yǔ)言對(duì)符 合G.704 和G.706 標(biāo)準(zhǔn)的成/解幀電路進(jìn)行了RTL 描述,并最終得到ASIC 實(shí)現(xiàn)。實(shí)驗(yàn)證明,該系統(tǒng)的時(shí)鐘 恢復(fù)模塊能達(dá)到通信的指標(biāo),HDB3 編解碼模塊能有效進(jìn)行編解碼工作,并能正確檢測(cè)到線路上編碼違例的情況,各項(xiàng)告警均符合標(biāo)準(zhǔn)的要求,具有很強(qiáng)的實(shí)用價(jià)值。同時(shí)該電路設(shè)計(jì)相對(duì)于以往的設(shè)計(jì)來(lái)說(shuō)具有面 積小的特點(diǎn),在保證質(zhì)量的前提下節(jié)約了成本。 本文作者創(chuàng)新點(diǎn):1.充分利用了標(biāo)準(zhǔn)中規(guī)定的預(yù)留比特形成了新的CRC 復(fù)幀結(jié)構(gòu),有利于在通信中發(fā)現(xiàn)錯(cuò)誤; 2.對(duì)編解碼模塊進(jìn)行了優(yōu)化設(shè)計(jì),達(dá)到縮小芯片面積的目的。 |