《2022年嵌入式WiFi技术 .pdf》由会员分享,可在线阅读,更多相关《2022年嵌入式WiFi技术 .pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、嵌入式 WiFi 技术目前, IEEE802.11 无线局域网标准在语音通信、无线办公等领域广泛应用,但主要还是局限在 PC机、笔记本电脑等通用平台的无线通信。无线局域网在信息家电、工业控制、移动手持设备等嵌入式环境中的应用需求日益增多。如何在嵌入式系统中整合WLAN 宽带通信,成为嵌入式系统应用中的一个热点。1 IEEE802.11b无线局域网IEEE802.11 系列包括 IEEE802.11 、IEEE802.11a 、IEEE802.1lb 、IEEE802.1lg 四个标准。现阶段 IEEE802.11b 的产品比较多。本文主要针对IEEE802 1lb 标准,介绍嵌入式WiFi的实
2、现。IEEE802.11b 标准是在 IEEE802.11 的基础上发展起来的,工作在2.4 GHz 频段,采用CCK 调制技术,最高传输率能够达到11 Mbps ,具有部署方便、通信可靠、抗干扰能力强、成本低、灵活性好、移动性强、 高吞吐量等特点。它使得无线用户可以得到以太网级的网络性能、速率和可用性,并且可以无缝地将多种LAN 技术集成起来,形成一种能够最大限度地满足用户需求的网络。WiFi 是 Wireless Fidelity的缩写,专指IEEE802.11b 无线标准。在介绍 IEEE802.11b 的工作模式之前,首先介绍几个基本的概念。1.1 IEEE802.11b基本概念STA
3、 是指接入无线媒介的部分,常被称为网络适配器或者网络接口卡。STA 可以是移动的,也可以是固定的。每个STA 都支持鉴权 (authentication),取消鉴权 (deauthentication),加密和数据传输等。基本服务集BSS(Basic Service Set) 是 IEEES02.11b 局域网的基本构成单元,基本服务集中可以包含多个STA。BSS基本服务集都有一个覆盖范围。在该覆盖范围内基本服务集的成员STA 可以保持相互通信,每个BSS 有一个基本服务集识别码 BSSID。独立的基本服务集IBSS(Independent BSS)是最基本的IEEE802.11b 局域网类型
4、,一个最小的 IEEE802.11b 局域网可以仅仅包含两个STA。在这种模式下,STA 能够直接通信。因为这种类型的IEEES02.11b 局域网通常在需要的时候才安排,所以这种网络工作模式通常被称为 ad hoc( 拉丁语,可译为“ 自组网 ”)模式。站点 (STA) 与基本服务集 (BSS)之间的相互关系是动态的,STA 可以自由地开机、关机、进入或离开BSS覆盖范围。DSS(Distribution System Service),用于连接多个BSS。由于物理层覆盖范围的限制决定了所能支持的STA 与 STA 之间的直接通信距离。为了解决这个问题,引入DS(Distribution S
5、ystem) ,它可以把多个BSS构成一个扩展的网络。AP 是 Access Point 简称,一般翻译为“ 无线访问节点 ” 或“ 桥接器 ” 。主要在媒介访问控制层 MAC 中扮演无线工作站及有线局域网络的桥梁。ESS(Extended Service Set), DS 和多个 BSS允许 IEEE802.11 构成一个任意大小和复杂的无线网络。 IEEE802.11b 把这种网络称为扩展服务集网络。同样,ESS也有一个标识的名名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1
6、页,共 6 页 - - - - - - - - - 称,即 ESSID。1.2 IEEE802.11b的工作模式IEEE 802 1lb 有两种工作模式:Ad-hoe 和 Infra structure模式。 IEEE 标准以独立的基本服务集 (IBSS) 来定义 Ad-hoc 模式工作的客户端集合,以基本服务集(BSS)定义以Infrastructure模式工作的客户端集合。在 Ad-hoc 模式中,客户端不能直接和网络外其他的客户端通信。Ad-hoc 模式的设计目的是使在同一个频谱覆盖范围内的客户间能够互相通信。如果一个Adhoc 网络模式中的客户想要和该网络外的客户通信,则该网络中必须有
7、一个客户做网关并执行路由功能。而在 Infrastructure模式中,每一个客户将其通信报文发向AP.AP 转发所有的通信报文。这些报文可以是发往以太网的,也可以是发往无线网络的。这是一种整合以太网和无线网络架构的应用模式。 无线访问节点负责频段管理及漫游等指挥工作。一个 AP最多可连接1024个站点。2 嵌入式 WiFi的设计嵌入式 WiFi 的结构与标准PCOS平台上的实现有所不同。要在普通的微处理器微控制器上实现WiFi 通信,其硬件结构、软件层次都必须进行裁减。下面以Prism MAC 为例说明嵌入式 WiFi 的软、硬件设计。2.1 嵌入式 WiFi 的硬件设计嵌入式环境中WiFi
8、 的硬件接口如图1 所示。与标准平台相比,中间没有PCMCIA 桥。图1 是嵌入式环境中的PC2MCIA 接口的网卡与总线开放MCU 的连接。由于 Prism MAC 包括 Memory space和 IO memory 两个空间, 所以需要两个片选通过或门控制读写空间的选择。PCMCIA 封装的 Prism MAC 有 26 根地址线,驱动Prism MAC 仅仅需要地址线A0A9,其他地址线全部接地。对于总线不开放的处理器,可以使用I/O 口线模拟的方式进行读写。2.2 嵌入式 WiFi 的软件设计名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - -
9、 - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - 在 WinCE、Linux 等操作系统环境下,可以使用厂家提供的设备驱动来使用WiFi 网卡。这种系统一般对硬件资源(如 CPU性能、存储器容量等)有较高的要求。对于许多嵌入式应用,由于硬件资源的限制,很多系统都在简单OS(如 uC0S 等)或无 0S 的环境下运行,这时就需要对整个软件协议作适当的裁减。图2 是嵌入式WiFi 的软件结构。图 2 中, TCPIP 协议的实现在许多文章中已经有较多的讲述。这里主要以Prism MAC为例,介绍无限网络驱动,即嵌入式WiFi
10、 的驱动。Prism MAC 提供给用户一组接口寄存器,通过这些寄存器和Prism MAC 进行通信。这些寄存器位于Attribute Memory2空间中,可以使用AttribLlte Memory地址直接访问。表1列出了 PRISM MAC 的常用寄存器及其定义。为了读写这些寄存器,定义了两个函数:unsigned int getReg(unsigned int reg)和 void selReg(unsigned int reg,usnigned int val)。Prism MAC 驱动就是向命令寄存器发命令来操作MAC。常用的命令有分配 buffer 、查询网卡状态、初始化网卡、读数
11、据、写数据等。Prism MAC 驱动程序需要为上层提供MAC 的读写函数和一些控制函数,实现的函数原型如下:void init_mac(void) void reset_mac(void) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 6 页 - - - - - - - - - WORD wc_write(WORD*buff,WORD len) WORDwc_read(WORD*buff,WORDmaxlen) B00L get_wlan(void) reset_ma
12、c(void)用于在系统启动或者系统需要复位时,复位Prism MAC ,同时对驱动使用的变量进行初始化。inh_mac(void)函数完成初始化网络控制器和固件,同时向网卡控制器申请使用的buffer ,保存需要用到的RID。wc_write(W0RD*burf,W0RD len) 函数把 buff中的 len 个字节写入到MAC 的发送缓冲区, 然后写发送命令到网卡的命令寄存器发送数据,函数返回实际发送的数据长度。wc_read(WORD*buff,WoRD maxlen) 函数接收输入数据。返回实际收到的数据长度,对上层协议来讲,调用wc_read 以后,可以对buff 中的数据做协议分
13、析。 对于 TCP/IP 来讲,实际上取出的可能是IP、ARP 等类型的报文。 get_wlan(void)通过访问 EvStat 寄存器判断是否有数据被接收,返回判断结果。若有,则把PrismMAC 数据帧收入到共享数据区中。本函数只是把PrismMAC 的数据帧首部读出,相当于是以太网帧的首部。读出的数据格式为上层协议调用get_wlan 以后,如果返回值是TRUE,就可以访问目的地址、源地址、帧类型等变量,以判断是否处理收到的数据。如果是需要接收的数据,可以调用wcread 读取数据。3 嵌入式 WiFi在医疗监护中的应用嵌入式 WiFi 在许多领域有着广泛的应用。这里介绍一个嵌入式Wi
14、Fi 的具体实现 移动监护系统。该监护系统用于医院病人监护,采用嵌入式WiFi 技术,可在移动环境下,对被测对象进行数字分组、实时监测。3.1 硬件结构移动监护系统由服务器和多个移动监护器组成。服务器端包括1 台 PC 或者笔记本电脑、1 个无线 AP 和 1 个报警器,硬件结构和连接方式都比较简单,在此不再说明。移动监护器的硬件结构框图如图3 所示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 6 页 - - - - - - - - - 图 3 中,移动监护器的硬件结
15、构包括电源模块、压力传感器模块、加速度传感器模块和无线网卡模块。移动监护器使用Ti 的超低功耗微控制器MSP430F148 作为 CPU。 加速度传感器模块使用AD 公司的加速度传感器ADXL202,用于运动加速度测试,或重力加速度的测量,分析倾斜度,即用于病人跌倒测试。压力传感器使用Motorola 医疗专用的MPX2300DT ,具有良好的低电压工作特性和线性输出,用于脉搏测量。电源使用 36 V 电池供电,经过简单电压变换即可满足移动监护器电源要求。无线网卡采用基于 IntersilPrism2芯片集的 PCMCIA 网卡。它是一款IEEE802.11b 兼容网络适配器。3.2 软件结构
16、ad-hoc 模式下,移动监护器和服务器间的距离很短。为了增大监护范围,移动监护系统工作在 Infrastructure模式,服务器端的AP 和移动监护器都相当于一个STA,移动监护器与服务器可以在不同的BSS中。移动监护器、AP 所在的 BSS共同构成一个ESS,使用 DSS通信。服务器端软件模块主要用于从网络接收到的数据中分离出斜度、移动监护器配置信息、脉搏信息,并根据信息报警,对移动监护器进行控制。移动监护器的软件模块如图4 所示。移动监护器主要完成加速度(斜度 )数据的采集、脉搏信号的采集、 数据的收发、传感器的启停控制。其软件可划分为两个层次:应用层和驱动层。阴影部分为硬件驱动层,驱
17、动层以上为应用层。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 6 页 - - - - - - - - - 移动监护系统由于采用嵌入式WiFi 技术, 支持数字分组, 可以根据需要对被测对象分组检测,同时进行实时数据传输;保证了监护的可靠性与准确性,在实际使用中有很好的效果。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - -