黃學達,林 峰
(重慶郵電大學重郵信科通信技術(shù)有限公司,重慶400065)
?
基于CM5000的FXS語音網(wǎng)關的軟硬件設計*
黃學達*,林峰
(重慶郵電大學重郵信科通信技術(shù)有限公司,重慶400065)
摘要:IP電話語音網(wǎng)關設備主要采用H.323協(xié)議和MGCP實現(xiàn),但是H.323協(xié)議和MGCP實現(xiàn)過程復雜,給實際使用造成很多的問題。提出一種采用CM5000的FXS終端的實現(xiàn)方法,VoIP協(xié)議采用實現(xiàn)簡單的SIP協(xié)議,同時也能夠確保電話業(yè)務的服務質(zhì)量,設備的MOS值為4.5,電話業(yè)務接口的技術(shù)性能指標滿足相關規(guī)范要求;重點闡述了基于CM5000的FXS終端的硬件與軟件的設計方法;電話接口的性能測試結(jié)果表明,所提出的方案在因特網(wǎng)運行良好。
關鍵詞:IP電話;語音網(wǎng)關; SIP; FXS; FXO
VoIP(Voice over IP,基于因特網(wǎng)的語音技術(shù))隨著因特網(wǎng)技術(shù)的發(fā)展而發(fā)展,因特網(wǎng)為話音、數(shù)據(jù)、視頻等的傳送提供了良好的平臺,解決好語音傳送的質(zhì)量,消除因特網(wǎng)帶來的延遲、回聲等等,對于采用因特網(wǎng)傳送語音是極其重要的。
VoIP語音傳送技術(shù)一般采用H.323、會話初始化協(xié)議SIP(Session Initiation Protocol)、媒體網(wǎng)關控制協(xié)議MGCP(Media Gateway Control Protocol)。H.323發(fā)展時間最長,但是其協(xié)議流程復雜; MGCP協(xié)議是由電信運營商倡導發(fā)展起來的,協(xié)議不具備開放性,互通性能較差; SIP協(xié)議是借鑒了因特網(wǎng)傳送數(shù)據(jù)的經(jīng)驗發(fā)展而來的,網(wǎng)絡協(xié)議符合因特網(wǎng)的規(guī)范,通話建立流程簡潔,便于開發(fā),支持移動性等優(yōu)點。
本文主要研究采用CM5000,實現(xiàn)使用SIP協(xié)議的外部交換站FXS(Foreign Exchange Station)終端,有兩個FXS口和一個具有逃生功能的FXO口。
通常VoIP語音網(wǎng)關主要有E1數(shù)字中繼,F(xiàn)XO 和FXS 3種。其中FXS語音網(wǎng)關作為VoIP通話的終端設備,位于VoIP網(wǎng)絡的末端,F(xiàn)XS接口為PBX (Private Branch Exchange,專用分組交換機)的內(nèi)線分機接口,向遠程饋電,通常接模擬電話機實現(xiàn)通話過程。如果需要實現(xiàn)基于SIP協(xié)議的所有終端的正常通訊,還需要SIP服務器進行相應的管理;如果需要實現(xiàn)與PSTN電話的互通,還需要RJ11的56K模擬接口中繼網(wǎng)關外部交換局FXO(Foreign Exchange Office)或者EI的2M數(shù)字接口中繼網(wǎng)關TG以及信令網(wǎng)關SG,其因特網(wǎng)側(cè)均采用SIP協(xié)議,公用交換電話網(wǎng)PSTN(Public Switched Telephone Network)側(cè)采用中國一號信令、No. 7信令或者ISDN PRI信令。在NGN中商用的VoIP還應有Radius認證服務器,計費服務器等等。
本文研究的FXS語音網(wǎng)關的應用示意圖,如圖1所示:3個FXS網(wǎng)關接模擬電話機,通過RJ45接到因特網(wǎng)1中,通過TG,SG實現(xiàn),與PSTN1的互通,通過路由器Router實現(xiàn)與NGN,因特網(wǎng)2的通訊。其中3個FXS接到PSTN 2的RJ11是做逃生口用,當FXS設備斷電或者因特網(wǎng)故障,電話可以通過接到PSTN2的逃生線路呼出或者接聽來電。正常情況下默認通過因特網(wǎng)1呼出或者接聽電話,也可以通過一個按鍵實現(xiàn)兩路電話的切換。
圖1 VoIP網(wǎng)絡結(jié)構(gòu)示意圖
2.1FXS終端硬件原理
FXS終端的硬件原理:來自因特網(wǎng)的語音IP包通過該FXS的WAN口送入VoIP網(wǎng)關,經(jīng)過CM5000進行解包并處理成PCM語音送到CODEC部分,經(jīng)過D/A轉(zhuǎn)換成模擬語音通過RJ11接口輸出到電話機;模擬語音通過RJ11接口輸入到CODEC部分進行抽樣、量化、編碼等A/D轉(zhuǎn)換成變成PCM語音送到CM5000進行壓縮、打包后通過WAN口輸出;來自PSTN的話音信號可以通過FXO功能的接口送入到FXS終端,通過繼電器的切換實現(xiàn)PSTN和電話機的話音輸入輸出;另外LAN可以接計算機上網(wǎng)。
圖2 FXS終端結(jié)構(gòu)框圖
該FXS終端方案的結(jié)構(gòu)框圖如圖2所示,采用Crystal Media公司的多處理器結(jié)構(gòu)芯片CM5000,完成VoIP語音的打包、解包、壓縮、解壓縮以及相關控制工作; CM5000有2個10/100BASE-T的MII接口,可以只需要接一片多端口的PHY,實現(xiàn)一路具有路由功能的WAN口,其余輸出LAN口;外接一個雙通道SLIC實現(xiàn)兩路FXS語音的接口,外接一個DAA實現(xiàn)一路FXO接口。使用JTAG口進行軟件調(diào)試和下載,后期升級軟件可以直接使用WEB頁面進行下載。
2.2FXS終端硬件結(jié)構(gòu)
本FXS終端硬件主要包括幾個部分:VoIP處理器模塊,SLAC/SLIC模塊,Ethernet模塊,存儲器等。
2.2.1VoIP處理器模塊
本模塊主要采用Crystal Media公司多處理器結(jié)構(gòu)的芯片CM5000,其系統(tǒng)結(jié)構(gòu)如圖3所示,可以工作高達125MHz頻率,內(nèi)部集成系統(tǒng)處理器RISC、Voice DSP等2個處理器,還集成指令RAM與數(shù)據(jù)RAM。系統(tǒng)處理器完成嵌入式實時操作系統(tǒng)的管理、運行、網(wǎng)絡協(xié)議TCP/IP的處理以及所有控制功能,Voice DSP完成兩路話音壓縮和解壓縮處理,外掛1 Mbit 16 bit的FLASH,型號是AM29LV160T,主要是存放操作系統(tǒng)引導程序,底層的驅(qū)動,嵌入式操作系統(tǒng)內(nèi)核、VoIP協(xié)議棧以及相關的應用程序,選擇1片64 Mbit的SDRAM采用Amsung公司芯片K4S641632F用于運行大量的實時程序。
圖3 CM5000結(jié)構(gòu)示意圖
PCM接口最大支持4路FXS語音的處理,本設計中主要用于一路FXO和兩路FXS語音的處理。有兩個10/100 BASE-T的MII結(jié)構(gòu)的以太網(wǎng)MAC,使用1個MII接口外接5 Port 10/100 Ethernet Integrated Switch芯片,實現(xiàn)1路WAN與4路LAN接口。在芯片內(nèi)部的RISC Processor,Voice DSP,Memory Controller,MAC,LCD Control,AC97 Interface,Uart,SPI等均掛在系統(tǒng)總線上。另外,就是對外出一個JTAG調(diào)試口。
2.2.2DAA/SLIC模塊
用戶電路模塊包括DAA和SLIC。其中DAA部分采用臺灣Silicon Lab公司的套片Si3056和Si3018,實現(xiàn)FXO功能的逃生接口; SLIC部分采用Legerity公司的雙通道用戶接口芯片LE88221,有2 路SLIC。CM5000的SPI總線用于DAA/SLIC的配置控制,繼電器的切換,通過PCM總線實現(xiàn)CM5000 的Voice DSP與SLAC/SLIC的數(shù)據(jù)交換。
2.2.3Ethernet模塊
本模塊采用1片IC Plus公司的PHY芯片IP175C,5 Port 10/100M的MII接口的PHY,與CM5000的一個MAC相連,分別實現(xiàn)1路WAN和4 路LAN接口。其中WAN口接外網(wǎng),支持RIP、NAT、PPPoE、DHCP等簡單的路由功能,LAN口接計算機和其他因特網(wǎng)設備。
3.1VoIP終端的軟件設計原理
在FXS終端的電路板上實現(xiàn)CM5000,PHY芯片,DAA/SLIC等芯片的底層驅(qū)動設計,初始化UART,SPI,PCM,GPIO等等;在底層驅(qū)動的基礎上完成操作系統(tǒng)uc/OSⅡ的移植,實現(xiàn)任務的調(diào)度;在操作系統(tǒng)的基礎上實現(xiàn)TCP/IP協(xié)議棧的移植,使VoIP網(wǎng)關模塊滿足IEEE802.3等以太網(wǎng)標準協(xié)議; VoIP相關協(xié)議棧的處理、網(wǎng)管計費等應用層軟件的編寫。雖然VoIP有H.323、SIP、MGCP等協(xié)議體系,但是SIP協(xié)議以其結(jié)構(gòu)簡潔、開發(fā)實現(xiàn)容易,是NGN中的主流協(xié)議,因此,本中網(wǎng)關采用SIP協(xié)議。
軟件開發(fā)編譯環(huán)境是Crystal media公司的Cygwin,開發(fā)語言標準C,軟件調(diào)試下載使用Crystal Media公司的CMLOADER進行固件的下載,整個開發(fā)和調(diào)試可在Windows環(huán)境下進行,極大的方便了開發(fā)和調(diào)試。
軟件采用模塊化設計,模塊之間彼此獨立,通過消息機制、共享數(shù)據(jù)結(jié)構(gòu)方式通信,其中主控模塊協(xié)同幾個模塊之間的通信和調(diào)用。
可分為如下主要模塊:
CM5000主控模塊
此模塊為系統(tǒng)主控流程模塊,包括系統(tǒng)初始化、系統(tǒng)任務派生、系統(tǒng)模塊之間通信的消息管理、協(xié)議流程、振鈴及摘掛機流程等。
CM5000的DSP控制模塊
此模塊主要為DSP控制流程,包括音頻數(shù)據(jù)的采集、壓縮及數(shù)據(jù)的RTP/RTCP、T.38編碼、發(fā)送,完成FXS的有關語音信號的處理工作。
內(nèi)核模塊
此模塊包括uc/OSⅡ嵌入式操作系統(tǒng)內(nèi)核、系統(tǒng)板支持包(BSP)、硬件外設驅(qū)動等。
協(xié)議模塊
SIP協(xié)議模塊,包括RFC3261,RFC2327、RFC3262、RFC3264、RFC3581、RFC3515協(xié)議等。
網(wǎng)絡協(xié)議模塊
此模塊實現(xiàn)RIP、NAT、DHCP,HTTP等。
3.2FXS終端軟件架構(gòu)
基于SIP協(xié)議的FXS終端的軟件系統(tǒng)結(jié)構(gòu)如圖4所示,它建立在SIP協(xié)議棧的基礎上,增加了數(shù)據(jù)處理和用戶接口處理的功能。CM5000 DSP完成語音壓縮編解碼處理,CM5000的CPU對SIP協(xié)議棧的處理是軟件系統(tǒng)的核心。CM5000的CPU作為主處理器,將語音數(shù)據(jù)交給DSP進行壓縮編碼,取回編碼按協(xié)議進行數(shù)據(jù)打包,并發(fā)送到以太網(wǎng)接口。同時偵聽以太網(wǎng)口,看是否有數(shù)據(jù)包到達,根據(jù)協(xié)議分發(fā)數(shù)據(jù),如是語音編碼數(shù)據(jù),則交給DSP進行語音還原,取回語音數(shù)據(jù)輸出;協(xié)議處理包括:RTP/RTCP實時傳輸/控制協(xié)議、ICMP、DHCP、TFTP、DNS、NTP、還有TCP/IP和UDP/IP等;應用層要通過Telnet、Http等完成系統(tǒng)的升級和配置工作。CM5000的CPU還完成SLIC的鈴流驅(qū)動和摘掛機檢測等功能。
圖4 基于SIP的FXS終端軟件系統(tǒng)結(jié)構(gòu)
根據(jù)此方案設計的FXS語音網(wǎng)關,在局域網(wǎng)內(nèi)實驗,主要測試設備的呼叫建立能力、呼叫長時保持能力以及通話語音質(zhì)量測試。測得該設備1 h最多能建立起500次呼叫;當建立起一次呼叫后,測試24 h后呼叫仍然保持;根據(jù)ITU的P.800標準,采用MOS值來判斷該設備的語音質(zhì)量,請100位聽同一語音樣本,根據(jù)各自的感受對該設備的語音質(zhì)量進行打分,最后該設備的MOS值為4.5,有很好的語音通話質(zhì)量??梢姡撛O備可直接接入因特網(wǎng)進行商業(yè)應用。隨著網(wǎng)絡的寬帶化和因特網(wǎng)向家庭用戶的普及,在以軟交換技術(shù)為核心的下一代網(wǎng)絡,電話通信將向IP電話轉(zhuǎn)移,F(xiàn)XS終端的市場前景非常廣闊。
黃學達(1978-),男,漢族,四川省宜賓市人,重慶郵電大學重郵信科通信技術(shù)有限公司工程師,碩士,研究方向為LTE-A終端產(chǎn)品的硬件研究,huangxueda@163.com。
參考文獻:
[1]Crystal Media Inc.CM5000 Datasheet-R108[DB/CD].2005:3.
[2]IC Plus Corp.IP175C/IP175CH-DS-R14[DB/CD].2007:3.
[3]ITU-T Recommendation.RFC3261-SIP; Session Initiation Protocol [S].2002:6.
[4]ITU-T Recommendation.IEEE Std 802.3 CSMA/CD Access Method and Physical Layer Specifications[S].2002:3.
[5]ITU-T.Pulse Code Modulation(PCM)voice frequencies,Recommendation G.711[S].1988:8.
[6]ITU-T.Dual Rate Speech Code for Multimedia Communications Transmitting at 5.3 and 6.3 kbit/s,Recommendation G.723.1[S].1996:3.
[7]中華人民共和國信息產(chǎn)業(yè)部.YD/T 1071—2000 IP電話網(wǎng)關設備技術(shù)要求[S].2000:6.
[8]中華人民共和國信息產(chǎn)業(yè)部.YD/T 1072—2000 IP電話網(wǎng)關設備測試方法[S].2000:6.
[9]中國電信集團公司.中國電信SIP協(xié)議規(guī)范[S].2004:4.
[10]黃學達,王典洪,陳分雄.基于PA1688的VOIP語音網(wǎng)關技術(shù)[J].電子器件,2005,28(1):184-187.
Musical Notation Automatic Detection Design Based on ACF and GPU
XIE Chenwei,LU Tianyi,TANG Yongming*
(School of Electronic Science and Engineering,Southeast University,Nanjing 210096,China)
Abstract:An automatic musical notation detection design based on autocorrelation function(ACF)and generalpurpose computing on graphics processing units(GPU)is proposed.Audio file in.WAV format is analyzed and ACF is accelerated by the high efficiency architecture of GPU.The pitch of piano audio and short-time energy are analyzed comprehensively for rhythm calculation.An experiment is also designed to test the algorithm,as well as to check the performance of GPU.As shown from the results,the computing speed has been increased about six times with GPU.
Key words:general-purpose computing on GPU; autocorrelation function; short-time energy; musical notation detection
doi:EEACC:6450D; 7210G10.3969/j.issn.1005-9490.2015.04.038
收稿日期:2014-08-05修改日期:2014-09-12
中圖分類號:TN47
文獻標識碼:A
文章編號:1005-9490(2015)04-0903-05
項目來源:重慶市科委項目(cstc2013yykfc4003)