当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于ARM的局域网IP电话设计

摘   要: 本文从应用角度提出了一种新的局域网IP电话的软硬件设计方案,即以AT75C220开发板作为硬件平台,在mClinux操作系统下采用H.323协议栈开发局域网IP电话终端,并对实现中的关键问题列举了一些高效的处理方法。
关键词: IP电话;网关;实时操作系统;高级精简指令集计算机;

  前言

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

  局域网IP电话

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


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

  该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所示。


图2 AT75C220的结构框图

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

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


图3  IP话机构造图

  软件实现

  该实现依赖于网络协议栈和实时操作系统(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进程处于运行状态,消息队列中消息总数处于比较低的数量水平。增加进程可能要增加共用的数据区和内部消息,相应的还要引入复杂的管理机制。

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

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


图4  H.323呼叫信令流程

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

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

  几个关键问题的解决

  摘挂机检测与号盘号码接收

  AT75C220提供若干用户自定义的通用I/O接口。只需通过一定的硬件连接和软件编程,就可以实现摘挂机状态的检测与用户所拨号码的接收。

  来话振铃

  AT75C220内部寄存器中有专门指示有无来话的比特位。应用软件定期检测该比特,一旦发现有来话,立即通过某一个事先编程确定的通用I/O口送出振铃指示信号,该信号可作为振铃电路的使能信号。

  话音处理模块

  话音处理的功能均由ARM7TDMI控制OakDSPCore共同完成。

  在进行IP通话时,将模拟前端电路送来的64Kbit/s PCM数字话音信号进行压缩,送至网络接口模块;同时将网络接口模块送来的压缩话音信号进行解压,形成64Kbit/s PCM数字话音信号送至模拟前端。

  通过对OakDSPCore的灵活编程,VoIP话机可以方便地实现语音留言的录音和回放功能。

  在用户从号盘拨号时,通过编程启动OakDSPCore的DTMF信号发生器功能,在用户听筒里产生相应的双音多频信号。如果需要,该DTMF信号还可以象话音信号一样经压缩编码后发送出去。

  话音压缩和解压采用G.723.1算法。为了执行有效的语音压缩,必须考虑很多重要的因素。首先,当所有通道都工作时,必须确保性能没有任何下降。数据包必须是可配置的,以确保最大的灵活性。此外,本课题采用的G.723.1算法采用了话音激活检测技术,VAD技术是自适应增益控制的基础,能进一步实现带宽。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

物联网正在扩大规模并加速发展,进而驱动着全新的经济。而Arm生态系统正是这一巨大机遇背后的推动力。

关键字: ARM 物联网

ARM公司是一家知识产权(IP)供应商,它与一般的半导体公司最大的不同就是不制造芯片且不向终端用户出售芯片,而是通过转让设计方案,由合作伙伴生产出各具特色的芯片。

关键字: ARM

2018年10月26日,深圳星河丽思卡尔顿酒店,ARM中国CEO吴雄昂在ARM年度技术论坛上对记者如是说,彼时的吴坚定,温雅,意气风发。时隔两年,ARM中国CEO吴雄昂再次回到媒体视线,这一次,ARM中国与来自投资方和剑...

关键字: ARM 芯片 集成电路

喜欢折腾主机的小伙伴一定都知道X86和ARM架构的区别,前者在PC领域已经统治了几十年;后者则主要应用于移动领域,尤其是近几年,ARM的产品在终端应用特别是手持终端应用飞速发展。

关键字: 国产 ARM 主机

科技公司们认为,收购将使英伟达控制一个重要的供应商,该供应商向苹果、英特尔、三星电子、亚马逊和华为等公司授权基本的芯片技术,同时也向不计其数的中小技术企业提供授权。总部位于英国的ARM公司将芯片设计和相关软件代码授权给所...

关键字: 英伟达 ARM 半导体公司

在去年九月,英伟达宣布以400亿美金收购ARM时,就注定这场收购不会太顺利。因为一旦ARM成功被英伟达收购,这将使ARM改变在全球半导体市场中的中立立场,因为ARM的很多客户,都是英伟达的直接或者间接的对手。除此之外,还...

关键字: 英伟达 ARM 半导体

以下内容中,小编将对工控主板的相关内容进行着重介绍和阐述,希望本文能帮您增进对工控主板的了解,和小编一起来看看吧。

关键字: ARM 工控主板 主板

在这篇文章中,小编将为大家带来工控主板的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: ARM 工控主板 主板

今年8月份公布的财报显示,软银公司报亏3.16万亿日元(约合1644亿元人民币),比上一季度的2.1万亿日元亏损额继续扩大,这意味着软银连续第二个季度创下有史以来最大的季度亏损。

关键字: ARM 软银集团 NVIDIA

据业内消息,ARM公司称已准备进行公开上市,新的首席财务官Jason·Child已经上任。

关键字: ARM CFO

嵌入式软件

15715 篇文章

关注

发布文章

编辑精选

技术子站

关闭