收藏 分享(赏)

《嵌入式系统及其实践教程》课件课程讲义10_嵌入式网络与协议栈.ppt

上传人:bubibi 文档编号:22706863 上传时间:2024-07-02 格式:PPT 页数:48 大小:704KB
下载 相关 举报
《嵌入式系统及其实践教程》课件课程讲义10_嵌入式网络与协议栈.ppt_第1页
第1页 / 共48页
《嵌入式系统及其实践教程》课件课程讲义10_嵌入式网络与协议栈.ppt_第2页
第2页 / 共48页
《嵌入式系统及其实践教程》课件课程讲义10_嵌入式网络与协议栈.ppt_第3页
第3页 / 共48页
《嵌入式系统及其实践教程》课件课程讲义10_嵌入式网络与协议栈.ppt_第4页
第4页 / 共48页
《嵌入式系统及其实践教程》课件课程讲义10_嵌入式网络与协议栈.ppt_第5页
第5页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第10章 嵌入式网络与协议栈10.1 嵌入式网络概述10.3 TCP/IP协议族10.2 嵌入式Internet的接入10.5 嵌入式网络协议栈10.4 嵌入式网络无线通信技术10.1 10.1 嵌入式网络概述嵌入式网络概述在嵌入式系统快速发展的很长一段时间内,绝大部分嵌入式应用系统都是以单机方式运行的,仅与一些外部接口部件如监测、伺服和指示设备配合实现一定的功能。但对于大型系统来说,其通常由许多嵌入式控制器组成。这时,以单机方式运行的嵌入式控制器的弊端逐渐显露。人们尝试使用有线连接的方式将所有的嵌入式控制器连接在一起,这就是最早期的嵌入式网络,随着低功耗无线技术的快速发展,传统的有线连接被无

2、线连接所取代。嵌入式设备通过网络连接组成一个整体,相互通信,协同工作,使整个系统的效率大大提高。实现这些功能的技术叫做嵌入式网络通信技术,它是以嵌入式系统为核心,连接多个嵌入式系统并互相通信的网络通信技术,涉及嵌入式系统开发、嵌入式通信技术、信息处理技术等多方面技术,是计算机网络技术的一个重要发展方向。传统的嵌入式设备之间通常采用RS-232、RS-485等方式进行组网通信。这种网络的传输距离非常有限且传输速度较低。随着网络技术和嵌入式技术的发展,工业及民用产品的设计迎来了深刻的技术变革,利用以太网技术和TCP/IP技术的开放性实现嵌入式系统的网络化是一个主要的发展方向。10.1 10.1 嵌

3、入式网络概述嵌入式网络概述虽然嵌入式网络的功能十分强大,但并不是每种嵌入式系统都要采用网络技术。通常情况下,基于网络的嵌入式系统有如下几个需求:(1)控制核心和检测部件的分散性。在一些应用系统,如工业自动化系统中,传感器与动作执行设备分别位于不同的位置,它们需要网络使其连接起来,便于更好的管理。(2)减少处理的数据量。在有大量数据采集需求的应用中,采集的数据在智能采集节点进行预处理,可以减少数据的冗余,通过网络传输到目标节点。(3)模块化设计需求。基于网络设计的嵌入式系统能更好的实现模块化,例如,一个大型的系统装配在已有组件之外时,那些组件可以通过使用微处理器总线的方法把一个网络端口用作一个新

4、的不干扰内部操作的接口。模块化系统还有一个优点便于调试,同一网络的不同微处理器可以互相探测。(4)系统可靠性要求。在一些情况下,网络常被用于容错系统中,如双机、多机备份系统,多个微处理器可以通过网络组成一个整体,当其中一个设备出现故障时,其他的设备可以代替其实现对应的功能。10.1 10.1 嵌入式网络概述嵌入式网络概述 随着网络技术的进一步发展,基于网络技术设计的嵌入式系统成本越来越低,开发过程也趋于标准化,越来越多的嵌入式系统均实现了网络互联,并逐渐形成不同的发展方向。实现嵌入式系统网络互联有许多方式,根据不同的场合采用不同的连接技术,在工业自动化领域采用现场总线;在移动信息设备等嵌入式系

5、统中采用无线数据通信网;在家庭家居间采用家庭信息网;此外,还有一些专用连接技术用于连接不同功能的嵌入式系统。本文针对嵌入式Internet进行细致讲解,并以智能家居作为应用示例。10.210.2嵌入式嵌入式InternetInternet的接入的接入嵌入式系统接入Internet的方法总的来说有两种,其一是使嵌入式系统完全具备网络功能,直接与Internet相连。其二是使嵌入式系统通过网关间接与Internet相连,网关充当嵌入式系统与Internet的桥梁,网关通常是PC机或者高性能嵌入式网络服务器(高性能嵌入式网络服务器本身也是一种采用了嵌入式Internet技术的嵌入式设备)。10.2.

6、1 10.2.1 嵌入式系统通过网关间接接入嵌入式系统通过网关间接接入InternetInternet这种方法的基本思路是:由网关实现各种复杂的网络协议,负责在Internet上发送、接收IP包,网关与嵌入式系统之间采用轻量级协议进行通信。下面介绍两种有代表性的方法。10.2.1 10.2.1 嵌入式系统通过网关间接接入嵌入式系统通过网关间接接入InternetInternet2、Web芯片(Webchip)方法P&S DataCom公司提出的WebChip方法原理与EMIT方法相似,只是将嵌入设备中的网络服务器(emMicro)由芯片硬件完成。Webchip是一个独立于MCU的专用网络接口芯

7、片,它通过SPI接口与各种MCU相连。Webchip与MCU之间采用MCUnet协议进行通信,通常只需简单的若干条指令就可实现交互。Webchip通过MCUap协议与网关通信,支持RS-232、RS-485、USB或Modem等物理接口。这种方法对MCU的要求不高,支持8位或4位的MCU。开发者不需了解TCP/IP协议和相关接口,只需要考虑与此Webchip的交互即可,比较简单。因此开发难度较小,周期较短。但是其缺点同样也很明显,首先它需要依赖PC机做网关进行协议转换,在嵌入式系统分布松散的情况下,专用网络布线极为不便;其次需要在PC机上安装专门的协议转换软件,该软件通常由专门的第三方软件商提

8、供,一般费用较高。10.2.2 10.2.2 嵌入式系统直接接入嵌入式系统直接接入InternetInternet这种方法的实质是在嵌入式系统中实现TCP/IP协议和其它相关的应用层协议如HTTP、FTP和SMTP等,使其可以在Internet上发送、接收IP包。下面介绍两种在嵌入式系统中实现网络协议的方法。1、在单片机程序中实现网络协议选择支持软件固化TCP/IP协议的微控制器(MCU),用以太网控制器实现网络接口可以使嵌入式系统接入Internet,如图10.2所示。系统可采用16位或8位的MCU。以太网控制芯片具有物理介质上的串行数据收发功能和MAC层的控制功能,实现了CSMA/CD协议

9、。其他协议如TCP、IP、HTTP、FTP等由MCU程序存储空间的代码实现。由于协议占用了一定资源,所以要求提供大容量的程序存储空间。在实际开发过程中可以根据具体的应用需求简化TCP/IP协议,只提供一个TCP/IP协议的一个子集即可。这种方法的优点是硬件成本低廉;缺点是软件设计复杂、开发难度大、开发周期长、对开发者的要求较高。10.2.2 10.2.2 嵌入式系统直接接入嵌入式系统直接接入InternetInternet这种方法的实质是在嵌入式系统中实现TCP/IP协议和其它相关的应用层协议如HTTP、FTP和SMTP等,使其可以在Internet上发送、接收IP包。下面介绍两种在嵌入式系统

10、中实现网络协议的方法。1、在单片机程序中实现网络协议选择支持软件固化TCP/IP协议的微控制器(MCU),用以太网控制器实现网络接口可以使嵌入式系统接入Internet,如图10.2所示。系统可采用16位或8位的MCU。以太网控制芯片具有物理介质上的串行数据收发功能和MAC层的控制功能,实现了CSMA/CD协议。其他协议如TCP、IP、HTTP、FTP等由MCU程序存储空间的代码实现。由于协议占用了一定资源,所以要求提供大容量的程序存储空间。在实际开发过程中可以根据具体的应用需求简化TCP/IP协议,只提供一个TCP/IP协议的一个子集即可。这种方法的优点是硬件成本低廉;缺点是软件设计复杂、开

11、发难度大、开发周期长、对开发者的要求较高。10.2.2 10.2.2 嵌入式系统直接接入嵌入式系统直接接入InternetInternet2、采用具有网络协议栈的嵌入式实时操作系统现在越来越多的高性能嵌入式系统采用嵌入式实时操作系统RTOS(Real Time Operation System)。嵌入式RTOS功能强大,多数支持TCP/IP等网络协议,如VxWorks、pSOS、Nucleus、QNX、Windows CE等。VxWorks网络协议栈是一个与BSD44兼容的实时TCP/IP协议栈,支持IP、ICMP、IGMP、UDP、TCP和SNTP等协议以及IP multicast、CIDR

12、等Internet协议,并且提供套接字库。pSOS系统包含了TCP/IP管理部件pNA+、用户可以调用pNA+中丰富的函数,访问网络接口,操作套接字进行高级TCP/IP网络编程。Windows CE也提供了TCP/IP协议栈,支持Winsock和IRSock网络编程。采用具有网络协议栈的嵌入式RTOS外加网络接口可以使嵌入式系统直接接入Internet。这种方法的优点是:系统功能强大,而且开发者不必自己实现TCP/IP协议。缺点是:开发成本高,嵌入式RTOS价格昂贵,对MCU的性能要求较高,通常要求采用高档的32位甚至64位的MCU,此外还要求开发者必须熟悉RTOS和TCP/IP协议。这种方式

13、本质上直接使嵌入式系统具备了网络通信的能力,从而可以省去专用的协议栈硬件芯片及额外的网关服务器。同时由于不再依赖集中式的网关,其扩展性有了很大的提高。而且同时具备了嵌入式操作系统的对系统硬件资源管理的支持,因此以非常高的性价比实现了实时嵌入式多任务计算平台。相比较其他接入方案而言,采用具有网络协议栈的嵌入式实时操作系统的方法接入Internet在可移植性、可扩展性、开发软硬件成本、实时可靠性等方面有不小的优势。本章将会在10.5节专门介绍主流的嵌入式网络协议栈。10.3 TCP/IP10.3 TCP/IP协议族协议族TCP/IP协议,全称为传输控制/网际互联协议(Transmission Co

14、ntrol Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是目前网络中使用最广泛的通信协议。这些协议最早发源于美国国防部的ARPANET项目,包含两个核心协议:TCP(传输控制协议)和IP(网际协议)。TCP/IP协议并不完全符合OSI的七层参考模型。OSI(Open System Interconnect)是传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。而TCP/IP协议从设计之初

15、就始终遵循简洁的设计思路,它根据网络实际应用中各层级的使用情况将OSI参考模型中的数据链路层和物理层合并为网络接口层,而将应用层、表示层、会话层统一合并成应用层。采用了4层的层级结构,每一层都通过它的下一层所提供的网络来完成自己的需求。由于ARPANET的设计者注重的是网络互联,允许通信子网(网络接口层)采用已有的或是将来有的各种协议,所以这个层次中没有提供专门的协议。实际上,TCP/IP协议可以通过网络接口层连接到任何网络上,例如X.25交换网或IEEE802局域网。TCP/IP参考模型和OSI参考模型的对应关系如图10.3所示。10.3 TCP/IP10.3 TCP/IP协议族协议族示例1

16、0-11、ARPANET是由美国国防部(U.SDepartment of Defense,DoD)赞助的研究网络。最初,它只连接了美国境内的四所大学。随后的几年中,它通过租用的电话线连接了数百所大学和政府部门。最终ARPANET发展成为全球规模最大的互连网络-因特网。最初的ARPANET于1990年永久性地关闭。10.3.1 10.3.1 应用层应用层 OSI模型的应用层、表示层和会话层对应TCP/IP模型中的应用层。应用层位于协议栈的最上层,用于向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。应用层包含很多种类的协议,例如文件传输协议FTP(File Transfer

17、Protocol)、Telnet协议、超文本链接协议HTTP(Hyper Text Transfer Protocol)、小型文件传输协议TFTP(Trivial File Transfer Protocol)、网络管理协议SNMP(Simple Network Management Protocol)、域名服务DNS(Domain Name System)、网络文件共享协议NFS(Network File System)等。这个层的处理过程是应用特有的,数据从网络相关的程序以这种应用内部使用的格式进行传送,然后被编码成标准协议的格式。10.3.2 10.3.2 传输层传输层传输层利用网络层提

18、供的服务,并通过传输层地址提供给高层用户传输数据的通信端口,使系统间高层资源的共享不必考虑数据通信方面和不可靠的数据传输方面的问题,是整个TCP/IP协议层次结构的核心。传输层的协议,能够解决诸如端到端的可靠性(数据是否已经到达目的地)和保证数据按照正确的顺序到达这样的问题。在这一层提供了两种端到端的通信协议,分别是TCP传输控制协议(Transmission Control Protocol)和UDP用户数据报协议(User Datagram Protocol)。其中TCP协议是面向连接的协议,它提供可靠的报文传输和对上层应用的连接服务。为此,除了基本的数据传输外,它还有可靠性保证、流量控制

19、、多路复用、优先权和安全性控制等功能。UDP协议与TCP协议相反,它是面向无连接的数据包的不可靠协议,不可靠的原因是因为它不检查数据包是否已经到达目的地,并且不保证它们按顺序到达。如果一个应用程序需要这些特性,那它必须自行检测和判断,或者直接改用TCP协议。UDP由于数据传输速度更快,因此它被广泛应用在对时间要求更高的场合,比如流媒体(音频和视频等)。10.3.3 10.3.3 网络层网络层 网络层是整个体系结构的关键部分,其功能是处理来自传输层的分组发送请求,使主机可以把分组发往任何网络,并使分组独立地传向目标。这些分组可能经由不同的网络,到达的顺序和发送的顺序也可能不同。高层如果需要顺序收

20、发,那么就必须自行处理对分组的排序。网络层使用IP因特网际协议(Internet Protocol),其功能主要包括三方面:处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。处理输入数据报:首先检查其合法性,然后进行寻径:假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。处理路径、流控、拥塞等问题。TCP/IP参考模型的网络层和OSI参考模型的网络层在功能上非常相似。除了IP核心协议外,还包含地址解析协议ARP(Address Resolution Prot

21、ocol)、反向地址解析协议RARP(Reversed Address Resolution Protocol)、Internet控制报文协议ICMP(Internet Control Message Protocol)协议、Internet组管理协议IGMP(Internet Group Manage Protocol)。10.3.4 10.3.4 网络接口层网络接口层网络接口层又称为“网络访问层”,是TCP/IP协议的最底层,主要负责向网络媒体发送TCP/IP数据包并从网络媒体接收TCP/IP数据包。TCP/IP独立于网络访问方法、帧格式和媒体,可以使用TCP/IP接口层技术组织以太网、无

22、线LAN和WAN网络之间进行通信。实际上TCP/IP标准并不定义与ISO数据链路层和物理层相对应的功能,这一层的具体实现随着网络类型的不同而不同。TCP/IP支持的网络接口类型主要包括:标准以太网、令牌环、串行线路网际协议(SLIP)FDDI、ATM、点对点协议(PPP)、虚拟IP地址等。10.3.5 10.3.5 物理层和数据链路层物理层和数据链路层物理层是OSI模型中最低的一层。物理层规定了传输数据所需要的物理链路创建、维持、拆除而提供具有机械的、电子的、功能的和规范的特性。物理层是整个系统的基础,为设备之间的数据通信提供传输媒体及互连设备,为数据传输提供可靠的环境。物理层确保原始的数据可

23、在各种物理媒体上传输,OSI采纳了各种现成的协议,主要有RS-232、RS-449、X.21、V.35、ISDN、以及FDDI、IEEE802.3、IEEE802.4、和IEEE802.5的物理层协议。数据链路层是OSI参考模型中的第二层,在物理层提供的服务的基础上向网络层提供服务。其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。为达到这一目的,数据链路必须具备一系列相应的功能,主要有:如何将数据组合成数据块-帧(frame);如何控制帧在物理信道上的传输,包括如何处理传输差错,如何调节发送速率以使与接收方相匹配;以及在两个网络实体之间提供数据链路通路的建立、维持和释放

24、的管理。数据链路层定义了在单个链路上如何传输数据,它们与被讨论的各种介质有关。数据链路层的主要协议有:(1)点对点协议(Point-to-Point Protocol);(2)以太网(Ethernet);(3)高级数据链路协议(High-Level Data Link Protocol);(4)帧中继(Frame Relay);(5)异步传输模式(Asynchronous Transfer Mode);10.4 10.4 嵌入式网络无线通信技术嵌入式网络无线通信技术网络及通信技术的飞速发展,嵌入式系统网络间的有线通信已经难以满足目前的应用需求。随着人们对无线通信的要求越来越高,近距无线技术正在

25、成为关注的焦点。目前,无线通信技术已经发展出多个方向,主要包括有低功耗的蓝牙通信、高传输速率的Wi-Fi通信、近距离IrDA红外数据通信、NFC近场通信、无线传感器网络Zigbee通信以及NB-IoT窄带物联网通信等等。10.4.1 10.4.1 蓝牙通信蓝牙通信蓝牙(蓝牙(Bluetooth)技术作为近距无线连接技术,可实现固定设备、移动设备和楼宇个人)技术作为近距无线连接技术,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换。最初由电信巨头爱立信公司于域网之间的短距离数据交换。最初由电信巨头爱立信公司于1994年创制,当时是作为年创制,当时是作为RS232数据线的替代方案。目前已

26、发展至蓝牙数据线的替代方案。目前已发展至蓝牙5.0,在传输速率、功耗水平上均有较好的,在传输速率、功耗水平上均有较好的表现。表现。蓝牙的波段为蓝牙的波段为24002483.5MHz(包括防护频带),这是全球范围内无需取得执照(但(包括防护频带),这是全球范围内无需取得执照(但并非无管制的)的工业、科学和医疗用(并非无管制的)的工业、科学和医疗用(ISM)波段的)波段的2.4 GHz短距离无线电频段。短距离无线电频段。蓝牙使用跳频技术,将传输的数据分割成数据包,通过蓝牙使用跳频技术,将传输的数据分割成数据包,通过79个指定的蓝牙频道分别传输数个指定的蓝牙频道分别传输数据包。每个频道的频宽为据包。

27、每个频道的频宽为1 MHz。蓝牙。蓝牙4.0使用使用2 MHz间距,可容纳间距,可容纳40个频道。第一个频个频道。第一个频道始于道始于2402 MHz,每,每1 MHz一个频道,至一个频道,至2480 MHz。有了适配跳频(。有了适配跳频(Adaptive Frequency-Hopping,简称,简称AFH)功能,通常每秒跳)功能,通常每秒跳1600次。次。蓝牙是基于数据包、有着主从架构的协议。一个主设备至多可和同一微微网中的七个从蓝牙是基于数据包、有着主从架构的协议。一个主设备至多可和同一微微网中的七个从设备通讯。所有设备共享主设备的时钟。分组交换基于主设备定义的、以设备通讯。所有设备共享

28、主设备的时钟。分组交换基于主设备定义的、以312.5s为间隔为间隔运行的基础时钟。两个时钟周期构成一个运行的基础时钟。两个时钟周期构成一个625s的槽,两个时间隙就构成了一个的槽,两个时间隙就构成了一个1250s的缝隙对。在单槽封包的简单情况下,主设备在双数槽发送信息、单数槽接受信息。而的缝隙对。在单槽封包的简单情况下,主设备在双数槽发送信息、单数槽接受信息。而从设备则正好相反。封包容量可长达从设备则正好相反。封包容量可长达1、3、或、或5个时间隙,但无论是哪种情况,主设备个时间隙,但无论是哪种情况,主设备都会从双数槽开始传输,从设备从单数槽开始传输。都会从双数槽开始传输,从设备从单数槽开始传

29、输。10.4.1 10.4.1 蓝牙通信蓝牙通信由于蓝牙设备使用无线电(广播)通讯系统,他们并非是以实际可见的线相连,然而准光学无线路径则必须是可行的。其射程范围如表10.1所示,取决于功率和类别。有效射程因传输条件、材料覆盖、生产样本的变化、天线配置和电池状态等实际应用环境而改变。多数蓝牙应用是为室内环境而设计的,由于墙的衰减和信号反射造成的信号衰落会使得射程远小于蓝牙产品规定的射程范围。多数蓝牙应用是由电池供电的2类设备。当两个敏感度和发射功率都较高的1类设备相连接,射程可远高于一般水平的100m。有些设备在开放的环境中的射程能够高达1km甚至更高。蓝牙技术可以广泛应用于局域网络中各类数据

30、及语音设备,如PC、拨号网络、笔记本电脑、打印机、传真机、数码相机、移动电话和高品质耳机等,实现各类设备之间随时随地进行通信。在嵌入式应用开发中,通常使用集成好的蓝牙模块,比较常用的嵌入式蓝牙模块有普通的印刷在PCB上的HC系列蓝牙模块、内置天线的迷你蓝牙模块。10.4.2 Wi-Fi10.4.2 Wi-Fi通信通信Wi-Fi(Wireless Fidelity)是无线局域网(WLAN)的一个标准,最早的无线局域网可以追溯到上个世纪70年代,基于ALOHA协议的UHF无线网络连接了夏威夷岛,是现在无线局域网的一个最初版本。主流的Wi-Fi标准是802.11b(1999),802.11g(200

31、3)和802.11n(2009),802.11ac(2013),802.11ax(2017)。他们之间是向下兼容的,旧协议的设备可以连接到新协议的AP,新协议的设备也可以连接到旧协议的AP,只是速率会降低。11g,11b都是较早的标准,11b最快只能到11Mbps,11g最快能达到54Mbps。802.11n的速率理论最快可以达到600Mbps,802.11ac理论最快可以达到6.9Gbps,802.11ax理论最大速率10Gbps左右,单用户速率提高不多,它的优势是在多用户,高并发场合提高传输效率。以上速率是理论的物理层传输速率,必须满足最大传输频道带宽下发射接收都达到最大空间流数(多天线输

32、入输出),这个条件一般情况达不到的。另外,Wi-Fi的速率是包含上下行的,就是上下行加起来的速率。这和我们的有线全双工以太网还是有区别的。2.4G的Wi-Fi划分为14个频道,每个频道带宽20-22Mhz,不同的调制方式带宽稍微不同。每个频道的间隔为5M。很明显,相邻的多个频道是有干扰的,相互没有干扰的只有1,6,11,14或者1,5,9,13。这也是为什么在有多个Wi-Fi热点的地方会上不了网,或者非常慢。现在无线路由器都有手动设置频道的功能,如果在家使用无线路由器最好设置到一个和附近的其他Wi-Fi信号不同的最好是间隔比较远的频道。10.4.1 10.4.1 蓝牙通信蓝牙通信 图10.5是

33、22M带宽的情况,802.11n增加了支持40M带宽。从图中可以看出,如果支持40Mhz可用的频道会更少,适合用在干扰比较少的场合,当然在5G频段有更多的可用频道。802.11ac和802.11ax支持更多的频道带宽,增加了80M,160M。Wi-Fi有两种组网结构:一对多(Infrastructure模式),和点对点(Ad-hoc模式,也叫IBSS模式)。我们最常用的Wi-Fi是一对多结构的:一个AP(Access Point,接入点),多个接入设备。每一个客户将其通信报文发向AP,然后AP转发所有的通信报文。这些报文可以是发往以太网的,也可以是发往无线网络的。这是一种整合以太网和无线网络架

34、构的应用模式。无线访问节点负责频段管理及漫游等指挥工作。一个AP最多可连接1024个站点。我们用的无线路由器是其实就是路由器+AP。Wi-Fi还可以点对点结构,比如两个笔记本可以用Wi-Fi直接连接起来不经过无线路由器。常用的Wi-Fi加密有WEP,WPA,WPA2。WEP安全性太差基本上被淘汰了,目前WPA2是被业界认为最安全的加密方式。WPA加密是WEP加密的改进版,包含两种方式:预共享密钥(PSK)和Radius密钥。其中预共享密钥(PSK)有两种密码方式:TKIP和AES,相比TKIP,AES具有更好的安全系数。WPA2加密是WPA加密的升级版,建议优先选用WPA2-PSK AES模式

35、。10.4.3 IrDA10.4.3 IrDA红外通信红外通信IrDA是红外数据组织(Infrared Data Association)的简称,它是一种利用红外线进行点对点通信的技术。由于红外线的波长较短,对障碍物的衍射能力差,相比于无线电波和微波广泛应用在长距离的无线通讯之中,它更适合应用在需要短距离无线通讯的场合,进行点对点的直线数据传输。红外通讯有着成本低廉、连接方便、简单易用和结构紧凑的特点,因此在小型的移动设备中获得了广泛的应用。这些设备包括笔记本电脑、掌上电脑、机顶盒、游戏机、移动电话、计算器、寻呼机、仪器仪表、MP3播放机、数码相机以及打印机之类的计算机外围设备等等。红外线是波

36、长在750nm至1mm之间的电磁波,它的频率高于微波而低于可见光,是一种人的眼睛看不到的光线。红外通讯一般采用红外波段内的近红外线,波长在0.75um至25um之间。为了保证不同厂商的红外产品能够获得最佳的通讯效果,红外通讯协议将红外数据通讯所用的光波波长的范围限定在850nm至900nm之内。IRDA1.0简称为SIR(Serial InfraRed),它是一种异步的、半双工的红外通讯方式。传输速率为2400bps到115200bps,传输范围1m,传输半角度为15度到30度。SIR以系统的异步通讯收发器(UART)为依托,通过对串行数据脉冲的波形压缩和对所接收的光信号电脉冲的波形扩展这一编

37、码解码过程实现红外数据传输。由于受到UART通讯速率的限制,SIR的最高通讯速率只有115.2Kbps,也就是大家熟知的电脑串行端口的最高速率。1996年,IRDA发布了IRDA1.1标准,即Fast InfraRed,简称为FIR。与SIR相比,由于FIR不再依托UART,其最高通讯速率有了质的飞跃,可达到4Mbps的水平。FIR采用了全新的4PPM调制解调(Pulse Position Modulation),即通过分析脉冲的相位来辨别所传输的数据信息,其通讯原理与SIR是截然不同的。但由于FIR在115.2Kbps以下的速率依旧采用SIR的那种编码解码过程,所以它仍可以与支持SIR的低速

38、设备进行通讯,只有在通讯对方也支持FIR时,才将通讯速率提升到更高水平。10.4.4 NFC10.4.4 NFC近场通信近场通信NFC近场通信(Near Field communication),是由Philips、NOKIA和Sony主推的一种类似于RFID(非接触式射频识别)的短距离无线通信技术标准。和RFID不同,NFC采用了双向的识别和连接。在20cm距离内工作于13.56MHz频率范围,其传输速度有106 Kbit/秒、212 Kbit/秒或者424 Kbit/秒三种。近场通信业务结合了近场通信技术和移动通信技术,实现了电子支付、身份认证、电子票务、数据交换、门禁、防伪、广告等多种功

39、能,是移动通信领域的一种新型业务。近场通信业务改变了用户使用移动电话的方式,使用户的消费行为逐步走向电子化,建立了一种新型的用户消费和业务模式。NFC主要有三种通信模式:仿信用卡模式、P2P模式和读机模式。(1)仿信用卡模式:在仿信用卡模式下,NFC设备用作非接触式智能卡,可在各种现有应用中使用,包括票务、门禁系统、交通、收费站和非接触式支付等,实现“移动钱包”功能。(2)P2P模式(点对点模式):点对点模式允许两个启用NFC的设备连接并交换信息。例如,用户可以使用启用NFC的智能手机来设置其他设备的蓝牙或Wi-Fi设置参数,或者在受信任网络中调试其使用。这和iPhone和Android手机上

40、Bump之类的应用交换联系方式的方式类似,但是他们采用的技术不同。(3)读机模式:在读机模式中,近场通信设备可以读取标签。这与如今的条形码扫描工作原理最类似。例如,你可以使用手机上的应用程序扫描条形码获取其他信息。最终,近场通信将会取代条形码阅读变成更为普及的技术。10.4.5 ZigBee10.4.5 ZigBee通信通信ZigBee主要应用在短距离范围之内并且数据传输速率不高的各种电子设备之间。ZigBee名字来源于蜂群使用的赖以生存和发展的通信方式,蜜蜂通过跳ZigZag形状的舞蹈来分享新发现的食物源的位置、距离和方向等信息。ZigBee是一种短距离、低功耗的无线通信技术。其特点是近距离

41、、低复杂度、自组织、低功耗、低数据速率。主要适合用于自动控制和远程控制领域,可以嵌入各种设备。ZigBee协议从下到上分别为物理层(PHY)、媒体访问控制层(MAC)、网络层(NWK)、传输层(TL)、应用层(APL)等,如图10.6所示。其中物理层和媒体访问控制层遵循IEEE 802.15.4标准的规定。10.4.5 ZigBee10.4.5 ZigBee通信通信如图10.7所示,ZigBee是一个由可多到65000个无线终端设备组成的一个无线传感器网络平台。在整个网络范围内,每一个ZigBee网络终端设备之间可以相互通信,每个网络节点间的距离可以从标准的75m到几百米、几公里,并且可通过带

42、路由的组网方式来无限扩展。ZigBee协议的主要特点包括:(1)低功耗。在低耗电待机模式下,2节5号干电池可支持1个节点工作624个月,甚至更长,这是ZigBee的突出优势。相比较,蓝牙能工作数周、WiFi可工作数小时。10.4.5 ZigBee10.4.5 ZigBee通信通信(2)低成本。通过大幅简化协议降低了对通信控制器的要求。以8051的8位微控制器测算,全功能的主节点需要32KB代码,子功能节点少至4KB代码,而且ZigBee免协议专利费。(3)低速率。ZigBee工作在20250kbps的速率,分别提供250 kbps(2.4GHz)、40kbps(915 MHz)和20kbps(

43、868 MHz)的原始数据吞吐率,满足低速率传输数据的应用需求。(4)近距离。传输范围一般介于10100m之间,在增加发射功率后,亦可增加到13km。这指的是相邻节点间的距离。如果通过路由和节点间通信的接力,传输距离将可以更远。(5)短时延。ZigBee的响应速度较快,一般从睡眠转入工作状态只需15ms,节点连接进入网络只需30ms,进一步节省了电能。相比较,蓝牙需要310s、WiFi 需要3s。(6)高容量。ZigBee可采用星状、片状和网状网络结构,由一个主节点管理若干子节点,最多一个主节点可管理254个子节点;同时主节点还可由上一层网络节点管理,最多可组成65000个节点的大网。(7)高

44、安全。ZigBee提供了三级安全模式,包括无安全设定、使用ACL访问控制清单(Access Control List)防止非法获取数据以及采用高级加密标准(AES 128)的对称密码,以灵活确定其安全属性。(8)免执照频段。使用工业科学医疗(ISM)频段,915MHz(美国),868MHz(欧洲),2.4GHz(全球),由于此三个频带物理层并不相同,其各自信道带宽也不同,分别为0.6MHz、2MHz和5MHz,分别有1个、10个和16个信道。采用ZigBee技术的产品可以在2.4GHz上提供250kbit/s(16个信道)、在915MHz提供40kbit/s(10个信道)和在868MHz上提供

45、20kbit/s(1个信道)的传输速率。比较有竞争力的ZigBee解决方案包括Freescale的MC1319X平台,Chipcon的CC2530解决方案,Ember的EM250ZigBee系统晶片及EM260网络处理器,Jennic的JN5121芯片等。10.4.6 NB-IoT10.4.6 NB-IoT窄带物联网通信窄带物联网通信NB-IoT,全称是Narrow Band Internet of Things,即窄带物联网,是万物互联网络的一个重要分支。NB-IoT构建于蜂窝网络,属于LPWAN(低功耗广域网络)的技术之一,只消耗大约180KHz的带宽,可直接部署于GSM网络、UMTS网络

46、或LTE网络,以降低部署成本、实现平滑升级。它适用于远距离低速率业务,而高速率业务主要使用3G/4G技术,中等速率业务主要使用GPRS技术。从技术上说,NB-IoT具有广覆盖、低功耗、低成本、大连接的特点,受到国内三大电信运营商和华为的大力推动。具体说来,NB-IoT覆盖更广,它比GSM覆盖增强20dB,窄带功率谱密度提升,重传次数为16次。在低功耗上,其电池寿命最长可达到10年,这源于发射/接收时间变短,功放效率高,协议得到简化,芯片功耗降低。尤其是DRX(不连续接收)技术的使用,让终端只在需要的时候工作。在连接上,NB-IoT是海量连接,每小区可达50K连接。这也表明,在同一基站下,NB-

47、IoT可以比现有无线技术提供50100倍的接入数。而在成本方面,NB-IoT简化射频硬件、简化协议和减小基带复杂度。可以说,NB-IoT在降低成本上花费很多心思。简言之,NB-IoT非常适合使用频率不高、接收数据量不大的户外产品,比如下水道、井盖、安保、共享单车、路灯等等场景。根据工信部2017年发布的关于全面推进移动物联网(NB-IoT)建设发展的通知。通知要求,到2017年末,实现NB-IoT网络覆盖直辖市、省会城市等主要城市,基站规模达到40万个;到2020年,NB-IoT网络实现全国普遍覆盖,面向室内、交通网络、地下管网等应用场景实现深度覆盖,基站规模达到150万个。10.5 10.5

48、 嵌入式网络协议栈嵌入式网络协议栈基于TCP/IP协议的互联网协议有很多,有的协议功能全面、架构庞大,有的协议则极致精简,追求最快的执行速度,因此在实际应用中,需要选择最适合的网络协议。通常,嵌入式系统的性能较商用PC机或服务器来说相对较差,且很少会出现需要吞吐大量数据的应用场景。因此,本节主要介绍当前主流的适用于嵌入式网络的协议栈和一些被广泛应用在小型嵌入式系统的网络协议,主要包括:LwIP、Contiki、embOS/IP、uC/IP、FreeRTOS-TCP和RL-TCPnet。10.5.1 10.5.1 嵌入式嵌入式TCP/IPTCP/IP网络协议栈网络协议栈虽然嵌入式TCP/IP协议

49、栈可以实现的功能与完整的TCP/IP协议栈是相同的,但是由于嵌入式系统的资源限制,嵌入式协议栈的一些指标和接口等与普通的协议栈可能有所不同。例如嵌入式系统的网络协议栈结构更精简、稳定性更强等,通常又称为轻量级TCP/IP协议栈。以LwIP网络协议栈为例,嵌入式网络协议栈与整个用户系统和操作系统的关系如图10.9所示,它界于硬件驱动层与用户任务层之间,层与层之间的通信通过定义的统一接口来完成。10.5.1 10.5.1 嵌入式嵌入式TCP/IPTCP/IP网络协议栈网络协议栈嵌入式网络协议栈与普通的TCP/IP协议栈两者的主要区别包括:(1)调用接口不同普通协议栈的套接字接口是标准的,应用软件的

50、兼容性好。但是实现标准化接口的代码开销、处理和存储开销都是巨大的。因此,多数厂商在将标准的协议栈接口移植到嵌入式系统上的时候,都做了不同程度的修改简化,建立了高效率的专用协议栈,它们所提供的API与通用协议栈的API不一定完全一致。(2)可裁剪性嵌入式协议栈多数是模块化的,如果存储器的空间有限,可以在需要时进行动态安装,并且都省去了对嵌入式系统而言非必需的部分。10.5.1 10.5.1 嵌入式嵌入式TCP/IPTCP/IP网络协议栈网络协议栈(3)平台兼容性一般协议栈与操作系统的结合紧密,大多数协议栈是在操作系统内核中实现的。协议栈的实现依赖于操作系统提供的服务,移植性较差。嵌入式协议栈的实

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 终生教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报