VoWLAN语音终端开发设计
1 引言 1.1 VoWLAN概述 VoWLAN是WLAN的新兴应用之一。VoIP通过数据网络传输语音信号;WLAN(无线局域网),通过无线接入点进行无线上网。VoWLAN可以说是这两者的有机结合,它可以利用现有的WLAN网络实现无线的VoIP通话能力,企业员工通过VoWLAN可在办公场所以外的地方随时语音通信、访问E-mail和其他已接入的网络资源,这样提高了网络资源的利用率并降低了通话的成本,从而节省企业的总体IT费用。对于住宅用户也可以通过与宽带802.11无线网络相连的VoIP电话来降低话费。VoWLAN系统的数据流如下:通过接入点AP (Access Point)把语音信号传输到VoIP网关,该网关可以就是原来的有线VoIP网关,这样语音数据在IP网络和PBX(交换机)之间传输。这种方式使得传统有线办公和住宅电话的功能都能在VoWLAN中实现,而运营商只需要增加语音网关、计费系统等设备,就可为其WLAN热点提供VoWLAN应用,实现数据通信与语音通信的高效结合。 1.2 SIP概述 目前VoIP涉及的基本通信协议主要有三种:H323协议、SIP协议和MGCP协议。SIP称为会话发起协议(Session Initiation Protocol),是Internet工程任务组(IETF)提出的建议中的一项协议。与H.323协议比较,SIP协议侧重于将IP电话作为因特网上的一个应用,较其实应用(如FTP,E-mail等)增加了信令和QoS的要求,它们支持的业务基本相同,也都利用RTP作为媒体传输的协议;SIP是基于文本的协议,类似于HTTP。基于文本的编码意味着头域的含义是一目了然的,如From、To、Subject等域名。这种分布式、几乎不需要复杂的文档说明的标准规范风格,其优越性已在过去的实践中得到了充分的证明(现在广为流行的邮件协议SMTP就是 这样的一个例子)。SIP的消息体部份采用SDP进行描述,SDP中的每一项格式为’=’号,也比较简单;SIP很方便地支持补充业务或智能业务,只要充分利用SIP已定义的头域,并对SIP进行简单的扩展,就可以实现这些业务。例如对于呼叫转移,只要在BYE请求消息中添加Contact头域,加入意欲转至的第三方地址就可以实现此业务。对于通过扩展头域较难实现的一些智能业务,可在体系结构中增加业务代理,提供一些补充服务或与智能网设备的接口;SIP协议借鉴了因特网的标准和协议的设计思想,在风格上遵循因特网一贯坚持的简练、开放、兼容和可扩展等原则,比较简单。 2 系统的硬件设计 2.1中央 中央MCU采用UBICOM公司的IP2022网络处理器。它是专为 Internet-edge(网际边缘)设计的微处理器。其主要特点:通过软件来处理协议, 而不是用硬件逻辑来实现协议,降低了 chip 的复杂性;对到达的 packet,使用 memory-to-memory 的操作,而不需要大容量,昂贵的on-chip caches(高速缓冲存储器),以及 packet buffers;简洁设计的 real-time operating system,没有memory-hungry requirement;Designer可以通过设计 software 来实现各种 Internet-edge 应用;IP2022 的 Memory 分为 on-chip 与 off-chip 两个部分,采用的是Harvard architecture,分离的 data 与 code memories;4k bytes on-chip data memory、64k bytes 的 on-chip flash memory、16k bytes 的 on-chip PRAM、外部的 memory、extra flash memory,用来放更多的code,比如embedded web server 的code可以放在外部的 flash中,也包括一些dll functions。以及online firmware upgrades。SRAM,是用来拓展PRAM 空间来用的,比如可以在SRAM 中buffer packets。 2.2 语音模块 本模块采用的是TLV320AIC10。TLV320AIC10是TI公司近年新推出的低功耗∑-Δ型16位A/D、D/A音频接口(AIC)芯片。它由5个控制寄存器控制。其中,控制寄存器1:软件复位,DAC的16位或15+1位模式选择以及抗混叠滤波器、抽样滤波器、插值滤波器使能/旁路选择。控制寄存器2:决定工作方式和采样速率。低功耗模式控制,分频寄存器控制(决定滤波器的时钟频率和取样周期)。控制寄存器3:软件关电,模拟及数字信号反馈和事件控制模式选择;ADC的16位或15+1位模式选择。控制寄存器4:输入输出增益控制(通过控制输入和输出可编程增益放大器来实现)。AIC的初始化主要就是对这4个寄存器参数进行设定。该器件与单片机接口易于实现,开发和使用更加方便。尤其适合应用于低比特率、高性能密集设备的话音传输、识别及合成等的各种VoIP、电缆调制解调器、语音和电话领域。 2.3网络模块 无线接收发送模块选用的是CF无线网卡插槽。CF卡(CompactFlash)是1994年SanDisk推出的一种闪存卡。CF卡具有PCMCIA-ATA功能,并与之兼容,CF卡采用闪存(flash)技术,是一种稳定的存储解决方案,不需要电池来维持其中存储的数据。对所有保存的数据来说,CF卡比传统的磁盘驱动器安全性和保护性都更高,而且CF卡的用电量仅为小型磁盘驱动器的5%。这些优异的条件使得大多数PDA用网络设备都选择CF卡作为其首选接口。 本系统无线接收发送模块选用的是WL-672F CF无线网络适配器。该无线网络适配器为CompactFlashⅠ型适配器,可与配有Ⅱ型插槽的终端一起使用。使用该适配器,在移动使用PDA进行工作时,收发E-MAIL及访问服务器数据时,都可使之保持连接。其使用信用卡式设计,提供集成天线,可以和所有符合IEEE802.11b(DSSS)2.4GHz标准的无线网络设备进行交互式操作,也可以通过AP与有线以太网进行交互式操作,支持Ad-Hoc以及Infrastructure通讯方式,使用128-bit的WEP加密方式以保证网络的安全。 [align=center] 图1 VoWLAN语音终端的硬件框架图[/align] 建立连接后用户的模拟话音通过AIC10的AURXFP、AURXM、AURXCP输入,将模拟信号进行A/D转换形成数字信号流后传至编码模块。编码模块中的DSP根据系统要求将语音数据压缩,压缩后放入DOUT的寄存器中。 在接收语音数据时,在TLV320AIC10的帧同步FS为低电平,转换时钟信号SCLK的上升沿时,系统处理器将语音数据通过DIN送入AIC10进行解压缩,形成64Kbps的PCM码流,送入D/A进行数模转换,最后由AIC10的OUTP和OUTM输出模拟语音。 3 VoWLAN的软件设计 系统软件是基于SIP协议栈的基础上实现的。由于SIP协议栈采用模块化设计思想,因此,系统软件可以直接调用协议栈各模块提供的API。软件应用模块的消息获取线程是实时获取协议栈处理的结果(以消息或事件的形式存储在协议栈消息队列中),并把它转换成系统应用的消息结构存放在应用模块的消息队列中。图2是软件应用模块的程序流程图。 [align=center] 图2软件应用程序流程图[/align] 图2中的“应用初始化”包括建立消息读取线程等;“SIP协议栈初始化”包括建立协议栈主线程、注册回调函数、协议栈模块的初始化及消息队列的建立等;“关机准备操作”首先进行注销操作,接着终止消息读取线程和协议栈主线程,释放软件应用模块和协议栈各模块占用的资源。 协议栈模块包含事务管理和对话管理这两模块,同样,软件应用模块也包含类似的管理功能,即“呼叫(call)管理”。呼叫管理的功能和协议栈模块中的对话管理功能类似,只是呼叫管理侧重于和用户交互,通过人机界面显示信息,提示用户当前呼叫的进度,引导用户执行进一步的操作。 呼叫有四种状态:“S_IDLE”、“S_PROGRESS”、“S_INCOMING” “S_CONNECTED”,它们之间的关系用一个有限状态机来描述,如图3。 [align=center] 图 3 呼叫管理有限状态机[/align] “S_IDLE”状态就是我们通常所说的待机状态。当用户拨打对方的SIP URI,协议栈通过发送INVITE请求消息,得到临时响应消息,呼叫就处于“S_PROGRESS”,图中箭头<1>表示该操作引起的状态切换。在“S_PROGRESS”状态,对方如果拒绝接受呼叫,状态又返回“S_IDLE”,如箭头<2>;当对方接受呼叫,就处于连接通话状态“S_CONNECTED”,如箭头<5>。在“S_IDLE”状态也可能收到对方的呼叫请求,当UA应用发现一个新的呼叫请求,就应当切换状态到“S_INCOMING”,如箭头<3>;同样,用户可以拒绝接受呼叫,状态切换回“S_IDLE”,如箭头<4>;当用户接受呼叫请求,呼叫状态就处于“S_CONNECTED”。在“S_CONNECTED”状态,通话双方任何一方的结束通话请求都会导致状态返回“S_IDLE”,结束通话。 4 结论 本终端成本价格低,目前已经能够注册到有关厂家的SIP测试平台,并可以完成基本会话功能;同时,在LAN中可以以静态IP的方式注册成功,并进行会话操作。 创新点 SIP/SDP信令协议的VoWLAN终端嵌入式开发使用;USER Agent在VoWLAN终端的嵌入实现;实现VoWLAN终端对PC、VoWLAN终端对VoWLAN等终端、VoWLAN终端对PSTN的通话。 参考文献 1. 吕京建等,嵌入式系统设计综述,单片机公共实验室,2001 2. 王瑞刚,李燕。IP电话终端设备——原理、电路及应用. 西安:电子科技大学出版社,2003 3. Zhang Y. SIP-based VoIP network and its interworking with PSTN. Electronics & Communication Engineering Journal, 2002. 273~282. 4. Goode B. Voice over Internet protocol (VoIP). Proc. of the IEEE, 2002 5. IP2022 Internet Processor User Manual http://www.ubicom.com 6. TLV320AIC10 Data Sheet. http://218.19.77.199:8001/download.php 7. 咸廷伟 ,孙仁祥 ,毛琦。基于MPLS(多协议标记交换技术)的IP QoS应用.微计算机信息,2003,(08)