




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、design and implementation of wifi wireless sensor networksabstractwith the rapid development of wireless communication technology, sensor technology, embedded technology, the wireless sensor network technology has matured. it is applied to various fields of industry, agriculture, transport, transpor
2、tation, home and other, has become one of the hot spots of global concem.this paper was designed and implemented a wifi-based wireless sensor networks it can enjoy the mature wifi network technology and a variety of wifi devices. and it can very easily with existing networks for seamless connection.
3、 set up sensor networks is very convenient and reduces the cost in the area of deployment of the wifi network. in power consumption system through the sleep - wake-up way of working greatly reduce the power consumption of the system. therefore, this paper selected wifi as a communication technology
4、for wireless sensor networks.this paper first introduces the development situation and prospects of wireless sensor networks and several short-range wireless communication technologies are compared. according to the current wireless sensor network faults, put forward a wireless sensor network based
5、on the wifi. by studying the wifi network technology, design the overall structure of wireless sensor networks- given the detailed introduction of the hardware structure of wifi wireless sensor network node and wireless ap. transplant embedded linux operating system in an arm-based wireless sensor n
6、etwork node, and design linux usb driver in ft245. by transplanting wifi wireless network card driver, implement wireless communications. in this paper, detailed introduces the socket communication technology, and design wireless sensor network client and server software program. aiming at the two p
7、erformance parameters of the wireless transmission distance and wireless transmission rate do a lot of experiments, experimental results concluded that the entire wifi wireless sensor network is working, stable and the transmission rate meet the application requirements in the range of 110 meters.ke
8、ywords: wireless sensor networks wifi arm linux第一章绪论11.1课题研究的背景和意义1l2无线传感器网络的发展与现状11.3本文主要研究工作与结构安排31.4 本章总结3第二章无线传感器网络相尖技术介绍42.1短距离无线通信技术的分析42.1丄irda技术42.1.2蓝牙技术42.1.3 uwb技术52.1.4 zigbee 技术52丄.5wifi技术62.1.6几种短距离无线通信技术的对比72.2 wifi无线传感器网络组网技术8221 wifi组网技术82.2.2 wifi无线传感器网络的结构92.3 本章总结9第三章 无线传感器网络的硬件的
9、结构11113.2节点外接口与电源管理模块硬件结构123.1节点核心控制模块硬件结构3.3采集系统的硬件结构133.4 wifi无线网卡143.5 无线 ap 153.6 本章总结17第四章嵌入式linux系统在无线传感器网络节点中的建立184.1嵌入式linux开发环境的构建 184.1.1嵌入式linux操作系统的介绍184.1.2交叉幵发环境介绍 184.1.3嵌入式linux系统的组成及其移植 194.2基于ft245的linux usb驱动的设计 204.2.1 linux usb驱动的基本原理214.2.2 usb驱动程序中的一些数据结构224.2.3 usb驱动的具体实现234.
10、2.4 usb驱动的调用与编译264.3 wifi无线usb网卡的移植 264.3.1酉己置内核264.3.2 rt3070无线usb网卡驱动的移植 284.3.3无线网卡驱动的加载与测试304.4本章总结32第五章 wifi无线传感器网络软件的设计335.1无线传感器网络软件的设计思路335.2 socket通信技术335.3客户端软件设计365.4月艮务器软件设计405.5 本章总结43第六章实验及实验分析446.1 wifi无线传感器网络性能测试实验446.2本章总结49第七章总结与展望507.1 本文总、纟吉507.2 研究展望50参考文献攻读硕士期间发表的论文及参 与课题情况致谢第一
11、章绪论1.1课题研究的背景和意义无线传感器网络技术被认为是21世纪中能够对信息技术、经济和社会进步发展发 挥重要作用的技术有巨大的发展潜力。将来人们将通过遍布周围的传感器网络直接 感知客观世界极大的改变人们认识世界、改造世界的能力。无线传感器网络是由多个节点组成的面向任务的无线自组网络。它综合了传感器技 术、嵌入式技术、现代网络及无线通信技术、分布式信息处理技术等通过无线传感器 网络节点分布式的采集数据,然后将数据以无线的方式发送给无线网络基站,基站再通 过无线方式将数据转发到远程的控制平台上。无线传感器网络的工作方式使得它在特殊 环境中使用有明显优势。目前大多数无线传感器有以下优点:(1 )
12、传感器网络覆盖范围大。能根据实际情况设计无线传感器网络的规模,有利 于应用范围的扩展。(2 )自组织。组网不需要任何固定的网络设备,传感器节点通过分布式网络协议 形成自组织网络能够自动调整来适应节点的变化网络中的节点可以快速、自动的组 成一个独立的网络。(3 )动态拓扑。无线传感器网络中可以随时添加或减少节点而并不影响网络其他 节点数据的正常传输。(4 )功耗小,电池供电,网络节点一般都能工作1年3年,有的甚至更长。但随着研究的深入,其传输距离有限和传输速率低等发展的瓶颈逐渐显现出来,在 某些要求传输速率快、传输距离远等场合并不适用。所以本文针对上述状况设计一种传 输速率快、传输距离远的无线传
13、感器网络。1.2无线传感器网络的发展与现状无线传感器网络的研究开始于20世纪90年代。美国国防部高级研究计划局早期 研究的重点是传感器节点技术,在传感器群中,各个传感器节点之间只进行较简单的点 对点通信。进入21世纪随着无线通信技术、传感器技术、嵌入式技术等领域的快速发展, 无线传感器网络的研究取得了重大发展,并引起了各界的极大尖注。美国军方投入了大 量的经费在无线传感器网络的研究,如美国陆军提出和实施的“灵巧传感器网络通信”计 划、“无人值守地面传感器群”、“战场环境侦察与监视系统”、“传感器组网系统订页目 等。无线传感器网络发展经历了以下四个阶段畅。(1) 第一代传感器网络。使用具有简单信
14、息获取能力的传统传感器采用点对点 传送方式的传感器网络。(2 )第二代传感器网络。使用具有多种信息获取能力的传感器,构成具有综合多 种信息的传感器网络。(3 )第三代传感器网络。使用具有智能获取多种信息的传感器传感器与控制器 通过现场总线的方式连接构成智能化传感器网络。(4 )第四代传感器网络。使用具有多功能多信息获取能力的传感器,采用无线通 信网络的方式构成无线传感器网络。无线传感器网络有着十分广阔的应用前景目前已经广泛应用于工业、农业、军事 国防、环境监测、医疗等传统领域。而在一些许多新兴领域已经开始有所应用,如智能 家居、智能交通、太空探索等领域。未来无线传感器网络、移动通信网络和互联网
15、将进 行融合,将形成一个十分庞大的网络,使传感器网络的信息传输更加便捷-其应用涉及 到人类生活的所有领域给人类生活带来深远的影响。目前国内外无线传感器网络所使用的无线通信技术大多采用zigbee技术。由于 zigbee技术其具有低功耗、低成本、自组织等优点,所以非常适合应用于无线传感器网 络但它同样存在致命的缺点:传输距离有限和传输速率低。wifi技术恰恰在传输距 离和传输速率上都有优势,但由于其功耗大、组网需要架设网络设备等缺点,严重制约 了它在无线传感器网络中的应用。然而隨着wifi技术的迅猛发展以及wifi网络的大 规模部署,这些制约逐步得到了解决。1.3本文主要研究工作与结构安排本文针
16、对目前大多数无线传感器网络组网复杂、传输速率低的缺点设计并实现了 基于wifi的无线传感器网络,主要的工作如下:(1 )查阅大量资料充分了解目前无线传感器网络的发展现状及其应用前景,并对 其优缺点进行研究分析,希望找出一种能够提高无线传感器网络性能的解决方案。(2) 对比几种短距离无线通信技术 併针对目前无线传感器网络的缺点,选用wifi 技术作为无线传感器网络的通信技术。充分研究wifi的组网技术,并通过wifi组网 技术设计wifi无线传感器网络的结构。(3 )设计wifi无线传感器节点的硬件结构。无线传感器网络节点分为核心控制模 块、外围接口及电源管理模块、数据采集模块针对各个模块的功能
17、进行硬件设计。随 后又介绍了 wifi无线usb网卡与无线ap的硬件结构。(4 )构建无线传感器网络节点的嵌入式linux系统,根据系统需要设计基于ft245 的linux usb驱动程序 并在linux系统中移植基于rt3070芯片的无线usb网卡驱动。(5 )设计了无线传感器网络节点的应用程序和远端控制台的应用程序,详细研究了 socket通信技术°(6 )在野外开阔地上做了大量的实验,并对实验结果进行了分析。(7 )对本文设计的wifi无线传感器网络进行总结,并指出存在的问题以及展望。1.4本章总结本章首先介绍了无线传感器网络的发展现状及其应用前景,并对其优缺点进行研究 分析提
18、出了本课题的研究意义并介绍了本文所有做的主要工作。第二章 无线传感器网络相尖技术介绍21短距离无线通信技术的分析2.1.1 irda 技术irda是一种利用红外进行点对点通信的技术,是由红外线数据标准协会制订的一 种无线协议这种通信方式是利用波长为850nm的红外线进行传输的技术它的最大传 输距离为3米,传输速率为4mb/s。红外通信技术是一种廉价、近距离、无线、低功 耗、保密性强的通讯方案主要应用于近距离的无线数据传输,也有用于近距离无线网 络接入。从早期的irda规范(115200bps )到askir( 1.152mbps),再到最新的fastir (4mbps ),红外线接口的速度不断
19、提高,使用红外线接口和电脑通信的信息设备也越来 越多。红外线接口是使用有方向性的红外线进行通讯由于它的波长较短对障碍物 的衍射能力差-所以只适合于短距离无线通讯的场合,进行“点对点"的直线数据传输, 因此在小型的移动设备中获得了广泛的应用。2.1.2蓝牙技术蓝牙凶是一种支持设备短距离通信的无线电技术,是由东芝、爱立信、ibm 'intel、 和诺基亚于1998年5月共同提出的近距离无线数据通讯技术标准。蓝牙是无线数据和 语音传输的开放式标准,它将各种通信设备、计算机及其终端设备、各种数字数据系统、 甚至家用电器采用无线方式联接起来。目前世界上已有上千家公司在研发该技术它采 用
20、2.4ghz ism频段和调频、跳频技术,使用权向纠错编码、arq、tdd和基带协议。 tdma每时隙为0625us,基带符合速率为imb/s。蓝牙支持64kb/s实时语音传输和 数据传输,语音编码为cvsd 发射功率分别为lmw、25mw和100mw,并使用全球 通用的48比特的设备识别码,其传输距离视功率而定,一般在10米100米之间。它优 点在于低功耗、通讯安全性好、在有效范围能可越过障碍物、能实现低对多点的数据传 输。但蓝牙技术同样存在成本高、传输距离短、传输速率低、技术还不成熟等缺点®. 因此应用并不广泛。2.1.3 uwb 技术uwb( ultra wideband )即
21、超带宽无线技术,它不采用正弦载波,而是发送许多小 于ins的脉冲,因此这种通信方式占用带宽非常宽。uwb信号类似于基带信号,可采 用00k调制方式(ask调制的一个特例),它在时间轴上是稀疏分布的,其功率谱密 度相当低无线射频(rf )可同时发射多个uwb信号,覆盖范围在10米以内*传输 速率可达100mb/s。目前,美国联邦通信委员会(fcc )已经将3ghz10.6ghz频带 向uwb通信幵放,并且uwb无线设备的开发与推广得到了 intel、motorola、sony等 知名大公司的支持i川。uwb的特点在于设备简单,成本低系统容量大,传输速度快 保密性好,抗干扰能力强,但覆盖距离有限,
22、所以一般应用于室内的无线数据传输。2.1.4 zigbee 技术zigbeer,21是zigbee联盟建立的技术标准,基于ieee802.15.4标准主要适用于自动 控制和远程控制领域。zigbee是一种无线连接的通信技术,可工作在2.4ghz、 868mhz、915 mhz3 个频段,传输速率分别为 250kbit/s、20kbit/s 和 40kbit/s 的, 它的传输距离在1070m的范围内。作为一种无线通信技术zigbee具有如下优点:(1) zigbee的传输速率非常低,发射功率仅为几mw,而且采用了休眠的工作模 式,大大降低了功耗。(2) 成本低:zigbee模块的成本很低,一般
23、为几美元,而且没有任何专利费。(3) 网络容量大:一个的zigbee网络可支持255个节点设备,而一个区域内支 持上百个zigbee网络。(4) 可靠:通信过程采用碰撞避免策略,成功避开了发送数据的竞争和冲突。 如果传输过程中出现问题可以进行重发。(5) 自组织:zigbee网络中的所有节点的地位是平等的,网络节点铺设好后,能 快速、自动的构成一个通信网络,通过中间节点的多跳转发实现的远距离的通信, 因此,zigbee网络可通过增加节点的方式来增加网络的覆盖范围。2.1.5 wifi 技术wifi全称wireless fidelity1141,又称802.11标准,是由一个名为“无线以太网相容
24、联 盟”(wireless ethernet compatibility alliance, weca )的组织所发布的业界术语 * 中文 译为“无线相容认证"。它是一种短程无线传输技术,能够在数百米范围内支持互联网接 入的无线电信号。随着技术的发展,以及ieee 802.11a、ieee 802.llg、ieee 802.1 in 等标准的出现,现在ieee 802.11这个标准已被统称作wifi。wifi技术大多工作在2 4ghz的ism自由频段,采用直接序列扩频技术,支持多 种传输速率.最高可达54mbps,传输距离受功率和天线增益影响,随着传输距离的变 长传输速率迅速降低。w
25、ifi技术是专为wlan (无线局域网)接入设计的目前已 经商用,在机场、咖啡店、旅馆、书店、校园、家庭、办公室等等都有wifi覆盖。wifi 技术的优点如下:(1 )传输速率快 wifi技术采用直接序列扩频技术,提供很高的传输速率,因此- 适合于对数据传输速率要求高的应用。当信道状况变差时,数据的传输速率可以做出相 应的调整,这种动态的数据传输速率扩大了通信范围,同时为近距离传输提供了较高的 数据吞吐量,减少了信道的占用时间,提高了整体性能。(2)高移动性,在无线局域网覆盖范围内,各个节点可以不受地理位置的限制进 行任意移动,wifi技术可以使用在室内也可以使用在室外,任何wifi设备只要在
26、wifi 覆盖的网络中就能连接互联网。(3 )覆盖范围广-wifi的覆盖范围半径在150m,但通过中继能实现几千米的通 信距离。(4 )辐射小,iee802.11规定的发送功率是100mw 而一般的wifi设备只要 6070mw。而且wifi设备并不直接接触所以应用十分安全。(5 )易扩展,无线局域网有多种配置方式,每个ap可以支持100多个节点接入, 要想扩展用户,只需增加ap的数量就能实现。(6 )传输可靠wifi技术通过一系列的冲突避免和确认、错误重发机制来保证网 络的可靠性。(7 )组网便捷,wifi网络支持多种拓扑结构,可以实现各种规模的网络,组网时 只需将wifi设备尖联到无线ap
27、 (接入点)上,而且网络安装非常方便,只需安装一个 或多个无线ap就能建立范围广泛的无线局域网。2.1.6几种短距离无线通信技术的对比如表2所示红外技术、蓝牙技术、uwb技术的传输速率都很高,但传输距离 十分有限 zigbee技术能够通过节点间的跳接实现远距离的传输,且功耗很低,因此 目前大多数无线传感器网络的无线通信技术都采用zigbee技术,但是zigbee技术的发 展也存在瓶颈:组网复杂、传输速率慢,所以在一些对数据传输率有要求的应用场合并 不适用。而wifi技术恰恰在组网上和传输速率上都有优势但其功耗大、组网需要架 设网络设备等缺点严重制约了它在无线传感器网络中的应用。然而随着wifi
28、技术的 迅猛发展以及wifi网络的大规模部署这些制约逐步的得到了解决。表2.1几种短距离无线传输技术的对比通信技术单点覆盖距离通信速率系统功耗能否远距离通信红外技术2m4mb/s较低否蓝牙技术10mimb/s较高-否uwb10mloomb/s较高否zigbee50m< imb/s较低是wifi>100m54mb/s高是基于wifi的无线传感器网络能够享受wifi网络所带来的成熟技术和多样的wifi 设备,而且能够非常容易的与现有网络进行无缝的连接。在已部署wifi网络的区域内 组网便捷并且降低了组网成本。在功耗方面,可以通过采用休眠唤醒的工作方式来降 低系统的功耗。因此,本文选用w
29、ifi作为无线传感器网络的无线通信技术。2.2 wifi无线传感器网络组网技术 221 wifi组网技术wifi无线网络的拓扑结构主要有两种:分别是ad-hoc和infrastructure1161。ad-hoc结构是一种省去了无线ap(access point)而搭建起的对等网络结构,只要安 装了无线网卡的计算机彼此之间即可实现无线互联;其原理是网络中的一台电脑主机建 立点对点连接相当于虚拟ap,而其它电脑就可以直接通过这个点对点连接进行网络互 联与共享,如图2所示。图2.1 ad-hoc无线网络拓扑结构infrastructure结构是wifi网络应用最为广泛的结构,它是sta (工作站)
30、和无线 ap共同搭建起来的网络结构,整个网络成星状,中间的无线ap起桥接作用,这样所 有的sta就可以通过无线ap与其它有线或无线网络进行信息交互,如图2.2所示。在 这种结构中,无线ap是最为重要的部分因为它决定所支持sta的数量、wifi热点 的覆盖范围、安全级别等。图2.2 infrastructure无线网络拓扑结构2.2.2 wifi无线传感器网络的结构wifi无线传感器网络由采集系统、wifi无线网卡、arm嵌入式系统、无线ap等 四部分组成,如图2.3所示。所有测试节点通过控制wifi无线网卡将测试数据传输到 无线接入点,再由无线接入点桥接转发到远端的控制台。每个测试节点以arm
31、嵌入式 系统作为控制中枢,嵌入式系统通过总线接口控制采集系统的数据采集,同时通过 usb接口控制wifi无线网卡的数据收发。无线传感器网络节点wi-fi无线模块arm 控制器采集 系统计算机图2.3 wifi无线传感器网络的结构2.3本章总结本章介绍了几种短距离无线通信技术并对它们的性能进行了对比,进而阐述了本文 选用wifi作为通信技术的原因最后通过研究了 wifi的组网技术设计了 wifi无线 传感器网络的总体结构。第三章 无线传感器网络的硬件的结构3.1节点核心控制模块硬件结构arm作为一种嵌入式处理器具有高性能、低功耗、低成本、体积小等优点i叫9。 将arm作为节点的主控制器可全面提高
32、节点性能。此外,arm系统可方便加载操作 系统,使得系统功能更加强大。为了简化硬件电路的设计和调试的方便,我们采用核心 板+底板组合的方式对硬件电路进行设计。arm嵌入式系统的核心板是嵌入式系统的主要部分,它是整个嵌入式系统的“大 脑",所有数据的运算、处理、存储以及接口电路的控制都是在核心板中实现的。核心 板主要由arm处理器、动态存储器(内存)、nandflash组成,它的硬件结构如图3.1 所示。nandflash4g筲脚的排nm孔40簣脚的排针插孔i»r2 (64m内ddr2 (64m 内存)图3.1核心板的硬件结构arm嵌入式系统的核心板所选用的芯片如下:(1 )
33、处理器-选用ateml公司的工业级arm芯片at91sam9g45,主频达400mhz,工作温度范围40度+80度它使用arm926ej-s内核,带有mmu功能, 有一个64kb的内部sram和一个64kb的内部rom -并带有两个外部总线接口,总共 可支持4块ddr2/lpddr - sdram/lpsdr -静态存储器,cf闪存或带ecc校验的slcnand flash。at91sam9g45芯片内部集成多个外围设备接口,包括lcd控制器, 电阻触摸屏控制器,相机接口,音频接口,10/100m以太网接口 -高速usb接口等等。 at91sam9g45芯片的电源管理控制器具有高效的时钟门控和
34、电池备份部分在上电和 待机模式时将功耗降低到最少。(2 )动态存储器选用nalional semiconductor公司64m ddr2存储器工作温 度在系统中使用两片,总容量达128m,大幅提高arm处理器的运算效率。(3 ) nandflash,选用三星公司的k9flg08u0c芯片,容量达128m 完全满足测 试信息的存储。在核心板上还有两排40个管脚的排针插孔用于与底板进行对接。3.2节点外围接口与电源管理模块硬件结构arm嵌入式系统的底板为核心板提供电源、两路usb接口电路、一路串口电路以 及总线接口电路它的硬件结构原理图如图3.2所示。图3.2底板的硬件结构arm嵌入式系统的底板所
35、选用的芯片如下:电源管理芯片-选用lm2596和lm1084,为系统提供5v和3.3v电压。两路usb接口控制芯片,选用双usb电源开尖芯片sp2526a-2usb和两片usb 控制芯片usblc6-2p6为系统提供两路usb接口,一路用于与无线模块进行通信 路用于测试数据的有线读取。r232串口,选用max3232eue,用于查看调试信息和输入系统指令。3.3采集系统的硬件结构数据采集系统由传感器、ad转换器、fpga组成,它的主要任务是把传感器采集 到的模拟信号转换成数字信号,如图3.3所示。采集系统所选用的芯片如下:a/d变换器,选用ad公司12bit分辨率的ad7492,自带参考电源,
36、在2.7v525v 的电压下工作,其最高采样速率可达到3mb/s -可以处理高达10mhz的宽频信号。fifo 选用cypress公司的低功耗同步fifo cy7c4261,缓存深度为16k。fpga芯片,选用xilinx公司的xc3s500e,作为ad转换器的时序控制电路。usb芯片,选用ftdi公司usb芯片ft245。nandflash芯片 选用三星公司的k9k2g08u0m 容量为256mb电压工作在2.7v3.6v一页大小为2kb 编程和擦除均为自动,页编程时间和块擦除时间都很快。传感器,根据不同的应用选择不同型号的传感器。图3.3数据采集系统的结构框图采集系统的性能参数如下:(1
37、)采样频频可调,最高达2mb/s,共四个档位,分别为256kb/s、512kb/s、imb/s、2mb/s。(2 )通过fifo缓存可实现16kb的负延时。(3 )传感器的信号放大倍数可调,一共六个档位分别为1倍,2倍,5位,10倍20倍,50倍。(4 )采样点长度可调,最大能可实现8m采样数据一共四个档位分别为1mb、2mb、4mb、8mb。3.4 wifi无线网卡目前大多数wifi无线网卡所以使用的wifi芯片是realtek (瑞昱)公司rtl8187 和ralink(雷凌)公司rt3070。其性能参数对比如表3所示,可以看出,大多性能参数 基本一致但rt3070支持高速传输协议iee8
38、02.11n,所以它的传输速率要比rtl8187 快很多此外,多次试验对比发现,rtl8187芯片的无线信号的发射功率出现不稳定的 情况。因此本文设计的系统的wifi无线网卡所使用的wifi芯片选用rt3070。表3.1 rt3o7o芯片与rtl8187芯片性能对比rt3070rtl8187支持的传输协议ieee 802.1 lg、ieee 802.11 b、ieee 802.1 in 传输 术、csma/ca with ackieee 802.1 lg、ieee 802lbcsma/ca with ack传输速率最高可达150mbps最高可达54mmbps传输距离100m200m (环境而定
39、)100m200m (环境而定)工作温度-10°c85°c10°c 70°c存储温度40°c70°c55°c 125°c支持的操作系统windows 2000/xp/vista/win7/wince/linux/mac oswindows 2000/xp/vista/win7/wince/linux/mac osrt3070芯片的内部结构由射频接收模块、射频发送模块、adc (模拟信号转数字 信号)模块、dac (数字信号转模拟信号)模块、基带模块、usb接口、系统控制模 块七部分组成,如图3.4所示。图3.4 r
40、t3070芯片的内部硬件结构本文设计的系统所使用的wifi无线网卡是totolink公司的n200ua,这款wifi 无线网卡的优点在于外置天线«我们可以根据需要选用特殊形状以及高增益的天线,图 3.5为n200ua无线网卡的实物图。图3.5 n200ua无线网卡实物图3.5无线ap无线ap ( ap access point -无线接入节点)是一个包含很广的名称,它包含无线 接入点(无线ap )和无线路由器(含无线网尖、无线网桥)等类设备的统称。无线ap 的主要技术是802.11x协议,特别适合wifi网络覆盖及远距离无线传输,它是移动计 算机用户进入有线网络的接入点,主要应用于家
41、庭、公共娱乐场所、办公大楼等,无线 ap的覆盖距离一般在几百米。一般的无线ap具有客户端模式(ap client),可以与其 它无线ap进行通信延展网络的覆盖范围。本系统选用美国ubnt公司型号为nanostation m2的无线ap 工作在2.4ghz频 段,系统增益在10411.2 db,支持802.11b/g、802.1 in多种传输协议,以太网的方式供电操作温度-30°c-80°c。它主要由处理器、sdram、flash、无线网卡、天线、网 口组成,如图3.6所示。图3.6无线ap的的硬件结构处理器使用的是atheros公司的mips 24kc型号的处理器时钟频率达
42、400mhz -flash容量8mb,sdram容量32mb,天线使用mimo (多输入多输出)定向阵列 天线两个百兆以太网接口个用于系统供电个用于数据传输s 3.7为nanosion m2无线ap实物图。图3.7 nanostation m2无线ap实物图3.6本章总结本章主要设计wifi无线传感器节点的硬件结构。无线传感器网络节点包括三个模 块:核心控制模块、外围接口及电源管理模块、数据采集模块,分别对各个模块进行设 计。然后又介绍了 wifi无线usb网卡与无线ap的硬件结构。第四章嵌入式linux系统在无线传感器网络节点中的建立4.1嵌入式linux开发环境的构建4.1.1嵌入式lin
43、ux操作系统的介绍嵌入式linux是在linux的基础演变而成的,专门应用于嵌入式设备中。如今嵌 入式linux操做系统发展十分迅速,已被广泛应用于手机、电视、工控机、媒体播放器、 笔记本电脑、无线传感器网络以及航天等领域。嵌入式linux操作系统的优点如下:linux是开放源代码的不存在黑箱技术全球有众多linux爱好者对linux发 展提供强大技术支持。linux的内核小、执行效率高,非常容易裁剪定制,其系统内核最小只有约几百kb。linux是完全免费与其它昂贵操作系统如vxworks相比容易晋及。linux是一个跨平台的操作,它适应于多种处理器,到目前为止,它可以支持几十 种处理器,所以
44、它的移植性非常好。linux内核的结构在网络功能完善,支持包括百兆、千兆以太网络以及无线网络。4.1.2交叉开发环境介绍交叉编译(cross-compilation )是指在某个主机平台上(比如pc上)用交叉编译器 编译出可在其他平台上(比如arm上)运行的代码的过程如图4.1所示。4.1交叉环境示意图交叉编译环境的建立首先在pc机的windows环境下安装vmware虚拟机接着在虚拟机下安装pc版本的linux操作系统,目前比较流行的是fedoral6。然后在 fedoral6系统下安装交叉编译工具链*本文所使用交叉编译工具链是 arm-linux-gcc-4.3.3 °经交叉编译
45、工具链编译过的linux内核以及应用程序就可以移植到 嵌入式设备中了。本文所有节点软件设计都是在此环境下设计的。4.1.3嵌入式linux系统的组成及其移植linux操作系统至少具有三部分:bootloader (引导系统)、kernel (内核)、rootfs (根文件系统)。bootloader就是在操作系统内核运行之前运行的一段小程序,其作用是初始化硬件 设备、建立内存空间的映射图并且为最终调用操作系统内核准备好正确的环境arm 平台下常用的bootloader有uboot ' vivi °kernel是一个操作系统的核心,负责管理系统的进程、存储、设备和文件等,它决
46、定着系统的性能和稳定性。rootfs不是一个具体的文件类型,而是一个概念,它作为vfs ( virtual filesystem switcher )的根节点,可以帮助管理文件系统。这三部分需要烧写到嵌入式系统的nandflash中,不同的处理器其烧写方式有所 不同。在3.1.1节有所介绍,本文选用ateml公司的工业级arm芯片at91sam9g45, 该处理器bootloader和kernel需要使用ateml公司的sam-ba软件通过usb 口进行 烧写.而rootfs是通过网口进行烧写。图4.2是各部分在flash中的地址分配,从图中 可以看出at91sam9g45的bootloade
47、r与一般的処理的bootloader有所不同,它先 经过at91 bootstrap 级引导,随后又进行uboot二级引导°图4.2 nandflash中地址的分配4.2基于ft245的linux usb驱动的设计usb是一种快速、双向的串行接口其传输方式有四种:控制传输,中断传输, 批量传输,等时传输-其数据的通信是双向的,数据从主机传向usb设备称下行通信 数据从usb设备传向主机称上行通信。控制权是在host方,不支持设备间的直接通信。usb设备主要由端点、接口和配置组成,如图4.3。(1 )端点 usb通信最基本的形式是端点,端点只能是向一个方向传送数据。(2)接口 usb设
48、备中有许多接口,不同的接口处理不同的usb逻辑连接但不 同的接口可能有不同的功能,usb的驱动程序是绑定到接口上的。(3 )配置,usb设备可以选择多种配置,多种配置之间可以切换,不同的配置 usb所处的状态不同,但是一个时刻只能使用一种配置。图4.3 usb系统结构框图ftdi公司为ft245 usb芯片制作了支持各大操作系统及应用平台的驱动程序但 却没有支持arm的linux usb驱动如表4.1所示。因此需要设计基于ft245的linuxusb驱动程序。表4.1 ftdi提供的usb驱动所支持的系统和平台systemx86x64ppcarmwindows*yesyeslinuxyesye
49、smac os xyesyesyeswindowsce4.0yesyeswindowsce6.0yesyes4.2.1 linux usb驱动的基本原理在一个usb的驱动程序中要完成很多的功能,其中包括选择所支持的usb设备、 注册usb设备、探测端口、数据通信、卸载驱动等。usb驱动的工作流程如图4.4。当驱动加载时驱动首先注册usb设备,申请usb 设备标识号。接着驱动开始探测usb接口是否有支持的usb设备如果探测到,应用 程序就可以调用驱动中的驱动函数来完成数据的通信。在usb驱动程序中一般以urb (usb请求块)的传输方式进行数据的发送和接收,这种传输方式可传输复杂的数据以 及进行
50、一些复杂的控制。驱动程序是工作在内核中的-大大提高了它的运行效率但应 用程序与驱动程序之间不能进行直接通信当驱动程序向应用程序发送数据时,执行 copy_to_user ()函数将内核空间的数据复制到用户空间。当应用程序向用户空间发送数 据时,执行copy_from_user()函数将用户空间的数据复制到内核空间。驱动在卸载时, 释放驱动程序中的内存空间以及设备号。驱动程序的入口点不同于在应用程序*它是通过module_int()函数和module_exit() 函数来进入和退岀驱动程序的。图4.4 usb驱动工作流程框图4.2.2 usb驱动程序中的一些数据结构usb驱动程序的设计需要针对具
51、体的usb设备,但在linux系统中usb驱动程序 有它固定的程序框架在linux内核drivers/usb目录下有usb驱动程序的框架程序 程序名为usb-skeleton.c,大多数的usb驱动都是在这个框架的基础上修改的。驱动程 序的流程图如下图4.5。本文数据采集系统中所使用的usb芯片是ft245 所以这里针 对ft245芯片进行usb驱动的设计。图4.5 usb驱动的设计流程图usb驱动程序涉及到两个宏:usb_vendord和usb_product_id - vid是 usb芯片制造商标号,pid是usb芯片的识别号,通过vid和pid来区别不同厂商和 不同型号的usb芯片,ft
52、245芯片的vid为0x0403,pid为0x6001,程序如下。#define usb_vendor_id 0x0403#define usb_product_id 0x6001驱动程序中的设备列表程序如下:static struct usb_device_id _table = usb_device(usb_vendor_id, ft245_id) ,;module_device_table(usb, ft245_table);设备列表通过vid和pid来识别驱动所支持的设备。file_operation是驱动程序中最重要的类,它定义了驱动程序的接口函数这些接口函 数使用起来类似于文件的的
53、i/o操作。程序如下:static struct file_operations _fops =.owner =this_module,.read =ft_read,.write =ft_write,.open =ft_open,.release = ft_release,;4.2.3 usb驱动的具体实现ft245_init()是驱动的初始化函数 在初始化函数中最重要的工作是注冊usb设备 usb设备的注册是通过usb_register()函数实现的返回一个设备号。void ft245_init(void)usb_register (&ft245_driver);ft245_exit
54、()是驱动的卸载函数驱动卸载时,释放之前注册的设备号。void ft245_ exit (void)usb_deregister (&ft245_driver);ft245_probe()函数是一个探测函数,检测当前usb接口上是否有支持的usb设备 当一个usb设备接入,ft245_probe()函数会立刻检测到它,并进行后续处理。ft245_probe()函数循环的访问接口中的所有端点,从而找出in端点和out端点, out端点的程序如下:for (j = 0; j<iface_desc->desc.bnumendpoints; +j)endpoint = &
55、iface_desc>endpointj.desc;if (!ft245dev-> bulk_in_endpointaddr &&(endpoint->bendpointaddress&u sb_dirn)&&(endpoint->bmattributes&usb_endpoint_xfertype_mask)二usb_endpoint_xfer_bulk)ft245dev-> bulk_out_size = le 16_to_cpu(endpoint->wmaxpacketsize);gfp_kernel);
56、ft245dev-> bulk_out_endpointaddr = endpoint->bendpointaddress;wmaxpacketsize是端点一次可以处理的最大字节数,它的大小不能大于ft245芯 片内部的收发buffer的长度。ft245芯片的发送buffer为384字节,接收buffer为128 字节。bendpointaddress, usb 的设备地址,通过 usb_dir_in 和 usb_dir_out 来确定 端点的数据传输方向是设备还是主机。usb数据的通信通过i/o操作实现,读写函数如下:ssize_t ft_read(struct file *f
57、ile, char buffer, size_t length, lofm *ppos)ssize_t ft_write(struct file const char *user_buf, size_t count, loflt *ppos)file,文件指针指向设备描述符。buffer . user_buf是缓存区的指针,指向数据发送和接收的地址。length,count,数据传输的长度指定发送和接收数据量的大小。ppos,是当前设备 文件的位置指针指明当前数据传输的位置。在usb-skeleton.c的程序代码中,读函数skel_read()和写函数skel_write()内部的程 序实现是不同的在skel_read()函数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育心理学与信息技术结合的个性化教学案例分析
- 磷矿山采掘设备风险管控系统及应用研究
- 当代水墨人物画中墨色的形式美-以创作《溯》系列为例
- 自贸区设立对服务业发展的影响-基于上海和天津自贸区的研究
- 教育技术进步与商业模式的创新融合研究报告
- 教育技术应用提升智慧教室效能的策略
- 教育技术在跨文化交流与学习中的价值
- 教育科技的新成果虚拟现实教学的价值及前景预测
- 中班保护牙齿
- 智能化教育平台在医护人员专业成长中的重要性
- GB/T 16474-2011变形铝及铝合金牌号表示方法
- 营销案场管家式服务方案
- “解决问题的策略”小学数学教材解读课件
- 企业战略管理形考任务1
- 《国际贸易地理》课件
- 冲压车间品质提升改善方案
- 制动器的英文版及翻译
- 人教版七年级下册数学 第五章达标检测卷
- JAVA外文文献毕业设计
- 3510KV变电所设计湖南工程学院课设
- 电阻熔炼炉操作安全规程
评论
0/150
提交评论