基于CM5000的FXS语音网关的软硬件设计*

2015-02-23 08:28黄学达
电子器件 2015年4期

黄学达,林 峰

(重庆邮电大学重邮信科通信技术有限公司,重庆400065)



基于CM5000的FXS语音网关的软硬件设计*

黄学达*,林峰

(重庆邮电大学重邮信科通信技术有限公司,重庆400065)

摘要:IP电话语音网关设备主要采用H.323协议和MGCP实现,但是H.323协议和MGCP实现过程复杂,给实际使用造成很多的问题。提出一种采用CM5000的FXS终端的实现方法,VoIP协议采用实现简单的SIP协议,同时也能够确保电话业务的服务质量,设备的MOS值为4.5,电话业务接口的技术性能指标满足相关规范要求;重点阐述了基于CM5000的FXS终端的硬件与软件的设计方法;电话接口的性能测试结果表明,所提出的方案在因特网运行良好。

关键词:IP电话;语音网关; SIP; FXS; FXO

VoIP(Voice over IP,基于因特网的语音技术)随着因特网技术的发展而发展,因特网为话音、数据、视频等的传送提供了良好的平台,解决好语音传送的质量,消除因特网带来的延迟、回声等等,对于采用因特网传送语音是极其重要的。

VoIP语音传送技术一般采用H.323、会话初始化协议SIP(Session Initiation Protocol)、媒体网关控制协议MGCP(Media Gateway Control Protocol)。H.323发展时间最长,但是其协议流程复杂; MGCP协议是由电信运营商倡导发展起来的,协议不具备开放性,互通性能较差; SIP协议是借鉴了因特网传送数据的经验发展而来的,网络协议符合因特网的规范,通话建立流程简洁,便于开发,支持移动性等优点。

本文主要研究采用CM5000,实现使用SIP协议的外部交换站FXS(Foreign Exchange Station)终端,有两个FXS口和一个具有逃生功能的FXO口。

1 FXS语音网关在因特网中的应用

通常VoIP语音网关主要有E1数字中继,FXO 和FXS 3种。其中FXS语音网关作为VoIP通话的终端设备,位于VoIP网络的末端,FXS接口为PBX (Private Branch Exchange,专用分组交换机)的内线分机接口,向远程馈电,通常接模拟电话机实现通话过程。如果需要实现基于SIP协议的所有终端的正常通讯,还需要SIP服务器进行相应的管理;如果需要实现与PSTN电话的互通,还需要RJ11的56K模拟接口中继网关外部交换局FXO(Foreign Exchange Office)或者EI的2M数字接口中继网关TG以及信令网关SG,其因特网侧均采用SIP协议,公用交换电话网PSTN(Public Switched Telephone Network)侧采用中国一号信令、No. 7信令或者ISDN PRI信令。在NGN中商用的VoIP还应有Radius认证服务器,计费服务器等等。

本文研究的FXS语音网关的应用示意图,如图1所示:3个FXS网关接模拟电话机,通过RJ45接到因特网1中,通过TG,SG实现,与PSTN1的互通,通过路由器Router实现与NGN,因特网2的通讯。其中3个FXS接到PSTN 2的RJ11是做逃生口用,当FXS设备断电或者因特网故障,电话可以通过接到PSTN2的逃生线路呼出或者接听来电。正常情况下默认通过因特网1呼出或者接听电话,也可以通过一个按键实现两路电话的切换。

图1 VoIP网络结构示意图

2 FXS终端的硬件设计

2.1FXS终端硬件原理

FXS终端的硬件原理:来自因特网的语音IP包通过该FXS的WAN口送入VoIP网关,经过CM5000进行解包并处理成PCM语音送到CODEC部分,经过D/A转换成模拟语音通过RJ11接口输出到电话机;模拟语音通过RJ11接口输入到CODEC部分进行抽样、量化、编码等A/D转换成变成PCM语音送到CM5000进行压缩、打包后通过WAN口输出;来自PSTN的话音信号可以通过FXO功能的接口送入到FXS终端,通过继电器的切换实现PSTN和电话机的话音输入输出;另外LAN可以接计算机上网。

图2 FXS终端结构框图

该FXS终端方案的结构框图如图2所示,采用Crystal Media公司的多处理器结构芯片CM5000,完成VoIP语音的打包、解包、压缩、解压缩以及相关控制工作; CM5000有2个10/100BASE-T的MII接口,可以只需要接一片多端口的PHY,实现一路具有路由功能的WAN口,其余输出LAN口;外接一个双通道SLIC实现两路FXS语音的接口,外接一个DAA实现一路FXO接口。使用JTAG口进行软件调试和下载,后期升级软件可以直接使用WEB页面进行下载。

2.2FXS终端硬件结构

本FXS终端硬件主要包括几个部分:VoIP处理器模块,SLAC/SLIC模块,Ethernet模块,存储器等。

2.2.1VoIP处理器模块

本模块主要采用Crystal Media公司多处理器结构的芯片CM5000,其系统结构如图3所示,可以工作高达125MHz频率,内部集成系统处理器RISC、Voice DSP等2个处理器,还集成指令RAM与数据RAM。系统处理器完成嵌入式实时操作系统的管理、运行、网络协议TCP/IP的处理以及所有控制功能,Voice DSP完成两路话音压缩和解压缩处理,外挂1 Mbit 16 bit的FLASH,型号是AM29LV160T,主要是存放操作系统引导程序,底层的驱动,嵌入式操作系统内核、VoIP协议栈以及相关的应用程序,选择1片64 Mbit的SDRAM采用Amsung公司芯片K4S641632F用于运行大量的实时程序。

图3 CM5000结构示意图

PCM接口最大支持4路FXS语音的处理,本设计中主要用于一路FXO和两路FXS语音的处理。有两个10/100 BASE-T的MII结构的以太网MAC,使用1个MII接口外接5 Port 10/100 Ethernet Integrated Switch芯片,实现1路WAN与4路LAN接口。在芯片内部的RISC Processor,Voice DSP,Memory Controller,MAC,LCD Control,AC97 Interface,Uart,SPI等均挂在系统总线上。另外,就是对外出一个JTAG调试口。

2.2.2DAA/SLIC模块

用户电路模块包括DAA和SLIC。其中DAA部分采用台湾Silicon Lab公司的套片Si3056和Si3018,实现FXO功能的逃生接口; SLIC部分采用Legerity公司的双通道用户接口芯片LE88221,有2 路SLIC。CM5000的SPI总线用于DAA/SLIC的配置控制,继电器的切换,通过PCM总线实现CM5000 的Voice DSP与SLAC/SLIC的数据交换。

2.2.3Ethernet模块

本模块采用1片IC Plus公司的PHY芯片IP175C,5 Port 10/100M的MII接口的PHY,与CM5000的一个MAC相连,分别实现1路WAN和4 路LAN接口。其中WAN口接外网,支持RIP、NAT、PPPoE、DHCP等简单的路由功能,LAN口接计算机和其他因特网设备。

3 FXS终端的基本软件设计

3.1VoIP终端的软件设计原理

在FXS终端的电路板上实现CM5000,PHY芯片,DAA/SLIC等芯片的底层驱动设计,初始化UART,SPI,PCM,GPIO等等;在底层驱动的基础上完成操作系统uc/OSⅡ的移植,实现任务的调度;在操作系统的基础上实现TCP/IP协议栈的移植,使VoIP网关模块满足IEEE802.3等以太网标准协议; VoIP相关协议栈的处理、网管计费等应用层软件的编写。虽然VoIP有H.323、SIP、MGCP等协议体系,但是SIP协议以其结构简洁、开发实现容易,是NGN中的主流协议,因此,本中网关采用SIP协议。

软件开发编译环境是Crystal media公司的Cygwin,开发语言标准C,软件调试下载使用Crystal Media公司的CMLOADER进行固件的下载,整个开发和调试可在Windows环境下进行,极大的方便了开发和调试。

软件采用模块化设计,模块之间彼此独立,通过消息机制、共享数据结构方式通信,其中主控模块协同几个模块之间的通信和调用。

可分为如下主要模块:

CM5000主控模块

此模块为系统主控流程模块,包括系统初始化、系统任务派生、系统模块之间通信的消息管理、协议流程、振铃及摘挂机流程等。

CM5000的DSP控制模块

此模块主要为DSP控制流程,包括音频数据的采集、压缩及数据的RTP/RTCP、T.38编码、发送,完成FXS的有关语音信号的处理工作。

内核模块

此模块包括uc/OSⅡ嵌入式操作系统内核、系统板支持包(BSP)、硬件外设驱动等。

协议模块

SIP协议模块,包括RFC3261,RFC2327、RFC3262、RFC3264、RFC3581、RFC3515协议等。

网络协议模块

此模块实现RIP、NAT、DHCP,HTTP等。

3.2FXS终端软件架构

基于SIP协议的FXS终端的软件系统结构如图4所示,它建立在SIP协议栈的基础上,增加了数据处理和用户接口处理的功能。CM5000 DSP完成语音压缩编解码处理,CM5000的CPU对SIP协议栈的处理是软件系统的核心。CM5000的CPU作为主处理器,将语音数据交给DSP进行压缩编码,取回编码按协议进行数据打包,并发送到以太网接口。同时侦听以太网口,看是否有数据包到达,根据协议分发数据,如是语音编码数据,则交给DSP进行语音还原,取回语音数据输出;协议处理包括:RTP/RTCP实时传输/控制协议、ICMP、DHCP、TFTP、DNS、NTP、还有TCP/IP和UDP/IP等;应用层要通过Telnet、Http等完成系统的升级和配置工作。CM5000的CPU还完成SLIC的铃流驱动和摘挂机检测等功能。

图4 基于SIP的FXS终端软件系统结构

4 结论

根据此方案设计的FXS语音网关,在局域网内实验,主要测试设备的呼叫建立能力、呼叫长时保持能力以及通话语音质量测试。测得该设备1 h最多能建立起500次呼叫;当建立起一次呼叫后,测试24 h后呼叫仍然保持;根据ITU的P.800标准,采用MOS值来判断该设备的语音质量,请100位听同一语音样本,根据各自的感受对该设备的语音质量进行打分,最后该设备的MOS值为4.5,有很好的语音通话质量。可见,该设备可直接接入因特网进行商业应用。随着网络的宽带化和因特网向家庭用户的普及,在以软交换技术为核心的下一代网络,电话通信将向IP电话转移,FXS终端的市场前景非常广阔。

黄学达(1978-),男,汉族,四川省宜宾市人,重庆邮电大学重邮信科通信技术有限公司工程师,硕士,研究方向为LTE-A终端产品的硬件研究,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]中华人民共和国信息产业部.YD/T 1071—2000 IP电话网关设备技术要求[S].2000:6.

[8]中华人民共和国信息产业部.YD/T 1072—2000 IP电话网关设备测试方法[S].2000:6.

[9]中国电信集团公司.中国电信SIP协议规范[S].2004:4.

[10]黄学达,王典洪,陈分雄.基于PA1688的VOIP语音网关技术[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)