基于蓝牙的工业开关量传送系统.doc

上传人:文库蛋蛋多 文档编号:4136007 上传时间:2023-04-07 格式:DOC 页数:47 大小:1.29MB
返回 下载 相关 举报
基于蓝牙的工业开关量传送系统.doc_第1页
第1页 / 共47页
基于蓝牙的工业开关量传送系统.doc_第2页
第2页 / 共47页
基于蓝牙的工业开关量传送系统.doc_第3页
第3页 / 共47页
基于蓝牙的工业开关量传送系统.doc_第4页
第4页 / 共47页
基于蓝牙的工业开关量传送系统.doc_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《基于蓝牙的工业开关量传送系统.doc》由会员分享,可在线阅读,更多相关《基于蓝牙的工业开关量传送系统.doc(47页珍藏版)》请在三一办公上搜索。

1、基于蓝牙的工业开关量传送系统摘 要传统的工业数据通信采用有线线缆进行信息的传输,但繁琐的布线会带来诸多不便特别是某些应用场合,不允许布线或无法布线,如工业现场通常环境恶劣,高温、潮湿、在有的工业环境中还存在运动或者旋转的设备中,走线十分不方便,寻找一种短距离无线通信技术来解决工业现场问题成为了一种需要。蓝牙技术是一种无线数据和语音通信的开放性全球规范,其目的是实现设备之间低成本、低功耗的无线连接。随着蓝牙技术的迅速发展和逐渐成熟,将蓝牙运用到工业数据通信系统成为了可能。本文主要基于蓝牙文件传输协议栈的基础上,研究了利用蓝牙技术进行工业现场数据(工业开关量)的传输,具体实现了在脱离PC情况下蓝牙

2、设备之间数据的通信以及PC机与蓝牙设备之间的通信。为在恶劣的工业坏境中数据传输中存在的问题提供了一种解决方案。关键词:蓝牙,蓝牙协议 ,BlueCore4 ,工业现场Industrial Switch Data Delivery System Based on BluetoothABSTRACTThe traditional industrial data communication is using cable for information transmission, but tedious wiring will bring a lot of inconvenience especial

3、ly in some applications, such as industrial site usually environment is bad, and high temperature, moisture, in some industrial environment also there is movement of or rotating equipment, which is not convenient wiring, It is necessary that looking for wireless communication to solve the industrial

4、 site issues.Bluetooth is a wireless data and voice communications the openness of the global standard, its purpose is achieving between equipments of low power consumption, low cost wireless connection. With Bluetooth technology rapid development and mature gradually, Bluetooth will be applied to i

5、ndustrial data communication system. This paper is mainly based on Bluetooth transfer protocol stack, and with the study on Bluetooth technology for industrial field data (industrial switch quantity) transmission, the specific implementation from the PC to PC and the communication between the Blueto

6、oth devices. It provides a data communication solution in bad industrial situations.KEY WORDS:Bluetooth, Bluetooth Protocol, BlueCore4目 录摘要IABSTRACTII1 绪论11.1 研究目的与意义11.2 国内外发展现状11.3 研究内容22 蓝牙概述32.1 蓝牙起源32.2 几种WLAN技术的比较32.3 各公司蓝牙模块53 蓝牙协议栈架构及其组成73.1 蓝牙协议栈的结构体系73.1 蓝牙无线射频73.2 蓝牙链路管理器和基带83.2.1 蓝牙微网和物理

7、链路83.2.2 地址格式93.2.3 蓝牙分组格式103.2.4 蓝牙设备操作状态及转换103.2.5 蓝牙基带加密与鉴权113.3 蓝牙链路管理器协议LMP123.4 逻辑链路控制和适配协议L2CAP123.4.1 L2CAP概述133.4.2 L2CAP分组格式133.5 服务发现协议SDP143.5.1 服务发现协议概述153.5.2 服务发现协议数据单元格式153.6 替代电缆协议(RFCOMM)163.6.1 RFCOMM概述163.6.2 RFCOMM服务接口164 系统硬件部分设计184.2 蓝牙主控模块BC04184.3 串口通信电路设计204.3.1串口通信概念204.3.

8、2常用的串口通信接口标准214.2.3 RS232接口标准详解224.4 下载接口SPI设计244.5 电源电路设计255 系统软件部分设计285.2 软件开发平台305.3 软件功能概述315.4 软件文件说明32结论34致谢35参考文献36附录37附录39 1 绪论各种新技术、新器件、新理论的出现和计算机网络的飞速发展,必将给数据采集传输技术的发展和应用提供广阔的天地。数据采集与传输方式朝复合式、多样性发展。近年来短距离无线与移动通信相继突起,WLAN、蓝牙技术、移动Ad Hoc网以及超宽带(UWB)技术等各种热点技术相继出现,均展现出各自巨大的应用潜力。蓝牙技术作为一种新兴的无线通信技术

9、应用到数据传输系统中,它还可以很方便的连接Internet/Intranet中,与网络配合来实现远程数据采集与传输,这将极大的节约数据传输的成本,尤其是对资金密集型的民用航空业来说。进一步融合EMIT(嵌入式微型因特网互联技术)和ECS(嵌入系统)技术,使现场数据传输子系统的智能化程度得到提高,且能够更方便的与远程数据采集与分析中心建立起通信渠道。随着微处理器和嵌入式技术的发展,数据传输系统的I/O系统的智能化程度将进一步提高,使整个系统的实时性性能提高;同时,高智能化的数据传输子系统可以很方便地通过Internet/Intranet将通信距离无限扩展。1.1 研究目的与意义传统的数据传输系统

10、的采集端和控制端是以有线的形式连接的,数据分析处理大多在工控机及PC上实现,存在布线复杂,开发周期长等问题。随着信息技术的发展,现代数据传输技术的发展对系统的可移动性和无缆性的要求空前提高。嵌入式系统应用与研究发展现状在现在日益信息化的社会中,计算机和网络已经全面渗透到日常生活的每一个角落。各种各样的新型嵌入式系统设备在应用数量上已经远远超过通用计算机。在工业和服务领域中,由于工业控制现场有各种噪声干扰无线通信,所以采用FHSS跳频方式实现双向无线数据传输,以达到信号可靠地传输到目的地。系统有蓝牙主单元和从设备单元组成,经查询扫描建立连接后可进行双向数据通信,将需要控制的开关量通过无线可靠地传

11、输到远端的接收模块和相应的上位计算机当中。实现了有线电缆替代。适合于一些危险场所和人员不宜接近设备的控制和无线数据传输。同时,该系统也可应用于其他数据采集和传输行业,具有广大的市场前景。1.2 国内外发展现状目前,不但不同类型数据网与计算机之间软件不兼容成为发展障碍,而且开发的数据应用软件大多为膝上计算机、家提供或者办公等固定的环境中使用,无线数据和无线网路通信量的比例不到5%。Bluetooth能解决上诉两个问题,能推动固定和移动两个环境之间软件的开发。若再加上支持端有微软的解决方案,将会促进无线短距离数据通信的发展。世界上各大厂商正在积极投入力量进行蓝牙模块的研制与调试。并且一度超过无线局

12、域网芯片的销售量。而国内应用组广泛的是CSR公司的和爱立信公司的蓝牙模块。世界主要的生产蓝牙模块的公司有爱立信的蓝牙模块如ROK101007、DELTA公司的蓝牙模块如DFBM-CF121、AirLogic公司的蓝牙模块。其中最为也能够用广泛的是英国CSR公司生产的BlueCore系列蓝牙芯片,而且一些国际知名品牌如如微软、Panasonic、Audio、NEC、东芝、三星和索尼均已在其蓝牙系列产品中使用了BlueCore。2003年6月CSR公司推出了第三代BlueCore芯片,这是首款支持蓝牙v1.2规范蓝牙芯片。2004年6月29日,CSR PLC公司日前宣布推出第四代蓝牙硅芯片Blue

13、Core4,BlueCore4的数据传输率将比现有的v1.2蓝牙装置快三倍,而且耗电量较低,该产品现已交由主要的OEM客户试用。随后CSR公司相继推出自己的第五代、第六代蓝牙芯片。至现在为止,CSR公司推出了最新的第七代蓝牙芯片BlueCore7,新一代的蓝牙芯片功耗更低,支持最新的蓝牙规范版本,也在语音质量和功率要求方面作了重要改进。.1.3 研究内容 本论文主要着眼于工业现场数据有线传输带来的不便,分析了蓝牙短无线通信的优势,从蓝牙软件协议开始到硬件系统的设计详细介绍了蓝牙技术开发过程。研究分为两个方面:脱离PC机也就是在设备可移动的情况下进行蓝牙设备之间数据的通信;在PC机和蓝牙设备之间

14、数据的通信。2 蓝牙概述2.1 蓝牙起源蓝牙(Bluetooth)原是十世纪统一了丹麦的国王的名字,现取其“统一”的含义,用来命名意在统一无线局域网通讯标准的蓝牙技术。蓝牙技术是爱立信、IBM等5家公司在1998年联合推出的一项无线网络技术,随后成立的蓝牙技术特殊兴趣组织(SIG)来负责该技术的开发和技术协议的制定,用来替代电缆连接便携与固定设备。如今全世界已有1800多家公司加盟该组织,而微软公司也正式加盟并成为SIG组织的领导成员之一。蓝牙是无线数据和语音传输的开放式标准,它将各种通信设备、计算机及其终端设备、各种数字数据系统、甚至家用电器采用无线方式联接起来。蓝牙技术规定了4中物理接口:

15、通用串行接口USB、EIA-232、PC卡及通用异步收发器 UART接口。它的传输距离为10cm-l0m,如果增加功率或是加上某些外设便可达到l00m的传输距离。它工作于无需许可证的工业、科学与医学频段(ISM),频率范围为2.4G-2.485 GHz 2.4GHz,采用跳频扩频技术(FHSS),使用前向纠错编码、ARQ,TDD和基带协议。TDMA每时隙为0.625us,基带符合速率为1Mb/s。蓝牙支持64Kb/s实时语音传输和数据传输,语音编码为CVSD(连续可变斜率增量调制),发射功率分别为1mW,2.5mW和l00mW,并使用全球统一的48比特的设备识别码。由于蓝牙采用无线接口来代替有

16、线电缆连接,具有很强的移植性,并且适用于多种场合,加上该技术功耗低、对人体危害小,而且应用简单、容易实现,所以易于推广。2.2 几种WLAN技术的比较(1)蓝牙频率:2.4G ISMRF技术:TDD,全双工,FHSS 1600-3200 hop/s,GFSK传输率:1-3Mbps范围:10-100m 特点及应用:耳机、鼠标、键盘、网络接入、AD-HOC网络及各种手持数据通信终端的数据语音的传输(2)802.11频率:2.4G ISMRF技术:FDD,全双工,FHSSDSSS,OFDM传输率:1-54Mbps范围:10-100m特点及应用:AD-HOC网络及网络接入(3)红外线RF技术:半双工传

17、输率:9.6Kbps-16Mbps范围:10m特点及应用:短距离、无遮挡的设备间通信(4)ZigBee频率:2.4GHz ISM(全球)、868MHz(欧洲)及915MHz(美国),RF技术:QPSK,DSSS传输率:10-250Kbps范围:50m特点及应用:ZigBee数据传输速率低,协议简单,每个ZigBee网络最多可支持255个设备,扩展后可支持65535个设备。(5)RFID频率:13.56MHz、43.3-92MHz、860-930MHz、245GHz、5.8GHzRF技术:电磁耦合,电磁发射传输率:26.48-500Kbps范围:1-10m特点及应用:电子标签(6)HomeRF频

18、率:2.5GRF技术:FHSS,50 hop/s传输率:1-2Mbps范围:50m特点及应用:在家庭区域范围内的任何地方,在PC和用户电子设备之间实现无线数字通信的开放性工业标准(7)WIMAX频率:2-6GHZRF技术:OFDM(正交频分复用),MIMO(多输入多输出技术),基于动态适应性信号调制模式传输率:70Mbps范围:50km特点及应用:高速城际无线网络UWB 频率:3.1GHz-10.6GHzRF技术:IR(脉冲无线电),信号带宽与中心频率之比大于25传输率:100-500Mbps范围:10m特点及应用:低功耗、高带宽、低复杂度,对信道衰落不敏感、发射信号功率谱密度低、安全性高、系

19、统复杂度低,能提供数厘米的定位精度。信号带宽大于1.5GHz,或信号带宽与中心频率之比大于25为超宽带,近距离的高速无线传输。综上,在当今各种主流的WLAN技术中,红外和HOMERF技术落后且不适合国情,RFID和ZigBee只适合做多点监控,802.11的抗干扰和复用能力弱,WIMAX和UWB技术还在研发之中。相比之下蓝牙的低成本、低功耗、安全性好,应用范围广泛的特点,决定了它适合于语音通信或者对速度要求不太高、安全性好的设备间的数据通信。而且蓝牙自组网的网络规模可以很大,能很好的抗击节点间的干扰,节点上的应用在延迟和吞吐率上能达到稳定持久的性能,实现如语音和低速数据等交互服务。在构建数据采

20、集系统时蓝牙具有更好的抗干扰性,具有较好的应用前景。与其它工作在相同频段的系统相比,减少了射频干扰,这使蓝牙技术比其它系统更稳定。蓝牙协议提供较高的传输速率和多种上层应用标准协议,与其他无线通信技术相比,具有低功耗、廉价等特点。因此,蓝牙被认为是最适合构建小型数据采集网络的无线通信技术之一。蓝牙跳频技术可以使多个微微网在近距离内同时存在。在构造个人区域网络或无线传感器网络时,802.11也是一个候选技术。2.3 各公司蓝牙模块目前世界各大蓝牙厂商正在积极投入力量进行蓝牙模块研制和测试,曾一度超过无线局域网络(WLAN)的销售量。在国内常见与广泛应用的是CSR和爱立信蓝牙模块,以下简单介绍一下世

21、界各大蓝牙厂商的主流蓝牙模块。(a)爱立信是蓝牙技术发起人之一,该公司的ROK 101007是一款使用于短距离通信通信的无线/基带模块,该蓝牙模块集成度高、功耗小、完全兼容蓝牙协议v1.1,可嵌入任何需要蓝牙功能的设备中,该模块包括基带控制器、无线收发器、闪存等部件,可提供高至HCI(主机控制接口)层的功能。此外该模块还提供USB、UART、和PCM接口,因而能更方便的与主机进行通信。此外该模块还支持蓝牙语音和数据传输,且其输出功率满足Class2要求。(b)英国CSR公司公司是世界上主要的蓝牙芯片供应商。CSR公司为快速成长的蓝牙技术应用市场提供完备的硬件和软件开发包。在所有符合v1.1规范

22、的合格终端产品设计中,有60%的都采用的是CSR的BuleCore系列蓝牙芯片,一些国际知名公司如微软、Panasonic、Audi、NEC、东芝、三星和索尼均在其蓝牙系列产品中使用了BlueCore.2003年6月CSR公司推出第三代BlueCore芯片。这是首款完全支持v1.2规范的蓝牙芯片。而它的BlueCore2-Extends模块在设计上是一款适用于蓝牙2.4GHZ系统的单芯片蓝牙模块,采用0.18um的CMOS技术,外部的FLASH存储器用来存储CSR蓝牙软件协议栈,BlueCore2-Extends能够提供完全符合蓝牙规范的数据和语音通信。而且在设计上简化了大量的外部射频部件,降

23、低了模块产品的成本,模块采用自校准和内嵌的自检程序以简化开发、产品认证和产品测试,所有硬件和模块固件完全符合v1.1和v1.2的要求。(c)DELTA是台湾一家电子公司,其生产的DFBM-CF121蓝牙模块具有较高的性价比,使用起来非常方便。DFBM-CF121为Class2蓝牙模块,符合蓝牙规范v1.1/v1.2。该模块可以用于GPS、单通道耳机、计算机、数字相机和打印机等设备。该模块体积小,高密度封装,接收灵敏度高,具有4MB的Flash ROM。支持常见的接口,如USB、UART、和PCM。工作温度范围为-40到+85。(d)AirLogic是韩国的一家专门从事技术研究的开发及提供专业蓝

24、牙产品公司。该公司生产多种蓝牙模块。如ABM-200-1XXX、ABM-200-2XXX、ABM-300-2GSM等各种蓝牙模块都是该公司研究开发。Class1蓝牙模块最大输出功率20dBm高灵敏度,支持最大距离100m。Class2的蓝牙模块最大输出功率为4dBm,最远通信距离为20m。3 蓝牙协议栈架构及其组成3.1 蓝牙协议栈的结构体系蓝牙协议栈的体系结构如图3-1所示.它是由底层硬件模块、中间层和高端应用层三大部分组成。图3-1 蓝牙协议栈体系3.1 蓝牙无线射频蓝牙无线射频是蓝牙协议中的最低层次,属于蓝牙技术的硬件接口,实现蓝牙技术的空中物理接口,该层主要规定了蓝牙射频信号的规格和参

25、数,包括射频信道的划分、射频的频段分布、信号的调制方式等,这部分协议主要是由蓝牙专用硬件电路来实现。(1)射频频段和物理信道蓝牙射频工作在免费的2.4GHzISM频段,大多数国家规定这个频段分布在2400MHz -2483.50MHz。蓝牙底层收发器使用跳频扩频(FHSS)无线系统,高斯频移键控(GFSK)调制方式,针对不同国家对ISM频段使用的规定,蓝牙制定了不同的的跳频信道。对于大多数国家使用的是2400MHz-2483.5MHz,在这个频段划分出79个跳频信道,每个信道带宽为1MHz。而其他一些国家对于2.4GHz频段划分为23个跳频信道,具体划分情况如表3-1所示:表3-1 2.4GH

26、z频段划分方案地区频率范围信道划分方案美国、欧洲和大多数国家2400-2483.5MHzf=(402+k)MHz,k=0,78日本2471-2497MHzf=(2473+k)MHz,k=0,22西班牙2445-2475MHzf=(2449+k)MHz,k=0,22法国2446.5-2483.5MHzf=(2454+k)MHz,k=0,22蓝牙射频系统使用了时分双工(TDD)工作方式,这样信道从时间上被划分为很多时隙,蓝牙微网中的设备分为主设备和从设备,其中,发起通信的设备称为主设备,其他设备都是从设备。主设备在偶时隙发送,从单元在奇时隙发送。蓝牙射频的跳频频率是1600跳/秒,每个时隙的宽度是

27、625uS(l/1600秒),蓝牙射频在指定时隙中其工作频率是不变的,所有微网中的蓝牙设备都与主设备的跳频序列同步。通常分组的传输是在一个时隙中完成,如果在一个时隙中无法完成全部数据的传输,也可以在3个时隙中完成传输,最多可以扩展到5个时隙,此时频率保持不变,与第1个时隙的频率相同。(2)射频发射功率蓝牙技术作为一种使用在便携设备上的无线通信技术,应用上要求实际的电能消耗要尽可能低,还要可以根据实际通信环境动态调整功率消耗。蓝牙的发射机提供了三个不同的功率等级:(a) Class 1:1mW(0dBm)-100mW(20dBm)(b) Class 2:0.25mW(-6dBm)-2.5mW(4

28、dBm)(c) Class 3:1mW(0dBm)3.2 蓝牙链路管理器和基带与蓝牙射频一样,蓝牙链路控制器和基带也是在蓝牙硬件中实现的,其主要功能是蓝牙微网和设备的控制,包括定时、建立链路物理连接、跳频序列选择、媒体接入控制、功率控制和安全策略,可以认为蓝牙射频提供了传输数据和语音的方法,而蓝牙链路控制器和基带则实现对蓝牙射频工作的控制。3.2.1 蓝牙微网和物理链路蓝牙支持点对点和点对多点传输两种连接方式。多个共享信道的蓝牙设备构成蓝牙微网。在一个微网中发起通信的设备成为主设备,同一个微网中的所有蓝牙设备使用该微网中主设备的跳频序列进行通信。基带就定义了跳频序列的产生。当多个微网在一定的区

29、域中出现重合时,便产生了散射网。同一个设备可以在一个微网中充当主设备,而在另一个微网中则充当从设备。蓝牙的物理链路分为两种:SCO链路与ACL链路。SCO(Synchronous Connection Oriented)链路是面向连接的同步链路,它支持主设备和特定的从设备之间对称点到点链路,是传输语音的线路交换链路。SCO链路是在物理信道中的保留时隙上实现的。微网中一个主设备最多支持到不同或同一个设备的3条SCO链路,因为SCO链路使用的面向连接链路可以保证通信的可靠性,所以它不再提供对重发分组的支持。ACL(Asynehronous Cormeetion Less)链路是在非SCO链路保留时

30、隙上工作的无连接链路,它是主从设备之间的分组交换式连接,ACL链路主要用来传输数据信息。在一对主从设各之间最多只能支持一条ACL链路,ACL链路支持一个设备对多个设备的广播。因为ACL链路使用的无连接链路无法保证通信的可靠性,所以它支持重发分组的机制。3.2.2 地址格式(a)蓝牙设备地址每个蓝牙设备都有一个全球唯一的48位地址,称为蓝牙设备地址(BDADDR)。该地址是固化在蓝牙物理硬件中的,蓝牙设备地址分为3个段:24位低地址段(LAP)、16位高地址段(UAP)和4位未定义段,如图3.2所示。蓝牙设备地址除可以唯一标识一个蓝牙设备外,它与微网标识、分组头错误检测、鉴权和加密字的产生有着密

31、切的关系。24bit 8bit 16bitLAPNAPUAP图3-2 蓝牙设备地址格式(b)微网活动成员地址在一个微网中,主设备为每个活动从设备都分配一个3位的活动成员地址(AMADDR),所以一个微网中最多可以有7个活动从设备,其中全0的活动成员地址用于进行广播通信。当微网主设备与从设备进行通信时就在分组中使用该地址来标识从设备。(c)休眠成员地址当微网中的从设备进入休眠状态时,主设备给该从设备分配一个8位的休眠地址(PMADDR),主设备就是通过该地址来区别休眠的从设备的,在一个微网中最多可以有256个休眠的从设备。(d)访问请求地址当从设备要从休眠状态转为活动状态时,从设备使用访问请求地

32、址(ARADDR)来确定从一主时隙来和主设备保持同步。不同的从设备可以使用相同的访问请求地址。3.2.3 蓝牙分组格式蓝牙的数据信息是以分组的形式通过基带传输的,每个分组由3个部分组成:72位识别码、54位分组头、最多2745位有效净荷,如图3-3所示。根据操作不同,分组可以由识别码自己单独组成,或者由识别码和分组头组成,或者由识别码、分组头和有效净荷共同组成。72bit 54bit 0-2745bit识别码分组头有效净荷图3-3 蓝牙分组格式其中,识别码主要用于时钟同步、DC补偿平衡和身份识别,在同一个微网中所有设备使用相同的识别码,识别码本身可以分为:信道识别码(CAC)、设备识别码(DA

33、C)、通用查询识别码(GIAC)、专用查询识别码(DIAC)。分组头中包含重要的链路控制数据,帮助中间接入控制。为了保证头字段的可靠性,它使用1/3FEC纠错编码,实际它的数据为18位,其组成如图3-4所示。其中AMADDR是要通信的活动成员地址;TYPE是分组类型,共有16种;FLOW用于流控;ARQN用于捎带确认信息;SEQN说明该分组是否为重发分组;HEC是头错误校验。3bit 4bit 1bit 1bit 1bit 8bitAM_ADDRTYPEFLOWARQNSEQNHEC图3-4 分组头格式有效净荷有3种形式:(a)ACL分组只包含数据信息(b)SCO分组只包含语音信息(c)DV分

34、组同时包含语音和数据信息按照SCO和ACL链路不同可以将分组分为12种,还有4种为两种链路都使用的通用分组。3.2.4 蓝牙设备操作状态及转换蓝牙操作状态包括2种主状态:连接状态(Colmected State)和待机状态(Standby State)。还有7种子状态:呼叫(page)、呼叫扫描(Pagescan)、查询(Inquiry)、查询扫描(Inquiry Sean)、主设备应答(Master Response)、从设备应答(Slave Response)、查询响应(Inquire Sponse)。主从设备的状态转换需要链路管理命令和链路管理器内部信令的控制。从待机状态到连接状态,中间

35、需要经过查询和呼叫状态。在查询状态下,主设备在其通信范围之内搜索其他设备的标识,而从设备必须处于查询扫描状态监听和响应查询;在呼叫状态下,主设备对其通信范围内的指定设备进行呼叫操作,从设备必须处于呼叫扫描状态。如果主设备己经获得了从设备的蓝牙设备地址,主设备可以直接越过查询状态而直接进行呼叫操作。3.2.5 蓝牙基带加密与鉴权(1)蓝牙基带加密因为蓝牙的数据信息是通过无线空中接口传输的,所以信息的安全性就非常重要,不能直接把明文数据在空中传输,必须通过硬件将要发送的数据加密,这样即使数据被非法截获(蓝牙的跳频序很难被其他非微网设备获得),没有正确的密钥,这些数据也无法被破解,这样就提高了蓝牙的

36、安全性。但因为加密要占用一定的理时间,所以根据不同的蓝牙应用规范用户可以选择是否使用基带加密。蓝牙通过加密分组的净荷可以保护重要的用户数据,而接入码分组头不需要加密。蓝牙的加密过程使用流密系统E0,其原理如图3-5所示。流密系统E0主要包括3个部分:第一部分执行初始化生成净密钥;第二部分生成密钥比特流;第三部分完成最后的加密或解密。图3-5 蓝牙流密系统E0(2)鉴权在蓝牙设备中除了基带数据的加密,蓝牙还实现了不同设备之间的鉴权,蓝牙设备之间使用竞争响应(ChanengeRessonse)模式。这种模式需要2步协议,使用对称密钥对申请鉴权设备的密钥进行检测。如果经过正确的链路密钥生成方法,生成

37、K。验证设备生成一个随机数AU_RANDA,并发送给申请鉴权的设备,申请设备会使用该随机数和申请设备的蓝牙地址和K产生一个SRES值,并将其发送回鉴权设备,鉴权设备也使用同样的方法生成一个SRES,如果这两个SRES相等则鉴权通过,否则鉴权失败,鉴权设备将不给申请设备提供服务。鉴权可以是双向的,所以两个设备可以互相鉴权,如图3-6所示。图3-6 蓝牙设备鉴权原理3.3 蓝牙链路管理器协议LMP链路管理器是运行在蓝牙设备处理器中的软件,其作用是通过换链路控制信息,对蓝牙设备之间的链路进行设置和控制,以实现链路的管理。它是位于链路控制器之上的,但和其他的协议层没有接的层次关系。链路管理器之间使用链

38、路管理器协议(LMP,Link Manager Protocol),在不同设备之间的链路管理器之交换的消息称为链路管理器协议数据单元(LMPPDU)。LMP协议能是负责链路的建立、加密和控制。链路管理器消息的优先级要比用户数据的优先级高。LMPPDU是放在ACL数据分组中传送的。ACL数据分组的载荷头字段中包含了一个LCH字段,如果其取值为11,表示该分组的有效载荷中包含的是LMPPDU,LMPPDU只能使用单DMI分组或者DV分组的格式发送。LMPPDU的格式如图3-7所示。它由三部分组成:7位的操作码表示不同类型的LMPPDU;1位事务ID字段表示该LMPPDU主设备还是从设备发出的(事务

39、ID为0表示它是由主设备发出的,事务ID为1表示它是由从设备发出的),不定长的内容字段包含了LMPPDU的具体参数。 7Bit 1bit 不定长操作码事务ID内容图3-7 LMPPDU分组格式根据操作码的不同,蓝牙LMPPDU的分组类型有很多。整体上蓝牙分组可以分为两种类型:第一种类型要求发送方链路管理器发送请求消息初始化通信,而接收方链路管理器接受消息后可以接受请求执行要求的操作,或者拒绝消息请求并发送LMP_not_accepted分组,或者发送自己的请求消息进行协调。第二种类型要求发送方链路管理器发送请求消息,接受方链路管理器必须接受请求,并按请求操作。3.4 逻辑链路控制和适配协议L2

40、CAP3.4.1 L2CAP概述逻辑链路控制和适配协议(L2CAP,Logical Link Control and Adaption Protocol)工作的层次相当于IS0/0SI模型的数据链路层,在蓝牙协议层次中,它处于基带协议与蓝牙高层应用之间。L2CAP使用基带协议提供的服务,并为高层应用协议提供连接服务,L2CAP使用基带协议中的ACL链路,并由基带协议来保证传输数据的完整性。L2CAP不提供信道的可靠性以及保证数据分组的完整性,它不负责重传和校验的计算工作。如果使蓝牙高层应用协议直接面对基带协议,则将增加高层协议的复杂性,使上层应用的开发过多的依赖于基带协议。所以在基带协议与高层

41、应用协议之间加入L2CAP层来实现高层应用协议与基带协议的接口。L2CAP协议可以向上层应用协议提供的服务包括:(a)协议复用因为L2CAP要向不同的高层应用协议提供服务,而基带协议并没有规定类型字段,无法区分高层协议。所以它必须支持协议复用。(b)分段重组基带协议所能传输的分组的长度是有限的,而高层协议所要传输的数据长度可能要很长,所以L2CAP必须把高层协议的长数据分段为较小的基带分组来发送,而接收方的L2CAP层也相应的要将基带层提供的小分组重组还原为原来较大的高层分组。(c)QOS保证为了保证逻辑链路的服务质量,L2CAP允许在建立连接的过程中交换链路的QOS控制信息,通信双方的L2C

42、AP层必须要监视资源的使用情况,保证逻辑链路能够达到最好的服务质量。(d)组管理在蓝牙的高层和底层协议中都支持组的概念,为了将高层组映射到底层的组,L2CAP提供了对于组的管理。3.4.2 L2CAP分组格式L2CAP支持面向连接信道、无连接信道和信令信道,它们使用不同的分组格式。16bit 16bit 变长长度CID有效载荷图3-8 L2CAP分组格式(1)面向连接信道分组格式L2CAP面向连接的信道是双向的,其分组格式如图3-8所示。长度字段:16位,指示有效载荷的长度。.CID信道标识符字段:16位,指示分组的目的CID。有效载荷:0-65535字节可变长,承载上层发送到下层或下层送到上

43、层的数据。(2)无连接数据信道L2CAP无连接信道是单向的,提供到组的逻辑连接,其分组格式图3-9所示。16bit 16bit至少16bit 变长长度CIDPSM有效载荷图3-9 L2CAP无链接信道数据分组长度字段:16位,指示PSM字段和有效载荷长度之和。CID信道字段:16位,指示分组的目的CID。协议/复用PSM字段:最小16位,分为2部分,第一部分指示分组使用的协议,第二部分指示与SDP协议的联系。有效载荷:0-65535字节可变长,承载上层数据。(3)信令分组格式L2CAP的信令信道是为了在不同设备的L2CAP层传输信令的,它们是发送到CID0x0001的双向通道。在一个信令信道分

44、组中可以传送多个指令,分组格式如图3-10所示。6bit 16bit 变长 长度CID指令1.指令n代码标识符长度数据图3-10 L2CAP信令信道分组格式长度字段:16位,指示所有指令的长度之和。CID信道标识符字段:16位,指示信令信道CID,必须为0x0001。代码字段:8位,用于指示指令类型。标识符:8位,用于请求与响应的匹配。请求设备设置,响应设备在回复中使用相同的值表示响应。指令长度:16位,表示指令数据字段的长度。指令数据:变长,根据代码段的类型来决定具体的数据内容。3.5 服务发现协议SDP服务发现(Service Disoovery)是对网络中的设备或服务进行定位,获得使用设

45、备或服务所必要的信息。在蓝牙微网环境下服务发现与传统固定网络环境下的服务发现有很大的不同,传统固定网络环境下,服务信息比较集中的存放在中央信息设备上,同时服务的信息基本没有变化。而蓝牙微网环境下,设备有很强的移动性,服务的参数也在不断的变化,这就要求设备服务信息应该是分布式的存放在不固定的设备上,任何需要服务的设备可以从不固定的位置获得其需要的服务信息。SDP协议工作在L2CAP层之上,它使用L2CAP提供的连接服务,同时为上层其他高层应用提供服务,但是SDP与其他高层应用没有直接的层次应用。3.5.1 服务发现协议概述蓝牙服务发现协议(SDP,ServiceDiscovey Protocol

46、)采用客户/服务器模式工作。SDP工作模式包含SDP客户机和SDP服务器。SDP客户机可以从SDP服务器上获得服务的属性信息,如图3-11所示。SDP服务器维护着描述服务属性的服务记录,这些服务记录组成服务注册表。一条服务记录可以包含多个服务属性。一个蓝牙设备最多可以有一个SDP服务器,如果一个蓝牙设备只充当客户的话,那么该蓝牙设备将不需要建立SDP服务器。单个蓝牙设备可以同时既是SDP客户机,又是SDP服务器。一个蓝牙设备上可以同时有多个服务,但是只能建立一个SDP服务器。同样的,一个蓝牙设备上的多个客户应用,可以只使用一个SDP客户机。图3-11 SDP客户机服务器模式3.5.2 服务发现协议数据单元格式SDP对于传输的数据量很小,它使用请求/响应模式进行通信。每个传输都由一个请求协议数据单元和一个响应协议数据单元组成。请求按顺序传输,响应可以不按顺序传输。SDP使用L2CAP提供的服务作为协议数据单元的载体。多个SDPPDU可以在单个L2CAP分组中传输,但是必须发送到相同的SDP服务器。SDPPDU是由一个PDU头和多个PDU参数组成。包头由3部分组成:PDU ID、事务ID和参数长度组成,如图3-12所示。8bit 16bit 16bit 变长 PDU ID事务ID参数长度参数1参数2参数n图3-12 SDP-PDU格式PDU ID字段

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号