当前位置:首页 > 电源 > 数字电源
[导读]传统的工厂生产线调度系统通信都是通过有线电话实现的。这种有线连接方式存在着无法满足移动通信需求,线缆设施易受损,且布设和维护成本高等诸多问题。基于IEEE 802.11协议的无线局域网接入技术拥有广泛的应用基础,

传统的工厂生产线调度系统通信都是通过有线电话实现的。这种有线连接方式存在着无法满足移动通信需求,线缆设施易受损,且布设和维护成本高等诸多问题。基于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路由协议实现了多跳的功能。经过三台终端的联合测试,多跳通话可以保证良好的语音效果。

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

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭