首页 | 期刊简介 | 编辑部 | 广告部 | 发行部 | 在线投稿 | 联系我们 | 产品信息索取
2024年11月21日星期四
2011年第01期
 
2010年第12期
 
2010年第11期
2010年第11期
 
2010年第10期
2010年第10期
 
2010年第09期
2010年第09期
 
2010年第09期
2010年第08期
 
2010年第07期
2010年第07期
 
2010年第06期
2010年第06期
 
2010年第05期
2010年第05期
 
2010年第04期
2010年第04期
 
2010年第03期
2010年第03期
 
2010年第02期
2010年第02期
 
2010年第01期
2010年第01期
 
2009年第12期
2009年第12期
 
2009年第11期
2009年第11期
 
2009年第10期
2009年第10期
 
2009年第9期
2009年第9期
 
2009年第8期
2009年第8期
 
2009年第7期
2009年第7期
 
2009年第6期
2009年第6期
 
2009年第5期
2009年第5期
 
2009年第4期
2009年第4期
 
2009年第3期
2009年第3期
 
2009年第2期
2009年第2期
 
2009年第1期
2009年第1期
 
2008年第12期
2008年第12期
 
2008年第11期
2008年第11期
 
2008年第10期
2008年第10期
 
2008年第9期
2008年第9期
 
2008年第8期
2008年第8期
 
2008年第7期
2008年第7期
 
2008年第6期
2008年第6期
 
2008年第5期
2008年第5期
 
2008年第4期
2008年第4期
 
2008年第3期
2008年第3期
 
2008年第2期
2008年第2期
 
2008年第1期
2008年第1期
一种基于嵌入式技术的VoIP网关设计

A VoIP Gateway Design Based On Embedded Technology

海军工程大学 刘波 吴学智 林海涛 何如龙

作为目前热门的嵌入式技术,开发基于嵌入式技术的VoIP网关有助于进一步拓宽嵌入式技术的应用范围。本文介绍了基于嵌入式ARM处理器的VoIP网关模块的设计思路,并结合核心芯片AC4880XC-C详细介绍了该模块的设计流程、软硬件结构及其工作方式。


VoIP的应用趋势

作为NGN(下一代网络)中的重要组成部分,VoIP是面向未来、可持续发展的语音解决方案,可以为商业和家庭用户提供质优价廉的IP语音服务。随着NGN网络技术的快速发展,VoIP的通信量也已得到快速增长,并以其低廉的价格优势迅速占有市场。


VoIP语音技术与传统电话的区别

VoIP(又称IP PHONE)是建立在IP技术上的分组化、数字化语音传输技术。其基本原理是:通过语音压缩算法对语音数据进行压缩编码处理,然后把这些语音数据按IP等相关协议进行打包,经过IP网络把数据包传输到接收地,再把这些语音数据包串起来,经过解码解压处理后,恢复成原来的语音信号,从而达到由IP网络传送语音的目的。VoIP系统把传统电话的模拟信号转换成计算机可联入因特网传送的IP数据包,同时也将收到的IP数据包转换成声音的模拟电信号。经过VoIP系统的转换及压缩处理,每个普通电话传输速率约占用8~11kbit/s带宽,因此在与普通电信网同样使用传输速率为64kbit/s的带宽时, VoIP线路数是原来的5~8倍。同时,IP技术允许多个用户共用同一带宽资源,改变了传统电话由单个用户独占一个信道的方式,节省了用户使用单独信道的费用。

VoIP的基本结构由网关(GW)和网守(GK)两部分构成。网关的主要功能是信令处理、H.323协议处理、语音编解码和路由协议处理等,对外分别提供与PSTN网连接的中继接口以及与IP网络连接的接口。网守的主要功能是用户认证、地址解析、带宽管理、路由管理、安全管理和区域管理。VoIP的核心与关键设备是VoIP网关。

图1 Voip实现原理框图(略)


基于嵌入式技术的VoIP功能实现框图

1、VoIP实现原理框图:(如图1)

2、嵌入式系统中VoIP的工作过程:

① 在单个独立的嵌入式系统内部进行语音通信时,该系统实现功能的过程如下:用户话音脉冲通过SLIC和CODEC电路产生PCM流,载入语音处理器AC4880XC-C中,通过片内DSP进行语音压缩、成帧(包括地址等用户信息及语音信息),AC4880XC-C再将数据包通过HPI口传送到主系统,完成交换功能后,认定目的地是本系统的另一个用户,将处理过的话音数据包传给AC4880XC-C,AC4880XC-C进行解压缩后, 以PCM流返回到CODEC部分,根据目的地址信息驱动目的用户。

② 在嵌入式系统之间进行语音通信时,过程如下:AC4880XC-C将话音数据包通过HPI口传给本系统后,本系统的交换功能认定目的地是另一个嵌入式系统的一个用户,本系统将数据包重组后,通过I/O端口传给目的系统,由目的系统自动完成解压缩,驱动目的用户的功能。


系统设计实现

硬件设计为以下六块组成

1、SLIC(用户线接口电路)部分

采用AMD公司生产的AM79R70PLCC芯片,通过该芯片产生输入、输出话音脉冲和铃音脉冲。

2、CODEC(编解码)部分

采用AMD公司生产的AM79Q021JC编解码芯片,通过该芯片产生的PCM流送到语音处理芯片处理。

3、语音处理部分

作为本系统中的核心部分,语音处理采用以色列AudioCodes公司生产的专用多通道语音处理芯片AC4880XC-C。它具有以下特点:

⊙ 支持ITU的G.711、G.723.1、G.726、G.729A等分组语音处理标准;

⊙ 支持回波抵制和抵消、静音检测和舒适噪音等提高分组语音处理性能的配套模块;

⊙ 高质量坏帧插补;

⊙ 支持2.4~14.4 kbps的T.38和FRF.11的功能传真业务;

⊙ 支持各种信令,如DTMF等;

⊙ 提供语音、传真、数据或信令等PCM高速接口;

⊙ 可选择 或o 律;

⊙ 输入输出增益控制;

⊙ 提供同步HPI、PCM、时钟、存储器以及I/O和仿真测试接口(如图2);

图2 AC4880XC-C功能接口图(略)

⊙ 144pin,TQFP封装,1.8V内核电压,3.3V芯片电压。

4、CPLD部分

AC4880XC-C采用8位并行的主处理器接口HPI接口与主系统进行数据交换。鉴于嵌入式系统中接口逻辑繁杂,选用CPLD实现接口适配功能。主CPU可通过CPLD控制实现CODEC 和SLIC部分的功能。

5、HPI接口部分

本设计中,嵌入式系统CPU与AC4880XC-C通过HPI接口进行数据通信,CPU通过AC4880XC-C片内共享的双口存储器与其片内DSP实现数据交互。
HPI接口包括1根8位数据总线和11根控制总线。主系统CPU通过三个寄存器(HPIC、HPIA和HPID)控制AC4880XC-C及访问片内存储空间。HPIC为控制寄存器,用来选择AC4880XC-C的高低字节顺序。HPIA为地址寄存器,用来寻址片内的2K存储空间。HPID为数据寄存器,用来缓存每次读写的两个字节数据,外部CPU以单个Word或块数据访问HPID。以块数据方式访问时,HPIA寄存器自动累加,可减少外部CPU写HPIA寄存器的开销。AC4880XC-C的内部寄存器和存储器为16位,外部CPU每次访问AC4880XC-C必须以两个字节为基本单位,信号线HI/LO用来选择高低字节,信号HRS1、HRS0指示当前访问的是哪个寄存器。

6、语音接口部分

语音接口提供未压缩语音、传真数据的I/O通道。语音接口对外提供四根信号线PCMIN、PCMOUT、PCMCLK、PCMFS构成PCM总线,直接连接外部CODEC芯片的PCM Highway。PCMIN输入从CODEC送来的PCM信号,AC4880XC-C内部的DSP按照相应标准压缩后从HPI口交给主系统CPU 处理。PCMOUT则相反,AC4880XC-C将主系统CPU送来的语音数据按照合适的标准解压缩,然后从PCMOUT口送到外部CODEC,CODEC经过数/模转换后恢复成语音信号再通过用户接口送给用户端。PCMCLK提供2.048MHz的比特同步时钟,而PCMFS提供8kHz的帧同步时钟。PCM主时钟(BCLK)、帧同步时钟(FS)、接收数据(DR)和发送数据(DX)一起构成PCM Highway信号,与AC4880XC-C进行连接。BCLK与FS分别对应AC4880XC-C的PCMCLK和PCMFS,这两个时钟信号都由AC4880XC-C 产生;DR和DX分别对应AC4880XC-C的PCMOUT和PCMIN。PCM Highway信号时序以及时隙与帧同步信号的关系分别如图3、图4所示。为了CODEC与DSP芯片间正确收发数据,一般选择CODEC芯片在BCLK的上升沿发送数据DX,下降沿采样数据DR,而在另一端的AC4880XC-C,则在时钟下降沿采样PCMIN,上升沿发送PCMOUT。

图3 PCM Highway(略)

图4 时隙与帧同步信号的关系(略)

软件设计部分

该系统软件主要用于对AC4880XC-C进行控制,实现读写等操作。

1、编写芯片AC4880XC-C的读写函数

图5 软件流程图(略)

主要是基于嵌入式ARM处理器,通过HPI接口实现对AC4880XC-C及相关芯片的读写操作。流程图如图5所示:

2、配置AC4880XC-C内部设置

首先通过处理器对CODEC和CPLD进行配置,并调用AudioCodes 公司提供的初始化内核程序对AC4880XC-C进行复位初始化。复位成功后,写入内核程序,然后写入工作程序,最后再将这些程序通过AC4880XC-C的HPI接口写入到AC4880XC-C,芯片即开始工作。


结语

嵌入式系统作为一种功能强大的软硬件操作开发平台,很适合基于嵌入式ARM处理器的VoIP的开发。AC4880XC-C是一款功能强大语音处理芯片,本方案利用该芯片作为核心芯片,配以其他功能芯片实现了基于嵌入式技术的VoIP网关。该网关已应用于嵌入式综合实验平台,效果十分理想,在IP电话和多媒体通信领域的应用前景非常广泛。

《世界电子元器件》2005.8
         
版权所有《世界电子元器件》杂志社
地址:北京市海淀区上地东路35号颐泉汇 邮编:100085
电话:010-62985649
E-mail:dongmei@eccn.com