APP下载

基于Ad hoc的Wi-Fi直连USB接口驱动设计方法

2013-11-13周雪燕郭改文

中州大学学报 2013年4期
关键词:描述符数据包无线网络

周雪燕,郭改文,赵 冰

(1.中原工学院计算机学院,郑州450007;2.河南教育学院信息工程系,郑州450002;3.中州大学 学报编辑部,郑州450044)

1.接口驱动模型设计

1.1 设计思想

Ad hoc网络是一种点对点连接,不需要有线网络和接入点的支持,以无线网卡连接的终端设备之间可以直接通信。而传统的基础设施网络中,无线终端通过接入点(Access Point,AP)访问骨干网上的设备。为实现Ad hoc网络与传统的基础设施网络之间互联,大都通过多个BSS(Basic Service Set)互联组成一个无线局域网以实现扩展更大的覆盖范围。在Ad hoc网络的点对点拓扑结构中,至少需要包含两个STA(Station)。Ad hoc网络中各STA地位平等,且能直接通信,网络中的STA可访问同一BSS中其它STA的资源。基于上述原理设计本方案。

1.2 驱动模型

基于Ad hoc的Wi-Fi直连USB接口驱动的模型如图1所示。

图1 驱动实现模型

1.3 MAC帧格式设计

鉴于无线网络使用的信道和带宽有限,为了使基于Ad hoc的Wi-Fi直连USB接口驱动能够满足无线网络实际,笔者按照MAC协议规定的时序分配媒体访问规则,进而可以提供异步数据服务、安全服务和媒体访问控制服务数据单元(MAC Service Data Unit,MSDU)排序。由于这些服务都依赖于基本数据帧的创建和传输,同时本文中的各个STA(Station)必须创建数据帧,并且根据标准帧格式解码所接收的数据帧,本文采用的MAC帧格式如图2所示。

1.4 USB数据包格式设计

在基于Ad hoc的Wi-Fi直连USB接口驱动设计方案中的USB数据包包括令牌包、数据包和握手包3种信息包,这三类数据包均包含同步字符字段、相应包数据和包结束(End Of Packet,EOP)。令牌包(Token)应用定义传输类型,表示事务处理开始;数据包(Data)用于表征传输的数据,端点和传输类型确定其数据量大小,最大为1024个字节,数据包格式如图3所示;握手包(Handshake)用于接收方反馈给发送方明确此次数据传输是否成功。

图2 MAC帧格式

图3 数据包格式

其中:同步域(SYNC)用于数据通信的同步,包标识域(PID)指明信息包的类型,也可用来进行差错控制,地址域(ADDR)指明USB总线上的一个USB设备,端点域(ENDP)指明USB的端点,帧号域(FRAM)指明当前帧的帧号,数据域(DATA)包含传输的数据,校验域(CRC)用于循环冗余校验。

主机和设备之间遵循的特定USB设备请求命令格式。所有的USB设备在设备缺省控制通道(EPO)处对主机的请求发出响应。标准的USB描述符集主要包括设备描述符、配置描述符、接口描述符、端点描述符、字符串描述符(可选)、设备限定描述符和其他速率配置描述符等[2],其中最后两个描述符用于高速USB设备。

2.WI-FI直连方案设计

IEEE802.11的MAC层协议定义了STA的扫描、接入、安全认证、能源管理等方面的内容[1]。基于IEEE802.11的MAC层协议的以上内容,实现Wi-Fi直连。

2.1 设备发现

设备发现是发现Wi-Fi Direct设备并交换设备信息的机制。IEEE802.11的MAC层协议的STA的扫描功能主要实现接入一个无线网络,或者初始化、维护无线网络中的STA站点的功能,主要包括主动扫描和被动扫描两种模式[2]。通过扫描发现其他Wi-Fi设备并与之建立网络连接,与常规的STA扫描发现AP类似。

整个设备发现过程包括2个步骤[3]:

1、在快速的主动扫描模式下,STA工作站点主动发送一个探寻帧,等待Wi-FI Direct设备针对该探寻帧的响应帧;

2、当STA接收到应答消息之后,就会保存与上述被动扫描相似的标识信息(信标中包含有时间戳、信道容量、信标间隔、ESSID和业务指示表(Traffic Indication Map,TIM)等信息)和接入请求。

2.2 设备接入

无线局域网中的无线终端设备在完成扫描的过程之后,找到一个小组(这个小组是由一部Wi-FI Direct设备创建的)并加入。这部创建小组的Wi-FI Direct设备类似传统的无线AP,当有多个Wi-Fi Direct设备时,可以使用邀请机制邀请其他Wi-Fi Direct设备加入小组,通过设备发现,邀请机制,协商达到互连。

在小组创建时,可以创建为永久型小组,以方便将来的再次直接使用。用户发出打印请求,此小组即可启动,且无须重复输入WPS(Wi-Fi Protected Setup)的PIN码重新启动。由于整个启动过程需要使用邀请信号重新调用永久型小组,因此永久型小组的Wi-Fi Direct设备必须支持邀请机制。

整个设备接入过程包括以下2个步骤[4]:

1、接收到STA探询帧的Wi-FI Direct设备,发送探询响应帧;

2、Wi-FI Direct设备发送接入响应。

2.3 安全认证

安全认证可以确认授权(Authorized)用户并阻止非授权(unauthorized)接入网络,可以有效的提高无线网络安全性。共享密钥认证是一种相对比较复杂也比较安全的认证机制。

2.4 能源管理

能源管理的解决方案是采用 P2P-PS和P2P-WMM Power Save的机制。P2P规范引入投机节能(Opportunistic Power Save)机制与缺席通知(Notice of Absence)机制。缺席通知机制通报小组中的设备缺席情况,包括一次性或是定期性的缺席。当连接的所有Wi-Fi设备(或Wi-Fi Direct设备)休眠时,投机节能机制能够使管理该小组的Wi-Fi Direct设备也休眠。但是,这个设备定期进入可用状态,以维持发现功能。节能机制可结合使用,以实现休眠时间的最大化。不过,Wi-Fi Direct能源管理不适用于包含有传统设备的小组。

3.测试与分析

实验采用的是TLG09UB09无操作系统USB接口 WLAN 模块,符合 GB15629.11-2006、IEEE802.11 b/g国际标准。该模块提供了插针式USB 2.0接口。根据设计目的创建/加入基于IEEE802.11协议的Ad hoc网络,支持创建/加入基于私有协议的点对点传输网络。用ANSI C89标准的C语言编写驱动程序,不依赖任何系统调用,并能轻松移植(平台须支持C编译环境)。基于ARM920T内核,用RVCT2.0编译器编译,使用自带的-O2优化编译驱动代码和相应代码,如表1所示。

表1 Wi-Fi直连功能配置及其代码和数据

3.1 接口模块与USB打印机的连接

USB打印机在接入接口模块时的初始地址为0,接口模块会为其分配一个地址,每个设备都有一个独立的地址。USB打印机将设备描述符传送到接口模块,借口模块收到后会为设备分配一个空闲地址,同时向设备发送设置地址(Set Address)命令,作为对设置命令的应答,设备会通过地址0发送一个长度为0的数据包给接口模块,然后根据接口模块的要求更改自身的地址,并通过此新地址完成打印任务。

3.2 接口模块与主机的连接

当接口模块加载了特定的固件程序后,就可以实现模块内部的无线收发模块的高级接口协议通讯功能,通知这个接口协议可以使用该模块的无线通信功能,主要包括:

(1)扫描并唤醒已存在的直连接口模块。直连接口模块的能源管理采用P2P-PS和P2P-WMM Power Save的机制。

(2)连接到指定的直连USB接口模块。主机发送命令给直连USB接口模块,USB接口模块的固件执行命令初始化接入过程(包括身份识别及关联)。

(3)终止与直连USB模块的连接。主机在完成打印任务之后发送给接口模块的固件初始化鉴别断离过程,主机就终止与直连USB模块的连接。

直连接口模块中所有802.11MAC管理任务都由固件负责处理。在发送数据时,模块驱动将标准的802.11协议帧发送给固件,然后固件控制USB主机接口以USB协议数据发送出去。

3.3 主机打印机驱动安装

(1)打开主机的无线网络连接,刷新网络列表。接口模块加电时,会在无线网络连接窗口中显示某一USB打印机的描述符命名的网络名称(SSID)。且其网络模式为点对点(Ad hoc)模式。

(2)选择该选项进入下一步,输入网络密码。经过网络安全性认证后发现USB打印机并安装打印机驱动程序。

4.结束语

Wi-Fi Direct在没有热点网络的情况下提供了一种无线近距离传输的可能,给信息时代的百姓生活带来更大的便利。本文基于Ad hoc的Wi-Fi直连USB接口驱动使得无需接入传统网络就可以与其他设备直接连接、传输或共享数据,充分利用了Wi-Fi的性能、范围、无处不在、灵活性等优势。

[1]Youjin Kim,Haewon Jung,Hyeong Ho Lee,et al.MAC implementation for IEEE802.11 wireless LAN[J].ATM(ICATM 2001)and High Speed Intelligent Internet Symposium,2001.Joint 4th IEEE International Conference,2001:191-195.

[2]万婷婷.USB接口开发及功能实现[D].西安电子科技大学,2011.

[3]韩霜.基于Wi-Fi的无线传感器网络节点的设计及应用[D],北京邮电大学,2010.

[4]史阔.USB无线连接器的设计与实现[D].北京邮电大学,2010.

猜你喜欢

描述符数据包无线网络
二维隐蔽时间信道构建的研究*
时间触发卫星无线网络同步仿真研究
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
基于AKAZE的BOLD掩码描述符的匹配算法的研究
滤波器对无线网络中干扰问题的作用探讨
欧洲共同语言参考标准在中国高校学术英语写作教学适用性的研究:可理解性,可行性和有用性
无线网络信息安全技术及风险分析
基于深度学习的局部描述符
C#串口高效可靠的接收方案设计
基于信令分析的TD-LTE无线网络应用研究