微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于ARM的局域网IP电话设计

基于ARM的局域网IP电话设计

时间:05-11 来源:C114通信 点击:
由于计算机网络技术发展与更新比PBX快,设备价格降幅大,建立一个以Internet(或Intranet)为基础的IP电话网络,以替代传统电话设备系统成为企业的目标。

局域网IP电话

局域网IP电话使用统一的网络通信设备和布线来传输话音和数据。 在传统的PBX (专用小交换机)系统中,话音呼叫通过与办公PBX连接的一系列标准话音线路进入办公室,即通过一种专用设备在标准的电话配线上接收和疏导话音业务量。然而在LAN电话话音网络中,话音呼叫通过基于IP的PBX进行接收和疏导,而这种IP PBX是与现有的数据网络连接的。IPPBX可以是一种独立的解决方案,也可以分解为几种分散的装置。具体功能框图如图1所示。

该IP电话的主要优点:

·可方便的移动和增加终端设备;

·支持多媒体终端;

·有利于发展计算机电话集成技术;


图1 局域网IP电话功能模块图


图2 AT75C220的结构框图


图3 IP话机构造图

硬件平台

通常硬件的基本设计要求是:高密度、低功耗和低成本。而VoIP的许多性能都对应特定的应用需求,诸如:(1)系统分割,包括分组数据包集合和路由;(2)定义产品功能的软件性能;(3)满足高可用性的网络管理能力。

LAN电话产品工作在纯IP方式下,所以话机在接入广域网后,在网络管理方面应该是兼容的。本方案的VoIP话机是一种网关下移的终端产品,无需通过网关就可将此设备直接接入以太网中,配置好相关的地址信息就可以使用。 它的开发基于Atmel公司的AT75C220开发板。AT75C220是专为各种因特网应用而设计的高性能处理器芯片。它的核心部件-ARM7TDMI微处理器运行能力为40MIPS,专门用于话音处理的OakDSPCore协处理器(图2中的话音处理芯片),运行能力可达60MIPS。两者之间信息的交互采用高效的双端口mailbox机制。这就决定了AT75C220能综合通用CPU的控制功能和专用CPU的信息处理功能,提高了系统的集成度,同时ARM处理器的操作指令比较简单,降低了开发的复杂度。

AT75C220开发板除了具备用于连接计算机的标准串行接口和连接电话手柄的RJ11接口外,还有两个标准RJ45以太网接口用于连接网守。ARM7TDMI核心处理器控制整个VoIP话机的运行,并提供通用I/O接口用于连接拨号键盘、液晶显示器和振铃电路。AT75C220的结构框图如图2所示。

AT75C220开发板上装有存储应用程序的闪存(flash)。计算机利用超级终端程序通过开发板上的串行接口可以与AT75C220芯片进行信息交互,实现对flash的应用程序编程和其它软件管理功能。开发AT75C220应用软件的PC机必须启动运行siap-mClinux操作系统。应用程序开发完毕后,通过220software set提供的工具将包含应用程序及操作系统内核的img文件下载到220开发板上的flash中,最终完成系统的开发。

VoIP话机的构造如图3所示。其用户接口部分与普通话机无异,显示器用来显示相关的信息,如发起呼叫时所拨的号码、来电显示等。此外,VoIP话机可以由串行口与个人数字助理(PDA)设备相连,实现软件升级、自动拨号等功能。话音接口的功能是实现话音模拟信号与标准64Kbit/s PCM信号之间的相互转换。网络接口负责话音分组的发送和接收以及各种呼叫信令的交换。VoIP话机通过RJ45插头与局域网上的网守相连。



软件实现

该实现依赖于网络协议栈和实时操作系统(RTOS)。多数应用系统需要RTOS以便同时处理多个流程和呼叫。 采用的RTOS应具有以下特点以满足通信协议的复杂性:系统内核小;中断处理时间短;连续运行时间长;多个毫秒级或微秒级定时器的处理能力。ARM-mClinux是非常优秀的嵌入式实时操作系统,它提供了多种用于实时系统开发、调试、和运行的功能,如多任务机制、内核可裁剪、网络功能、实存储器管理策略等。同时,Linux的内核源代码是完全公开的,这对降低开发成本、提高软件开发的复用度等方面无疑是十分有利的。

对于网络协议栈,本方案采用标准的H.323协议栈,以便与公网进行互连。从TCP/IP的分层观点来看,H.323是一个应用层协议族,它包含了适用于各种媒体通信和信令控制的协议,建立的基础是TCP或者UDP协议。根据实际的使用需求,本文重点讨论的协议有语音编码方面的G.723.1、G.711等和呼叫控制信令H.225和H.245等。在CPU的正常设计能力下,系统所有的进程将会阻塞在各自的消息队列中,只有处于最低的IDLE进程处于运行状态,消息队列中消息总数处于比较低的数量水平。增加进程可能要增加共用的数据区和内部消息,相应的还要引入复杂的管理机制。 [Page]

基于上述软件要求,该VoIP话机要能与符合H.323标准的网关和网守互通,并实现VoIP话机与VoIP话机及VoIP话机与网关所带的普通话机之间的话音通信功能。此外,VoIP话机还应具备一定的录音与重放能力。

对于IP话机而言,主要软件实现在话机和网守的通信以及话机之间的互通,其呼叫流程如图4。

上述过程的通道实现机制是TCP或UDP。IP话机在成功登录到网守后,其接续过程完全类似于普通话机之间的接续,摘机后向网守发"呼叫请求"(udp),网守收到后发"是否运行主叫拨号"(tcp),如果不允许的话,提示挂机;若允许的话,主叫在收到拨号音后开始拨号,向网守送"拨号信息"报文(tcp),网守向主叫发送"被叫空闲信息"报文(tcp),然后是分别向主叫和被叫送回铃音和振铃音。等待被叫摘机后,被叫向网守送"被叫摘机"报文(udp),网守向被叫送"停止振铃"(tcp), 网守向主叫送"被叫摘机"报文(tcp),进入通话(udp)状态。有关话音的处理要涉及到220话音处理模块。

网关向网守发送的报文:不管是高层用户端向网守发送的登录报文,还是IP话机或交换机侧向网守发送的呼叫处理报文,都会先放置在名为mqRecvBottom的消息队列中,然后根据报文所采用的传送方式发往以下三个队列:信令的TCP传送_mqSendTCP;信令的UDP传送_mqSendUDP;话音传送_mqSendData(可以通过网守转发,也可以直接在两个网关之间发送),然后再通过socket发送出去。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top