面向下一代網(wǎng)絡(luò)的網(wǎng)關(guān)接口芯片設(shè)計(jì)與實(shí)現(xiàn)
摘 要:本文重點(diǎn)介紹了NGN網(wǎng)關(guān)設(shè)備上核心接口芯片的基本原理和設(shè)計(jì)方法,該芯片能夠提供業(yè)務(wù)數(shù)據(jù)格式的轉(zhuǎn)換、信令處理、CPU接口映射等功能,采用Spartan3系列FPGA實(shí)現(xiàn),經(jīng)過系統(tǒng)測(cè)試,完全符合要求。
關(guān)鍵詞:下一代網(wǎng)絡(luò);網(wǎng)關(guān);CPU總線
前言
下一代網(wǎng)絡(luò)(NGN- Next Generation Network)是以IP為核心,可以同時(shí)支持語音、數(shù)據(jù)和多媒體業(yè)務(wù)的融合網(wǎng)絡(luò),是通信網(wǎng)絡(luò)的發(fā)展方向。傳統(tǒng)的以電路交換為核心的設(shè)備正逐漸被以IP為核心的網(wǎng)絡(luò)設(shè)備所替代。在這種演變過程中,設(shè)計(jì)一種能夠提供PSTN與NGN無縫連接的網(wǎng)關(guān)設(shè)備,從而實(shí)現(xiàn)以較低的成本向NGN網(wǎng)絡(luò)平滑過渡是目前各通訊設(shè)備制造商的重要研究課題。本文重點(diǎn)介紹了網(wǎng)關(guān)接口設(shè)備中核心器件,即NGN網(wǎng)關(guān)接口芯片的設(shè)計(jì)方法以及在Xilinx的Spartan3 XCS1000中的實(shí)現(xiàn)。
方案介紹
在本方案中,網(wǎng)關(guān)接口設(shè)備的主要功能是由網(wǎng)關(guān)接口板IP_GATEWAY所實(shí)現(xiàn),包括母板與子板兩部分,其中母板部分主要完成傳統(tǒng)的語音和數(shù)據(jù)部分的格式轉(zhuǎn)換以及信令處理,子板主要完成與媒體網(wǎng)關(guān)控制器MGC(Media Gateway Controller)的通信與控制功能,如H.248/Megaco 協(xié)議的處理、連接的建立與釋放等。其基本結(jié)構(gòu)如圖1所示,母板部分主要包括CPU-AMD Elan520,專用處理芯片OBCI3、以太網(wǎng)接口芯片、FPGA控制芯片、PCI橋、交換芯片TDM、板上RAM/ROM,以及時(shí)鐘、電源等模塊;子板部分(Gateway Blade)主要包括CPU-BCM1122,以太網(wǎng)交換芯片以及兩個(gè)DSP。限于篇幅,不做過多介紹。
如圖1所示,F(xiàn)PGA控制芯片(CLTA)處于整個(gè)母板的核心地位,其主要功能包括:語音和數(shù)據(jù)格式轉(zhuǎn)換,即將來自終端控制板的PCM格式語音和數(shù)據(jù)轉(zhuǎn)化為適用于TDM芯片的ST_BUS總線格式; AMD-Elan520的CPU讀寫邏輯映射以及SRAM存取,DMA模式控制;OBCI3接口控制;線路端編解碼功能。
圖1 網(wǎng)關(guān)接口板功能結(jié)構(gòu)圖
設(shè)計(jì)描述
FPGA的主要功能模塊如圖2所示。處于框圖上端的部分主要是數(shù)據(jù)流處理部分,主要完成數(shù)據(jù)格式轉(zhuǎn)換以及信令提取和傳遞功能,同時(shí)還包括線路端的編解碼功能;右邊主要是控制部分,完成CPU對(duì)FPGA、OBCI3芯片以及片外SRAM的存取和控制功能;左下部分主要是FPGA寄存器模塊以及如Flash保護(hù),系統(tǒng)報(bào)警處理等輔助模塊。
圖2 FPGA內(nèi)部功能結(jié)構(gòu)圖
數(shù)據(jù)流
從數(shù)據(jù)流角度看,F(xiàn)PGA包括與專用處理芯片OBCI3 相連的MasterLink[A,B],與終端控制板相連的Serial Link[0-5],與TDM芯片相連的ST_Link[0-11]。為提高網(wǎng)關(guān)接口設(shè)備的可靠性,所有的數(shù)據(jù)流都包括A、B兩路,分別來自主/備用設(shè)備,當(dāng)其中一路發(fā)生故障時(shí),系統(tǒng)自動(dòng)切換到另外一路。以上行數(shù)據(jù)為例,從終端控制板來的Serial Link共分6路,其中每一路數(shù)據(jù)格式都是由A、B兩路經(jīng)過Manchester編碼過的復(fù)用數(shù)據(jù),A/B路復(fù)用數(shù)據(jù)在Coder/Decoder模塊中經(jīng)過線路端解碼,恢復(fù)出A 、B兩路Cluster Link數(shù)據(jù),該數(shù)據(jù)采用PCM格式,其速率為4MHz,共分為32 個(gè)PCM 信道,每個(gè)信道16位,其中CH0 用于同步信道,CH16 用于信令信道,其它信道可以承載語音和數(shù)據(jù),又叫SPATA 信道。16位的SPATA 信道包含了8位的語音編碼和協(xié)議位,CH0包含同步編碼,如表1所示:其中PP 是協(xié)議比特,當(dāng)有告警時(shí)PP=11,否則為00,A=1時(shí)表明存在軟件或硬件告警,M=1 時(shí)表明存在摘掛機(jī)事件。其中,13 、12以及7 ~4為同步位,當(dāng)上下游接口芯片以每125ms的間隔固定檢測(cè)到同步碼的時(shí)候,整個(gè)系統(tǒng)處于完全同步狀態(tài),否則,對(duì)端芯片會(huì)在CH16發(fā)出遠(yuǎn)端告警,用于通知網(wǎng)關(guān)設(shè)備進(jìn)行故障處理。
圖3 控制狀態(tài)機(jī)
CH16 是16位寬的控制信道,用于發(fā)送控制命令包或接收反饋包,用于控制終端控制板的操作。MasterLink 只承載同步和信令信道,不包括SPATA 信道,MasterLink 也包含A B兩條鏈路。ST_Link是與TDM芯片相連的TDM 鏈路,滿足標(biāo)準(zhǔn)ST-BUS 的接口要求,只承載8位的語音信道。FPGA將前述Serial Link經(jīng)過Manchester解碼后分離的A/B路數(shù)據(jù)分別進(jìn)行8位數(shù)據(jù)提取,然后按照ST_BUS總線的格式分別放到各自對(duì)應(yīng)的通道中,共12路ST_link數(shù)據(jù)。具體實(shí)現(xiàn)上,采用2個(gè)雙口RAM,進(jìn)行數(shù)據(jù)緩存后,按照ST_BUS格式按序讀出。反之,F(xiàn)PGA進(jìn)行ST_BUS到Serial Link的擴(kuò)展。
圖4 GPBUS與386總線映射關(guān)系
由于CH0中包含報(bào)警以及摘掛機(jī)信息,因此,6路Serial Link中的CH0被按位或運(yùn)算后發(fā)送給OBCI3,由OBCI3進(jìn)行相應(yīng)的檢測(cè)和處理。反方向則將MasterLink 中來自O(shè)BCI3的CH0 廣播到同組各個(gè)Serial link中的CH0,以提供同步功能。另一方面,MasterLink 上的兩個(gè)CH16 用于控制遠(yuǎn)端終端控制板,CPU產(chǎn)生的控制信令通過OBCI3芯片,傳送到MasterLink的CH16 信道上,并由FPGA廣播到相應(yīng)Serial Link 的CH16 中,相反方向,Serial Link的CH16信道中來自遠(yuǎn)端終端控制板的反饋響應(yīng),通過FPGA轉(zhuǎn)發(fā)到MasterLink 的CH16 中,由OBCI3 接收,交給CPU處理。因此,最終ST_BUS上只包含SPATA的負(fù)荷,MasterLink只包含信令消息。通過TDM芯片,ST_BUS上的SPATA 信道進(jìn)行一級(jí)交換后進(jìn)入子板進(jìn)行語音壓縮、IP成包等后續(xù)處理。
控制流
如圖1所示,母板上采用了AMD公司的Elan520,由于該CPU采用的是專用的GP_BUS總線協(xié)議,與片外SRAM通訊需做一定處理。另外,OBCI3是我們自行設(shè)計(jì)的專用處理芯片,其CPU總線接口采用Intel-386總線協(xié)議格式,因此,F(xiàn)PGA必須提供兩組總線讀寫操作之間的邏輯映射。同時(shí),OBCI3本身支持DMA模式存取SRAM,因此,F(xiàn)PGA還必須提供DMA接口的控制功能。
圖3是在FPGA具體實(shí)現(xiàn)中所采用的狀態(tài)機(jī),系統(tǒng)共有4個(gè)狀態(tài),狀態(tài)翻轉(zhuǎn)的信號(hào)見圖3右下側(cè),低為有效。當(dāng)CPU沒有總線操作時(shí),系統(tǒng)為空閑狀態(tài);當(dāng)CPU需要進(jìn)行SRAM操作時(shí),SRAM片選信號(hào)有效,系統(tǒng)進(jìn)入OBC SRAM 存取狀態(tài),在此狀態(tài)下,F(xiàn)PGA將CPU的操作映射為標(biāo)準(zhǔn)的SRAM時(shí)序,從而完成SRAM的讀寫操作。FPGA同時(shí)監(jiān)測(cè)OBCI3的DMA請(qǐng)求信號(hào),當(dāng)狀態(tài)為OBCI3 SRAM 存取時(shí),如果CPU授權(quán)DMA請(qǐng)求,F(xiàn)PGA則激活OBCI3的HOLD_OUT信號(hào),使OBCI3獲得系統(tǒng)總線控制權(quán),并啟動(dòng)DMA模式直接存取片外SRAM,從而大大加快了系統(tǒng)處理的速度。當(dāng)CPU需要與OBCI3進(jìn)行通訊的時(shí)候,系統(tǒng)進(jìn)入OBCI3 存取狀態(tài),在該狀態(tài)下,F(xiàn)PGA將異步的GPBUS總線邏輯的讀寫操作映射為同步的Intel-386接口時(shí)序,見圖4。圖中上半部分是GPBUS的讀寫時(shí)序,而下半部分則是經(jīng)過FPGA映射后輸出的標(biāo)準(zhǔn)386 CPU接口時(shí)序。圖中箭頭標(biāo)明了兩組總線控制信號(hào)之間的時(shí)序關(guān)系。
設(shè)計(jì)實(shí)現(xiàn)
本設(shè)計(jì)采用Xilinx的Spartan3-XCS1000實(shí)現(xiàn)。Spartan3系列器件采用90nm工藝,具有豐富的內(nèi)部資源,包括17280個(gè)邏輯單元,120Kbit的分布式RAM和432Kbit的Block RAM,并提供了豐富的引腳接口類型。設(shè)計(jì)利用Synplify Pro 7.7進(jìn)行綜合,在ISE8.1中完成布局布線。經(jīng)過系統(tǒng)驗(yàn)證,完全符合系統(tǒng)要求,現(xiàn)在已經(jīng)進(jìn)行批量生產(chǎn)。
結(jié)語
為順利向下一代網(wǎng)絡(luò)結(jié)構(gòu)過渡,本文設(shè)計(jì)了NGN網(wǎng)關(guān)設(shè)備中的接口芯片,該芯片能夠提供設(shè)備所需要的多種邏輯功能,極大地簡(jiǎn)化了電路板的設(shè)計(jì)。同時(shí),設(shè)計(jì)本身采用可擴(kuò)展的設(shè)計(jì)結(jié)構(gòu),可以滿足系統(tǒng)擴(kuò)展的要求。采用Spartan3系列FPGA實(shí)現(xiàn),經(jīng)過系統(tǒng)測(cè)試,完全符合設(shè)計(jì)需求。
參考文獻(xiàn)
1. 蔡康. 下一代網(wǎng)絡(luò)(NGN)業(yè)務(wù)及運(yùn)營. 人民郵電出版社. 2004-8
2. ST-Bus Generic Device Specification (Application Note: MSAN126, Zarlink)