陽(yáng)代華, 徐家品
(四川大學(xué) 電子信息學(xué)院,四川 成都 610065)
隨著現(xiàn)代通信技術(shù)和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,電信傳輸網(wǎng)和數(shù)字?jǐn)?shù)據(jù)網(wǎng)之間的關(guān)系越來越密切,用電信網(wǎng)承載數(shù)據(jù)網(wǎng)絡(luò)的業(yè)務(wù),或者用數(shù)據(jù)網(wǎng)承載話音業(yè)務(wù)。E1系統(tǒng)是中國(guó)和歐洲國(guó)家電信傳輸網(wǎng)一次群使用的傳輸系統(tǒng),E1信號(hào)由32個(gè)64 Kb/s的PCM話路經(jīng)過時(shí)分多路復(fù)用形成,速率為2.048 Mb/s[1]。將E1信息流與以太網(wǎng)進(jìn)行無縫連接,是三網(wǎng)融合大環(huán)境下發(fā)展的必然趨勢(shì)。
FPGA具有體系結(jié)構(gòu)和邏輯單元靈活、集成度高以及適用范圍寬等特點(diǎn)。該設(shè)計(jì)FPGA芯片采用的是Xilinx公司的 Spartan 3E 系列的 XC3S1200E[2]芯片,完成采集、緩存、收發(fā)TDM窄帶E1數(shù)據(jù)。FPGA器件外接E1電纜,只負(fù)責(zé)數(shù)據(jù)的采集,可達(dá)到非常理想的采樣效果。數(shù)據(jù)采集模塊與DSP數(shù)據(jù)處理模塊通過EMIF接口通信。DSP器件采用TI公司的DSP芯片TMS320VC5509[3]作為系統(tǒng)的數(shù)據(jù)流處理器, 實(shí)現(xiàn)對(duì)采集來的數(shù)據(jù)進(jìn)行格式處理,并重新打包。設(shè)計(jì)有以RTL8019AS芯片為核心的以太網(wǎng)接口電路,方便了以太網(wǎng)的連接,實(shí)現(xiàn)數(shù)據(jù)流轉(zhuǎn)換后在以太網(wǎng)上傳輸。電源采用5 V供電,3.3 V,1.8 V等電源采用二次電源芯片獲得。
數(shù)據(jù)流轉(zhuǎn)換的硬件組成如圖1所示。
這里設(shè)計(jì)時(shí)采用E1電纜連接FPGA差分信號(hào)輸入端,并采用電平轉(zhuǎn)換芯片將差分信號(hào)轉(zhuǎn)為L(zhǎng)VTTL標(biāo)準(zhǔn)的單端電平再由FPGA采樣。DSP的EMIF接口資源[4],使用16位模式,EMIF的CE0空間為RTL8019,通過此片選配置RTL8019以及從以太網(wǎng)口收發(fā)數(shù)據(jù);EMIF的CE1空間連接FPGA,通過CE1片選訪問FPGA的狀態(tài)寄存器,環(huán)回測(cè)試寄存器以及E1數(shù)據(jù)緩存器。對(duì)16 bit寬的外部存儲(chǔ)器,作16 bit數(shù)據(jù)訪問時(shí)的數(shù)據(jù)傳輸時(shí),EMIF的外部地址線A[21:1]對(duì)應(yīng)于內(nèi)部數(shù)據(jù)地址的bit21-1。數(shù)據(jù)線D[15:0]在DSP和外部存儲(chǔ)器之間傳輸數(shù)據(jù)。在一次訪問期間,BE3和BE2始終保持高電平(無效),BE1和BE0被拉低。
DSP采樣屬于軟采樣,需要定時(shí)去判斷輸入的信號(hào),由于TDM系統(tǒng)需要嚴(yán)格的時(shí)鐘同步關(guān)系,否則會(huì)產(chǎn)生滑碼錯(cuò)誤,但是FPGA采樣屬于硬件采樣,相當(dāng)于一個(gè)只因E1輸入信號(hào)變化而變化的邏輯,不受芯片其他部分程序的影響。由于可編程邏輯器件FPGA內(nèi)部擁有強(qiáng)大的可編程資源,很多控制功能都可以集成在FPGA的內(nèi)部[5]。因而本設(shè)計(jì)通過Verilog HDL語(yǔ)言配置產(chǎn)生一個(gè)8.192 MHz的精確時(shí)鐘,本地晶振的時(shí)鐘作為參考時(shí)鐘,在每個(gè)8 MHz時(shí)鐘的上升沿采樣,如果采樣到1則采樣計(jì)數(shù)器加1,在2 MHz時(shí)鐘的上升沿判斷是否有3次或者4次采樣到1,如果是,則采樣數(shù)據(jù)為1,否則采樣數(shù)據(jù)為0,并清零采樣計(jì)數(shù)器,循環(huán)重復(fù)進(jìn)行下一次采樣計(jì)數(shù)。
在 E1信道中,8 bit組成一個(gè)時(shí)隙(TS),由32個(gè)時(shí)隙組成了一個(gè)幀(F),在一個(gè)幀中,TS0 主要用于傳送幀定位信號(hào)(FAS)、CRC-4(循環(huán)冗余校驗(yàn))和對(duì)端告警指示,TS16主要傳送隨路信令(CAS)、復(fù)幀定位信號(hào)和復(fù)幀對(duì)端告警指示,TS1至TS15和TS17至TS31共30個(gè)時(shí)隙傳送話音或數(shù)據(jù)等信息。其中TS0為x0011011時(shí)定義為一幀的開始,否則視為E1線路上沒有信息傳送。
當(dāng)FPGA檢測(cè)到E1同步TS0信號(hào)時(shí),采樣數(shù)據(jù),存入PCM數(shù)據(jù)緩沖寄存器并更新狀態(tài)寄存器,當(dāng)緩沖區(qū)滿則向DSP發(fā)出中斷請(qǐng)求,申請(qǐng)DSP取走數(shù)據(jù)。外部中斷1用于FPGA的中斷申請(qǐng),當(dāng)收到FPGA的中斷申請(qǐng)時(shí),從FPGA的緩存中讀取32幀即1KB的數(shù)據(jù),通過EMIF口傳遞給DSP;數(shù)據(jù)緩沖器2用于接收DSP側(cè)傳來的數(shù)據(jù),當(dāng)FPGA檢測(cè)到緩沖器有數(shù)據(jù)寫入時(shí),啟動(dòng)數(shù)據(jù)發(fā)送邏輯將數(shù)據(jù)以2.048 Mb/s的速率將數(shù)據(jù)發(fā)送到E1線路上。并通過指示燈LED的閃爍頻率指示處理UDP包的速度。具體工作流程如圖2所示。
數(shù)據(jù)流從E1到達(dá)以太網(wǎng)的處理流程,當(dāng)FPGA采集到數(shù)據(jù),通過外部中斷INT1申請(qǐng)DSP取走數(shù)據(jù),DSP通過EMIF口取走數(shù)據(jù)。然后DSP對(duì)數(shù)據(jù)進(jìn)行報(bào)文頭組裝,包括組裝IP報(bào)頭和UDP報(bào)頭[6],重新封裝后通過以太網(wǎng)將數(shù)據(jù)發(fā)送出去。數(shù)據(jù)流經(jīng)以太網(wǎng)傳到E1線路的處理流程,當(dāng)RTL8019收到UDP數(shù)據(jù)包,通過中斷INT0申請(qǐng)中斷。外部中斷0用于處理以太網(wǎng)PHY芯片RTL8019的中斷請(qǐng)求,當(dāng)收到中斷時(shí),DSP調(diào)用中斷服務(wù)程序,從網(wǎng)絡(luò)端接收到的 RTP 數(shù)據(jù)解包成DSP可識(shí)別的PCM 數(shù)據(jù)包[7],并封裝成E1的幀格式寫入FPGA的緩存。具體流程參見圖3示。
程序調(diào)試成功后,可以通過JTAG將編譯好的文件系統(tǒng)下載到開發(fā)板,啟動(dòng)開發(fā)板即可進(jìn)行E1數(shù)據(jù)流的傳輸。該設(shè)計(jì)采用一路E1數(shù)據(jù)流傳輸,分別將原端IP和目標(biāo)端IP配置為{0xA8C0,0x0B01}和{0xA8C0,0x2801},并調(diào)用1025、1080端口[6],在PC機(jī)上運(yùn)行Ethereal軟件抓包可分析數(shù)據(jù)包的正確性。由圖4可見,從E1電纜傳來的信號(hào)經(jīng)本方案設(shè)計(jì),成功被封裝成UDP數(shù)據(jù)包,并被成功捕獲。
圖3 DSP數(shù)據(jù)處理流程
圖4 UDP數(shù)據(jù)包截圖
通過使用FPGA采樣緩存E1線路信號(hào),并以UDP報(bào)文形式從以太網(wǎng)口抓包確認(rèn)數(shù)據(jù)的正確性,為TDM的E1信息與包形式傳輸?shù)腢DP報(bào)文2種不同的媒體流之間,提供了一種可實(shí)現(xiàn)的轉(zhuǎn)換。并且可以此為基礎(chǔ),進(jìn)一步實(shí)現(xiàn)G.711、G.726、G.729等不同速率的媒體流在以太網(wǎng)上傳輸[8]。在通信網(wǎng)絡(luò)從傳統(tǒng)的TDM電路交換演化到以以太網(wǎng)為基礎(chǔ)的包交換的過程中,可節(jié)約已有的投資,實(shí)現(xiàn)網(wǎng)絡(luò)的平滑過渡。
[1] 吳小艨.E1 線路接口設(shè)計(jì)與保護(hù)[J].信息安全與通信保密,2006(10):76-78.
[2] XILINX. Spartan-3E FPGA Family [DB/OL].(2008-04-18)[2012-03-20].http://china. xilinx.com/support/documentation/datasheets.
[3] TEXAS Instruments. TMS320VC5509 Fixed-Point Digital Signal Processor [DB/OL].(2008-01-22)[2012-03-20]. http://www.ti. com.cn/product/cn/tms320vc5509a.
[4] Texas Instruments Incorporated. TMS320VC55X系列DSP的CPU與外設(shè)[M].北京:清華大學(xué)出版社,2005:191-217.
[5] 雷明,馬游春,李錦明.基于FPGA的多通道圖像采集存儲(chǔ)系統(tǒng)設(shè)計(jì)[J].通信技術(shù),2010,43(04):204-207.
[6] 謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)[M]. 北京:電子工業(yè)出版社,2008:184-186.
[7] 李浩,蔡德林,王古.基于DSP 和FPGA的 Roip網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)[J].通信技術(shù),2010,43(05):143-144.
[8] 章波煥,朱健軍,孟利民,等.基于FPGA 技術(shù)的以太網(wǎng)遠(yuǎn)程網(wǎng)橋的實(shí)現(xiàn)[J].電子技術(shù),2003(02):19-21.