库存索引:

A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
0
1
2
3
4
5
6
7
8
9

IP电话的VoIP语音网关设计

        

    

    

    引 言

    近年来,internet得到了飞速发展和普及应用,而作为其核心技术的ip协议体系在数据网络架构中的统治地位已得到了广泛认同。同时,随着基于ip技术上各种应用技术的提出,尤其是voip技术的提出,使得数据网络通信逐渐的融入了传统的话音业务领域。

    voip(voice over ip)俗称ip电话(internet protocol phone),是利用ip网络实现语音通信的一种先进通信手段,是一种完全基于ip网络的语音传输技术。它利用语音网关,软交换平台,网守等设备将模拟信号数字化,然后将数据压缩成数据包,通过ip网络传输到语音的目的地址。目的地址接收到数据包后,将数据重组,解压缩后再还原成模拟信号。这样,一次完整的通话过程就在ip网络中实现了。本文将讨论如何在嵌入式μclinux环境下设计出在ip网络中承担数据压缩、解压和传输等重要功能的设备——voip语音网关。

    1 ip电话系统的基本组成

    ip电话系统一般由三部份组成:电话(phone)、语音网关(gateway)和网守(gatekeeper),如图1所示。

    

    电话是指可以通过电话网或一线通(isdn)连到本地网关的电话终端。

    语音网关是指通过ip网络提供电话之间完成话音通信的关键设备,即internet网络与电话网和一线通(isdn)网之间的接口设备。它完成语音压缩(将64 kb/s的语音信号压缩成低码率的语音信号)和寻址与呼叫控制,并具有ip网络与电话(pstn)或一线通(isdn)互连的接口功能。

    网守即网络管理者,负责用户注册、计费等管理功能.

    2 volp语音网关

    ip电话系统设计的核心为voip语音网关。根据voip语音网关的功能需求以及市场上的成熟技术,笔者采用“硬件+嵌入式操作系统+应用层软件”的系统架构来设计volp语音网关。

    对于硬件平台,以volp主芯片为核心附以必要的外围设备。主芯片采用texas inslruments生产的ti tms320vc549 dsp和samsung公司arm7tdmi核的双内核结构。

    volp软件部分分为两层:嵌入式操作系统和应用层软件。利用开放源代码的实时操作系统μclinux作为嵌入式操作系统,采用模块化设计,开发平台友好。根据功能需求,在应用层软件中包括语音包处理模块、电话信令网关模块、路由寻址模块和网络管理模块。

    2.1 硬件实现

    volp语音网关由主芯片、存储器、以太网接口、音频接口和i/0扩展电路等几部分组成,硬件框图如图2所示。

    

    (1)主芯片

    主芯片框图如图3所示。主芯片由tms320vc549dsp和arlm7tdmi双内核构成。

    

    arm7tdmi内核使用50 mhz主频和单周期精简指令,内建8 kb ram、dma控制器和中断控制器,并支持各种总线扩展。其内部的sim (system integrated module)单元集成了丰富的通用模块,包括2个异步串口,2个32位的计数器和以太网控制器等。

    ti公司的16位高速定点dsp tms320vc549,其处理速度高达100mips且功能十分强大,可支持所有高压缩/低时延编解码(g.711、g.729、g.729a和g.723.1),并完全支持回声抵消、语音状态检测、静音压缩、抖动缓冲和舒适噪音产生等功能,保证统一、高质量的语音交互。

    本硬件设计采用双内核结构,使voip语音网关在功耗和应用的复杂度之间建立了良好的平衡。采用双内核的优势如下:

    ① 提高语音处理的实时性,避免传统单内核设计功耗太大的缺点。若全部工作都由arm7tdmi核来完成,负担过重,实时性能受到影响,将会造成语音质量下降,且限制了通信的会话路数,不能满足大量用户通信的要求。现由dsp处理器完成实时的语音信号压缩、dtmf信号的检测与产生、回波消除等工作,既减轻了arm核的负担,同时又提供了多个话路,降低了功耗,使网关为多用户提供服务成为可能。

    ② 实现复杂的系统功能。采用32位arm核作为控制管理中心,能稳定的运行嵌入式实时操作系统,能支持各种网络协议栈如tcp/ip,使语音数据能够在网络中有效地传输。

    (2)存储器

    系统包括1片8 mb的flash,用于存储嵌入式实时操作系统内核和应用程序代码的压缩文件,还有1片512kb的sdram。系统启动时,arm核将flash中的压缩文件调入sdram进行解压