基于嵌入式处理器的VoIP双模语音网关设计 |
2010年5月6日 12:44 电子技术应用 作 者:蒋昌茂 刘洪林 |
目前语音网关的设计很多,但大都遵循MCU+DSP的处理方案,有些是偏重于经济成本如基于单芯片(SoC)的 PA1688/AR1688解决方案,有些是关注性能如ARM+DSP解决方案,本文将讨论一款基于IP2022解决方案的双模语音网关设计。 VoIP双模网关是一种同时连接VoIP和PSTN网络并能在两者之间互相转换的用户端网关设备。双模网关能够使用VoIP网络节省大量通话成本,还能够在VoIP网络不可用(断电或路由不可达)时使用PSTN网络保障电话线路永远畅通,而且使用双模网关无需对PBX机做任何改变,用户还能够自由选择或由网关自动选择使用VoIP网络还是PSTN网络,具备很好的实用性和灵活性。 1 VoIP双模网关的工作原理 网关在VoIP网络中主要起协议转换、控制及关守作用,例如呼叫控制和呼叫管理等。双模网关在普通VoIP网关的基础上增加了VoIP和PSTN之间的转换。双模网关系统从功能上可分为双模转换模块、FXS接口电路模块、语音处理模块和软件控制模块,其系统框图如图1所示。各主要模块功能描述如下: (1)双模转换模块 双模转换模块主要包括FXO接口电路,由CODEC和数据处理阵列DAA(Data Access Arrangement)组成。其中的CODEC和FXS电路中的相同;DAA仿真了一部话机,通过PSTN的环路闭合去除高压直流分量,只让PSTN线上的模拟交流信号通过。 (2)FXS接口电路模块 外部交换站接口FXS(Foreign Exchange Station):电路直接和模拟话机连接,提供拨号音、馈电、铃流电压,并能够检测话机的摘挂机和环路闭合,完成模拟信号和数字信号之间的相互转换。 外部交换局接口FXO(Foreign Exchange Office):在传统的PSTN电话连接中,电话中央局端交换机提供馈电和铃流,电话本身完成Tip/Ring电路来请求服务或应答PSTN上的呼叫。 明白了FXS和FXO的原理也就理解了本网关设计的理念,就是将网关模拟成一个交换机。其内部的FXS 电路将模拟电话局端交换的功能,为电话提供并进行振铃,同时检测环路电流。而FXO 电路则模拟电话功能,提供环路关闭功能并检测来话振铃。 (3)语音处理模块 网关的语音处理模块负责对PCM数字语音信号进行压缩和解压缩。压缩算法的标准包括G.711、G.723.1和G.729等。不同的算法压缩比不相同,占用的带宽也不同。压缩算法能够用硬件DSP实现,也能够用纯软件实现[1]。 (4)软件控制摸块 软件控制模块实现网关的协议栈处理和路由处理等功能。协议栈负责将压缩后的数据流进行封装,加上IP协议包头,形成可在VoIP网络中传输的IP数据包。现在VoIP的协议栈主要基于H.323和SIP两种标准。协议栈将数据流打成IP数据包后,选择适当路由经过以太网接口发送到VoIP网络中。接收端网关接收到IP数据包后,将数据包解压缩并将解压缩后的PCM数字信号解码,恢复原始语音信号[2]。 2 VOIP双模语音网关硬件设计 VOIP双模网关的硬件原理如图2 所示。 2.1 MCU 本网关设计的核心采用IP2022处理器,它不但要完成各部件的协同工作,还要做大量的计算处理(例如DSP处理后的编码数据打包通过网络传输)还要将网络传来的语音数据解包后经解码处理送到话机。 |