当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]一种具有多跳功能的无线VoIP终端设计

传统的工厂生产线调度系统通信都是通过有线电话实现的。这种有线连接方式存在着无法满足移动通信需求,线缆设施易受损,且布设和维护成本高等诸多问题。基于IEEE 802.11协议的无线局域网接入技术拥有广泛的应用基础,具有传输速率快,覆盖范围广等突出优势,可以很好地解决这些问题。

为了能在基于IEEE 802.11协议的无线局域网上实现语音通信目的,必须采用无线VoIP(Voice overIP)技术。考虑到一般工厂的通信范围为l km左右,目前采用基于IEEE 802.11的技术,在空旷地带的传输距离只有大约200 m,因此考虑采用多跳的方式增加通信的覆盖范围。本文提出了一种基于IEEE 802.11协议的无线VoIP终端设计方案,并通过在嵌入式终端上实现Ad Hoc路由协议AODV(Ad hoc On-demand Distance Vector,按需距离矢量路由协议),使终端具有了多跳通话功能。

1 相关技术及协议

1.1 VoIP

VoIP是利用IP网络实现语音通信的一种先进通信手段,是基于IP网络的语音传输技术。其基本原理是利用电话网关服务器之类的设备将电话语音数字化,将数据压缩后打包成数据包,然后把这些语音数据按IP等相关协议进行打包并通过IP网络把数据包传输到目的地,目的地收到这一串数据包后,将数据重组、解压缩后再还原成原来的语音信号,这样就达到了通过网络传送语音的目的。

采用VoIP技术进行语音传输的最大优势在于能够以报文的形式传递音频数据,不占用固定信道,并且采用了先进的数字信号处理技术,以降低数据量,可以将传统的64 Kb/s语音信号压缩成6~8 Kb/s,从而有效地节省了带宽,同时由于不需要单独建立通信网络,大大降低了通信费用。

1.2 IEEE 802.11无线技术

IEEE 802.11是由IEEE定义的无线网络通信工业标准,目前主流的IEEE 802.11协议主要有IEEE 802.11a,IEEE 802.11b和IEEE 802.11g。IEEE 802.1la工作于5 GHz频段,使用正交频分复用(OFDM)调制技术作为传输方案,支持6~54 Mb/s的传输速率,802.11a的优势在于传输速率快(最高达54 Mb/s)且干扰少,但价格相对较高。IEEE 802.11b工作于2.4 GHz频段,使用补码键控(CCK)调制和直序列调频(DSSS)技术,支持1~11 Mb/s的传输速率,802.11b的优势在于价格低廉,但速率较低(最高为11 Mb/s)。IEEE 802.11g构建在已有的IEEE 802.11b物理层与介质访问控制层标准基础上,同样选择2.4 GHz作为工作频段,由于采用了OFDM调制技术,可实现最高54 Mb/s的传输数率。由于其仍然工作在2.4 GHz频段,并且保留了IEEE 802.11b所采用的CCK技术,可与IEEE 802.11b的产品保持兼容。

1.3 AODV路由协议

AODV是一种基于距离矢量的按需路由算法,是专为移动Ad Hoc网络设计的路由协议,它的处理过程简单,路由开销以及存储开销都较小,能对链路状态的变化做出快速反应,并通过在控制报文中引入序列号,确保在任何时候都不会形成路由环。由于AODV路由协议性能优越,且实现复杂度低,被IETF(InternetEngineering Task Force)的MANET工作组认为是无线自组网最好的候选路由协议之一。因此,本设计采用AODV作为路由协议的实现方案。

2 终端硬件设计

终端的硬件架构如图1所示,采用英飞凌公司的高速率ADM5120嵌入式微处理器作为主要器件,同时在终端集成了存储器模块、语音处理模块、FXS连接模块、IEEE 802.11b/g无线模块等共同构建终端的硬件平台。


(1)处理器ADM5120

ADM5120是一种基于MIPS构架的高度集成、高度灵活的SoC处理器,内置了MIPS 32内核,工作主频最高可达175 MHz,内部集成了8 KB指令缓存和8 KB数据缓存,对外提供8/16位的LOCAL BUS(支持标准的ROM/FLASH接口)、32位的SDRAM接口,1路UART接口。ADM5120内部还集成了1个Switch引擎、5路10/100 Mb/s的PHY芯片,可对外提供5个10/100 Mb/s的以太网接口。ADM5120是终端通信控制和管理的核心,主要用于完成操作系统的运行、资源的管理和分配、与各个模块的接口和通信等功能。

(2)语音处理模块

采用了高性能的DSP(VINETIC-2CPE),具有很强大的数字信号处理能力。用于完成处理模拟电话信号,语音压缩包,并提供实时压缩包的缓冲,自适应回声抵消,静音检测,DTMF信号产生、译码等功能,且不需要另外的存储单元。

(3)FXS连接模块

终端通过一个带有DC/DC转换功能的SLIC-DC芯片连接模拟电话线路。通信过程中,模拟话音信号通过RJ-11电话接口经SLIC和CODEC电路转换后,将产生的PCM流送到语音处理模块中进行处理。SLIC即用户线接口电路,主要完成用户状态检测和语音信号输入输出。它能够检测电话为挂机状态还是摘机状态,并产生高电压驱动振铃。CODEC(编解码电路)由ADC与DAC电路构成。ADC将模拟电话中的模拟信号转换为可通过’VoIP网络传输的数字信号。DAC将数字信号转换为模拟电平,以驱动模拟电话。

(4)IEEE 802.11b/g无线模块

IEEE 802.11b/g无线模块实现空中无线接口,完成无线局域网的接入功能。终端提供一个MiniPCI接口,采用的是美国Atheros公司AR2413芯片组的无线网卡WMIA-165G,支持IEEE 802.11b/g标准,可提供54 Mb/s高速无线连接。

3 终端软件设计

终端采用了主流的嵌入式Linux操作系统,Linux具有源码开放,稳定性与安全性较高,移植和扩展能力较好的特点。如图2所示,采用模块化的设计思想对终端软件进行设计。


硬件驱动层:主要功能是实现对IEEE 802.11b/g无线模块、DSP芯片、以太网接口及串口等底层硬件设备的驱动控制。针对终端的无线网卡类型,IEEE 802.11b/g无线模块中采用了madwifi(Multiband Atheros Driverfor wifi)驱动。madwifi是为Atheros系列芯片IEEE802.11a/b/g无线网卡在Linux系统下实现的驱动程序。

Linux内核层:为语音数据的压缩处理和语音包的实时传输提供了保证。TCP/IP协议软件栈提供了对TCP/IP的支持,考虑到语音数据的实时性要求,终端的语音传输采用UDP方式实现。建立在UDP之上的RTP协议用于保障数据流的实时可靠传输。语音处理模块提供了对G.723等音频编解码软件的支持。在网络协议栈中包括了实现多跳通话功能的AODV路由协议。

应用程序层:包括电话应用程序接口TAPI(Telephony Application Program Interface)3.0和Web服务器两部分。TAPI 3.0集成了传统电话的媒体流控制功能,并封装了对底层电话硬件进行操作的功能,通过将呼叫控制的功能抽象出来,达到屏蔽不同的、不兼容的通信协议的目的。通过TAPI 3.0,的编程接口可以方便地自定义信令协议,完成点对点的拨号过程。同时为了便于使用,在终端中植入了一个支持CGI的、非常适合于嵌入式系统的Boa Web Server,使用户可以通过Web页面的用户接口输入参数来配置终端的参数。[!--empirenews.page--]

3.1 无线模块驱动编译

所有的Atheros芯片无线网卡基本都可以使用madwifi驱动,驱动程序源码madwifi-0.9.4.tar.gz可以从http://madwifi.org/上下载。在进行无线模块驱动开发时,首先要配置并编译Linux内核,使其支持MiniPCI网卡,然后针对终端环境修改madwifi-0.9.4目录下的Makefile,再使用make命令进行编译,生成适用于MIPS的驱动程序模块,并使用insmod命令将模块在终端的Linux中进行加载。加载成功后,用Linux下的无线局域网工具命令iwconfig对无线网卡进行配置,注意配置时要将无线网卡的工作模式设定成为Ad Hoc模式。

./wlanconfig ath0 destroy

./wlanconfig ath0 create wlandev wifi0 wlanmode adhoc

3.2 AODV路由协议的实现

Linux操作系统的内核并不直接支持按需路由,因此要实现AODV路由协议需要对操作系统进行相应的扩充和修改。

Linux操作系统的路由体系结构按功能可分为转发功能模块和路由功能模块,可以在转发功能模块保持不变的情况下,通过修改路由功能模块,实现不同的路由协议。转发功能在Linux内核中实现,根据需要发送的数据分组目的地址;查找路由表,按照最长前缀匹配原则寻找与目的地址匹配的表项,如果找到匹配项,则将数据分组发送到相应的网络接口;否则就丢弃该分组。路由功能模块作为后台进程在用户空间运行,主要负责与其他网络节点进行信息交流,采用适当的路由算法建立路由,更新和维护内核路由表。

目前发布的针对AODV协议的实现方案中多数协议的实现都采用了Netfilter功能框架。Netfilter是Linux核心中的一个通用架构,用于实现数据包过滤、状态保持、NAT以及安全等多种网络功能。Netfilter结构提供了一系列的“列表”(tables),每个列表由若干个“链”(chains)组成,而每条链中又可以有一条或数条规则(rules)进行规范,规则的定义采用“如果数据包头符合这样的条件,就这样处理该数据包”。当一个数据包到达一个链时,系统就会从第一条规则开始查看是否符合该规则所定义的条件。如果满足,系统将根据该条规则所定义的方法处理该数据包;否则,继续检查下一条规则。如果该数据包不符合该链中任何一条规则的定义,系统就会根据该链的缺省策略处理该报文。

Linux在内核2.4版本以上的系统中提供了五个hook注册点,这些hook点处在数据分组流经协议栈的几个关键位置,用户可以在这些位置注册自己定义的操作函数,流经hook点的数据分组将执行函数的操作。如图3所示,Netfilter便由处于Linux协议栈中的五个hook函数组成。


在AODV协议的实现过程中,Netfilter的配置是协议正常运行的前提,需要在内核中注册hook函数,但并不是所有的Linux系统都默认启用Netfilter,因此需要在内核配置选项中进行配置并编译进内核。进入Linux内核源代码安装目录,输入make manuconfig命令进入内核配置主菜单,通过空格键选择:

Networking options-->[*]Network packet filtering(replaces ipchains)
IP:Netfilter Configuration--><*>Userspaee queueing via NETLINK

4 结语

结合IEEE 802.11无线技术和VoIP技术的优势,采用了高性能的微处理器ADM5120和功能稳定强大的嵌入式Linux操作系统作为软件平台,构建了一个基于IEEE 802.11b/g技术的无线VoIP便携式终端。通过在终端的系统上加载AODV路由协议实现了多跳的功能。经过三台终端的联合测试,多跳通话可以保证良好的语音效果。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭