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

上传人:1777****777 文档编号:42434968 上传时间:2021-11-26 格式:DOC 页数:47 大小:1.33MB
返回 下载 相关 举报
基于蓝牙的工业开关量传送系统_第1页
第1页 / 共47页
基于蓝牙的工业开关量传送系统_第2页
第2页 / 共47页
基于蓝牙的工业开关量传送系统_第3页
第3页 / 共47页
点击查看更多>>
资源描述
III基于蓝牙的工业开关量传送系统摘 要传统的工业数据通信采用有线线缆进行信息的传输,但繁琐的布线会带来诸多不便特别是某些应用场合,不允许布线或无法布线,如工业现场通常环境恶劣,高温、潮湿、在有的工业环境中还存在运动或者旋转的设备中,走线十分不方便,寻找一种短距离无线通信技术来解决工业现场问题成为了一种需要。蓝牙技术是一种无线数据和语音通信的开放性全球规范,其目的是实现设备之间低成本、低功耗的无线连接。随着蓝牙技术的迅速发展和逐渐成熟,将蓝牙运用到工业数据通信系统成为了可能。本文主要基于蓝牙文件传输协议栈的基础上,研究了利用蓝牙技术进行工业现场数据(工业开关量)的传输,具体实现了在脱离PC情况下蓝牙设备之间数据的通信以及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 especially 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 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 industrial 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 Bluetooth 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 蓝牙微网和物理链路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.2常用的串口通信接口标准214.2.3 RS232接口标准详解224.4 下载接口SPI设计244.5 电源电路设计255 系统软件部分设计285.2 软件开发平台305.3 软件功能概述315.4 软件文件说明32结论34致谢35参考文献36附录37附录39 43基于蓝牙的工业开关量传送系统1 绪论各种新技术、新器件、新理论的出现和计算机网络的飞速发展,必将给数据采集传输技术的发展和应用提供广阔的天地。数据采集与传输方式朝复合式、多样性发展。近年来短距离无线与移动通信相继突起,WLAN、蓝牙技术、移动Ad Hoc网以及超宽带(UWB)技术等各种热点技术相继出现,均展现出各自巨大的应用潜力。蓝牙技术作为一种新兴的无线通信技术应用到数据传输系统中,它还可以很方便的连接Internet/Intranet中,与网络配合来实现远程数据采集与传输,这将极大的节约数据传输的成本,尤其是对资金密集型的民用航空业来说。进一步融合EMIT(嵌入式微型因特网互联技术)和ECS(嵌入系统)技术,使现场数据传输子系统的智能化程度得到提高,且能够更方便的与远程数据采集与分析中心建立起通信渠道。随着微处理器和嵌入式技术的发展,数据传输系统的I/O系统的智能化程度将进一步提高,使整个系统的实时性性能提高;同时,高智能化的数据传输子系统可以很方便地通过Internet/Intranet将通信距离无限扩展。1.1 研究目的与意义传统的数据传输系统的采集端和控制端是以有线的形式连接的,数据分析处理大多在工控机及PC上实现,存在布线复杂,开发周期长等问题。随着信息技术的发展,现代数据传输技术的发展对系统的可移动性和无缆性的要求空前提高。嵌入式系统应用与研究发展现状在现在日益信息化的社会中,计算机和网络已经全面渗透到日常生活的每一个角落。各种各样的新型嵌入式系统设备在应用数量上已经远远超过通用计算机。在工业和服务领域中,由于工业控制现场有各种噪声干扰无线通信,所以采用FHSS跳频方式实现双向无线数据传输,以达到信号可靠地传输到目的地。系统有蓝牙主单元和从设备单元组成,经查询扫描建立连接后可进行双向数据通信,将需要控制的开关量通过无线可靠地传输到远端的接收模块和相应的上位计算机当中。实现了有线电缆替代。适合于一些危险场所和人员不宜接近设备的控制和无线数据传输。同时,该系统也可应用于其他数据采集和传输行业,具有广大的市场前景。1.2 国内外发展现状目前,不但不同类型数据网与计算机之间软件不兼容成为发展障碍,而且开发的数据应用软件大多为膝上计算机、家提供或者办公等固定的环境中使用,无线数据和无线网路通信量的比例不到5%。Bluetooth能解决上诉两个问题,能推动固定和移动两个环境之间软件的开发。若再加上支持端有微软的解决方案,将会促进无线短距离数据通信的发展。世界上各大厂商正在积极投入力量进行蓝牙模块的研制与调试。并且一度超过无线局域网芯片的销售量。而国内应用组广泛的是CSR公司的和爱立信公司的蓝牙模块。世界主要的生产蓝牙模块的公司有爱立信的蓝牙模块如ROK101007、DELTA公司的蓝牙模块如DFBM-CF121、AirLogic公司的蓝牙模块。其中最为也能够用广泛的是英国CSR公司生产的BlueCore系列蓝牙芯片,而且一些国际知名品牌如如微软、Panasonic、Audio、NEC、东芝、三星和索尼均已在其蓝牙系列产品中使用了BlueCore。2003年6月CSR公司推出了第三代BlueCore芯片,这是首款支持蓝牙v1.2规范蓝牙芯片。2004年6月29日,CSR PLC公司日前宣布推出第四代蓝牙硅芯片BlueCore4,BlueCore4的数据传输率将比现有的v1.2蓝牙装置快三倍,而且耗电量较低,该产品现已交由主要的OEM客户试用。随后CSR公司相继推出自己的第五代、第六代蓝牙芯片。至现在为止,CSR公司推出了最新的第七代蓝牙芯片BlueCore7,新一代的蓝牙芯片功耗更低,支持最新的蓝牙规范版本,也在语音质量和功率要求方面作了重要改进。.1.3 研究内容 本论文主要着眼于工业现场数据有线传输带来的不便,分析了蓝牙短无线通信的优势,从蓝牙软件协议开始到硬件系统的设计详细介绍了蓝牙技术开发过程。研究分为两个方面:脱离PC机也就是在设备可移动的情况下进行蓝牙设备之间数据的通信;在PC机和蓝牙设备之间数据的通信。2 蓝牙概述2.1 蓝牙起源蓝牙(Bluetooth)原是十世纪统一了丹麦的国王的名字,现取其“统一”的含义,用来命名意在统一无线局域网通讯标准的蓝牙技术。蓝牙技术是爱立信、IBM等5家公司在1998年联合推出的一项无线网络技术,随后成立的蓝牙技术特殊兴趣组织(SIG)来负责该技术的开发和技术协议的制定,用来替代电缆连接便携与固定设备。如今全世界已有1800多家公司加盟该组织,而微软公司也正式加盟并成为SIG组织的领导成员之一。蓝牙是无线数据和语音传输的开放式标准,它将各种通信设备、计算机及其终端设备、各种数字数据系统、甚至家用电器采用无线方式联接起来。蓝牙技术规定了4中物理接口:通用串行接口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比特的设备识别码。由于蓝牙采用无线接口来代替有线电缆连接,具有很强的移植性,并且适用于多种场合,加上该技术功耗低、对人体危害小,而且应用简单、容易实现,所以易于推广。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技术:半双工传输率: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频率: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特点及应用:低功耗、高带宽、低复杂度,对信道衰落不敏感、发射信号功率谱密度低、安全性高、系统复杂度低,能提供数厘米的定位精度。信号带宽大于1.5GHz,或信号带宽与中心频率之比大于25为超宽带,近距离的高速无线传输。综上,在当今各种主流的WLAN技术中,红外和HOMERF技术落后且不适合国情,RFID和ZigBee只适合做多点监控,802.11的抗干扰和复用能力弱,WIMAX和UWB技术还在研发之中。相比之下蓝牙的低成本、低功耗、安全性好,应用范围广泛的特点,决定了它适合于语音通信或者对速度要求不太高、安全性好的设备间的数据通信。而且蓝牙自组网的网络规模可以很大,能很好的抗击节点间的干扰,节点上的应用在延迟和吞吐率上能达到稳定持久的性能,实现如语音和低速数据等交互服务。在构建数据采集系统时蓝牙具有更好的抗干扰性,具有较好的应用前景。与其它工作在相同频段的系统相比,减少了射频干扰,这使蓝牙技术比其它系统更稳定。蓝牙协议提供较高的传输速率和多种上层应用标准协议,与其他无线通信技术相比,具有低功耗、廉价等特点。因此,蓝牙被认为是最适合构建小型数据采集网络的无线通信技术之一。蓝牙跳频技术可以使多个微微网在近距离内同时存在。在构造个人区域网络或无线传感器网络时,802.11也是一个候选技术。2.3 各公司蓝牙模块目前世界各大蓝牙厂商正在积极投入力量进行蓝牙模块研制和测试,曾一度超过无线局域网络(WLAN)的销售量。在国内常见与广泛应用的是CSR和爱立信蓝牙模块,以下简单介绍一下世界各大蓝牙厂商的主流蓝牙模块。(a)爱立信是蓝牙技术发起人之一,该公司的ROK 101007是一款使用于短距离通信通信的无线/基带模块,该蓝牙模块集成度高、功耗小、完全兼容蓝牙协议v1.1,可嵌入任何需要蓝牙功能的设备中,该模块包括基带控制器、无线收发器、闪存等部件,可提供高至HCI(主机控制接口)层的功能。此外该模块还提供USB、UART、和PCM接口,因而能更方便的与主机进行通信。此外该模块还支持蓝牙语音和数据传输,且其输出功率满足Class2要求。(b)英国CSR公司公司是世界上主要的蓝牙芯片供应商。CSR公司为快速成长的蓝牙技术应用市场提供完备的硬件和软件开发包。在所有符合v1.1规范的合格终端产品设计中,有60%的都采用的是CSR的BuleCore系列蓝牙芯片,一些国际知名公司如微软、Panasonic、Audi、NEC、东芝、三星和索尼均在其蓝牙系列产品中使用了BlueCore.2003年6月CSR公司推出第三代BlueCore芯片。这是首款完全支持v1.2规范的蓝牙芯片。而它的BlueCore2-Extends模块在设计上是一款适用于蓝牙2.4GHZ系统的单芯片蓝牙模块,采用0.18um的CMOS技术,外部的FLASH存储器用来存储CSR蓝牙软件协议栈,BlueCore2-Extends能够提供完全符合蓝牙规范的数据和语音通信。而且在设计上简化了大量的外部射频部件,降低了模块产品的成本,模块采用自校准和内嵌的自检程序以简化开发、产品认证和产品测试,所有硬件和模块固件完全符合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是韩国的一家专门从事技术研究的开发及提供专业蓝牙产品公司。该公司生产多种蓝牙模块。如ABM-200-1XXX、ABM-200-2XXX、ABM-300-2GSM等各种蓝牙模块都是该公司研究开发。Class1蓝牙模块最大输出功率20dBm高灵敏度,支持最大距离100m。Class2的蓝牙模块最大输出功率为4dBm,最远通信距离为20m。3 蓝牙协议栈架构及其组成3.1 蓝牙协议栈的结构体系蓝牙协议栈的体系结构如图3-1所示.它是由底层硬件模块、中间层和高端应用层三大部分组成。图3-1 蓝牙协议栈体系3.1 蓝牙无线射频蓝牙无线射频是蓝牙协议中的最低层次,属于蓝牙技术的硬件接口,实现蓝牙技术的空中物理接口,该层主要规定了蓝牙射频信号的规格和参数,包括射频信道的划分、射频的频段分布、信号的调制方式等,这部分协议主要是由蓝牙专用硬件电路来实现。(1)射频频段和物理信道蓝牙射频工作在免费的2.4GHzISM频段,大多数国家规定这个频段分布在2400MHz -2483.50MHz。蓝牙底层收发器使用跳频扩频(FHSS)无线系统,高斯频移键控(GFSK)调制方式,针对不同国家对ISM频段使用的规定,蓝牙制定了不同的的跳频信道。对于大多数国家使用的是2400MHz-2483.5MHz,在这个频段划分出79个跳频信道,每个信道带宽为1MHz。而其他一些国家对于2.4GHz频段划分为23个跳频信道,具体划分情况如表3-1所示:表3-1 2.4GHz频段划分方案地区频率范围信道划分方案美国、欧洲和大多数国家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跳/秒,每个时隙的宽度是625uS(l/1600秒),蓝牙射频在指定时隙中其工作频率是不变的,所有微网中的蓝牙设备都与主设备的跳频序列同步。通常分组的传输是在一个时隙中完成,如果在一个时隙中无法完成全部数据的传输,也可以在3个时隙中完成传输,最多可以扩展到5个时隙,此时频率保持不变,与第1个时隙的频率相同。(2)射频发射功率蓝牙技术作为一种使用在便携设备上的无线通信技术,应用上要求实际的电能消耗要尽可能低,还要可以根据实际通信环境动态调整功率消耗。蓝牙的发射机提供了三个不同的功率等级:(a) Class 1:1mW(0dBm)-100mW(20dBm)(b) Class 2:0.25mW(-6dBm)-2.5mW(4dBm)(c) Class 3:1mW(0dBm)3.2 蓝牙链路管理器和基带与蓝牙射频一样,蓝牙链路控制器和基带也是在蓝牙硬件中实现的,其主要功能是蓝牙微网和设备的控制,包括定时、建立链路物理连接、跳频序列选择、媒体接入控制、功率控制和安全策略,可以认为蓝牙射频提供了传输数据和语音的方法,而蓝牙链路控制器和基带则实现对蓝牙射频工作的控制。3.2.1 蓝牙微网和物理链路蓝牙支持点对点和点对多点传输两种连接方式。多个共享信道的蓝牙设备构成蓝牙微网。在一个微网中发起通信的设备成为主设备,同一个微网中的所有蓝牙设备使用该微网中主设备的跳频序列进行通信。基带就定义了跳频序列的产生。当多个微网在一定的区域中出现重合时,便产生了散射网。同一个设备可以在一个微网中充当主设备,而在另一个微网中则充当从设备。蓝牙的物理链路分为两种:SCO链路与ACL链路。SCO(Synchronous Connection Oriented)链路是面向连接的同步链路,它支持主设备和特定的从设备之间对称点到点链路,是传输语音的线路交换链路。SCO链路是在物理信道中的保留时隙上实现的。微网中一个主设备最多支持到不同或同一个设备的3条SCO链路,因为SCO链路使用的面向连接链路可以保证通信的可靠性,所以它不再提供对重发分组的支持。ACL(Asynehronous Cormeetion Less)链路是在非SCO链路保留时隙上工作的无连接链路,它是主从设备之间的分组交换式连接,ACL链路主要用来传输数据信息。在一对主从设各之间最多只能支持一条ACL链路,ACL链路支持一个设备对多个设备的广播。因为ACL链路使用的无连接链路无法保证通信的可靠性,所以它支持重发分组的机制。3.2.2 地址格式(a)蓝牙设备地址每个蓝牙设备都有一个全球唯一的48位地址,称为蓝牙设备地址(BDADDR)。该地址是固化在蓝牙物理硬件中的,蓝牙设备地址分为3个段:24位低地址段(LAP)、16位高地址段(UAP)和4位未定义段,如图3.2所示。蓝牙设备地址除可以唯一标识一个蓝牙设备外,它与微网标识、分组头错误检测、鉴权和加密字的产生有着密切的关系。24bit 8bit 16bitLAPNAPUAP图3-2 蓝牙设备地址格式(b)微网活动成员地址在一个微网中,主设备为每个活动从设备都分配一个3位的活动成员地址(AMADDR),所以一个微网中最多可以有7个活动从设备,其中全0的活动成员地址用于进行广播通信。当微网主设备与从设备进行通信时就在分组中使用该地址来标识从设备。(c)休眠成员地址当微网中的从设备进入休眠状态时,主设备给该从设备分配一个8位的休眠地址(PMADDR),主设备就是通过该地址来区别休眠的从设备的,在一个微网中最多可以有256个休眠的从设备。(d)访问请求地址当从设备要从休眠状态转为活动状态时,从设备使用访问请求地址(ARADDR)来确定从一主时隙来和主设备保持同步。不同的从设备可以使用相同的访问请求地址。3.2.3 蓝牙分组格式蓝牙的数据信息是以分组的形式通过基带传输的,每个分组由3个部分组成:72位识别码、54位分组头、最多2745位有效净荷,如图3-3所示。根据操作不同,分组可以由识别码自己单独组成,或者由识别码和分组头组成,或者由识别码、分组头和有效净荷共同组成。72bit 54bit 0-2745bit识别码分组头有效净荷图3-3 蓝牙分组格式其中,识别码主要用于时钟同步、DC补偿平衡和身份识别,在同一个微网中所有设备使用相同的识别码,识别码本身可以分为:信道识别码(CAC)、设备识别码(DAC)、通用查询识别码(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分组同时包含语音和数据信息按照SCO和ACL链路不同可以将分组分为12种,还有4种为两种链路都使用的通用分组。3.2.4 蓝牙设备操作状态及转换蓝牙操作状态包括2种主状态:连接状态(Colmected State)和待机状态(Standby State)。还有7种子状态:呼叫(page)、呼叫扫描(Pagescan)、查询(Inquiry)、查询扫描(Inquiry Sean)、主设备应答(Master Response)、从设备应答(Slave Response)、查询响应(Inquire Sponse)。主从设备的状态转换需要链路管理命令和链路管理器内部信令的控制。从待机状态到连接状态,中间需要经过查询和呼叫状态。在查询状态下,主设备在其通信范围之内搜索其他设备的标识,而从设备必须处于查询扫描状态监听和响应查询;在呼叫状态下,主设备对其通信范围内的指定设备进行呼叫操作,从设备必须处于呼叫扫描状态。如果主设备己经获得了从设备的蓝牙设备地址,主设备可以直接越过查询状态而直接进行呼叫操作。3.2.5 蓝牙基带加密与鉴权(1)蓝牙基带加密因为蓝牙的数据信息是通过无线空中接口传输的,所以信息的安全性就非常重要,不能直接把明文数据在空中传输,必须通过硬件将要发送的数据加密,这样即使数据被非法截获(蓝牙的跳频序很难被其他非微网设备获得),没有正确的密钥,这些数据也无法被破解,这样就提高了蓝牙的安全性。但因为加密要占用一定的理时间,所以根据不同的蓝牙应用规范用户可以选择是否使用基带加密。蓝牙通过加密分组的净荷可以保护重要的用户数据,而接入码分组头不需要加密。蓝牙的加密过程使用流密系统E0,其原理如图3-5所示。流密系统E0主要包括3个部分:第一部分执行初始化生成净密钥;第二部分生成密钥比特流;第三部分完成最后的加密或解密。图3-5 蓝牙流密系统E0(2)鉴权在蓝牙设备中除了基带数据的加密,蓝牙还实现了不同设备之间的鉴权,蓝牙设备之间使用竞争响应(ChanengeRessonse)模式。这种模式需要2步协议,使用对称密钥对申请鉴权设备的密钥进行检测。如果经过正确的链路密钥生成方法,生成K。验证设备生成一个随机数AU_RANDA,并发送给申请鉴权的设备,申请设备会使用该随机数和申请设备的蓝牙地址和K产生一个SRES值,并将其发送回鉴权设备,鉴权设备也使用同样的方法生成一个SRES,如果这两个SRES相等则鉴权通过,否则鉴权失败,鉴权设备将不给申请设备提供服务。鉴权可以是双向的,所以两个设备可以互相鉴权,如图3-6所示。图3-6 蓝牙设备鉴权原理3.3 蓝牙链路管理器协议LMP链路管理器是运行在蓝牙设备处理器中的软件,其作用是通过换链路控制信息,对蓝牙设备之间的链路进行设置和控制,以实现链路的管理。它是位于链路控制器之上的,但和其他的协议层没有接的层次关系。链路管理器之间使用链路管理器协议(LMP,Link Manager Protocol),在不同设备之间的链路管理器之交换的消息称为链路管理器协议数据单元(LMPPDU)。LMP协议能是负责链路的建立、加密和控制。链路管理器消息的优先级要比用户数据的优先级高。LMPPDU是放在ACL数据分组中传送的。ACL数据分组的载荷头字段中包含了一个LCH字段,如果其取值为11,表示该分组的有效载荷中包含的是LMPPDU,LMPPDU只能使用单DMI分组或者DV分组的格式发送。LMPPDU的格式如图3-7所示。它由三部分组成:7位的操作码表示不同类型的LMPPDU;1位事务ID字段表示该LMPPDU主设备还是从设备发出的(事务ID为0表示它是由主设备发出的,事务ID为1表示它是由从设备发出的),不定长的内容字段包含了LMPPDU的具体参数。 7Bit 1bit 不定长操作码事务ID内容图3-7 LMPPDU分组格式根据操作码的不同,蓝牙LMPPDU的分组类型有很多。整体上蓝牙分组可以分为两种类型:第一种类型要求发送方链路管理器发送请求消息初始化通信,而接收方链路管理器接受消息后可以接受请求执行要求的操作,或者拒绝消息请求并发送LMP_not_accepted分组,或者发送自己的请求消息进行协调。第二种类型要求发送方链路管理器发送请求消息,接受方链路管理器必须接受请求,并按请求操作。3.4 逻辑链路控制和适配协议L2CAP3.4.1 L2CAP概述逻辑链路控制和适配协议(L2CAP,Logical Link Control and Adaption Protocol)工作的层次相当于IS0/0SI模型的数据链路层,在蓝牙协议层次中,它处于基带协议与蓝牙高层应用之间。L2CAP使用基带协议提供的服务,并为高层应用协议提供连接服务,L2CAP使用基带协议中的ACL链路,并由基带协议来保证传输数据的完整性。L2CAP不提供信道的可靠性以及保证数据分组的完整性,它不负责重传和校验的计算工作。如果使蓝牙高层应用协议直接面对基带协议,则将增加高层协议的复杂性,使上层应用的开发过多的依赖于基带协议。所以在基带协议与高层应用协议之间加入L2CAP层来实现高层应用协议与基带协议的接口。L2CAP协议可以向上层应用协议提供的服务包括:(a)协议复用因为L2CAP要向不同的高层应用协议提供服务,而基带协议并没有规定类型字段,无法区分高层协议。所以它必须支持协议复用。(b)分段重组基带协议所能传输的分组的长度是有限的,而高层协议所要传输的数据长度可能要很长,所以L2CAP必须把高层协议的长数据分段为较小的基带分组来发送,而接收方的L2CAP层也相应的要将基带层提供的小分组重组还原为原来较大的高层分组。(c)QOS保证为了保证逻辑链路的服务质量,L2CAP允许在建立连接的过程中交换链路的QOS控制信息,通信双方的L2CAP层必须要监视资源的使用情况,保证逻辑链路能够达到最好的服务质量。(d)组管理在蓝牙的高层和底层协议中都支持组的概念,为了将高层组映射到底层的组,L2CAP提供了对于组的管理。3.4.2 L2CAP分组格式L2CAP支持面向连接信道、无连接信道和信令信道,它们使用不同的分组格式。16bit 16bit 变长长度CID有效载荷图3-8 L2CAP分组格式(1)面向连接信道分组格式L2CAP面向连接的信道是双向的,其分组格式如图3-8所示。长度字段:16位,指示有效载荷的长度。.CID信道标识符字段:16位,指示分组的目的CID。有效载荷:0-65535字节可变长,承载上层发送到下层或下层送到上层的数据。(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的双向通道。在一个信令信道分组中可以传送多个指令,分组格式如图3-10所示。6bit 16bit 变长 长度CID指令1.指令n代码标识符长度数据图3-10 L2CAP信令信道分组格式长度字段:16位,指示所有指令的长度之和。CID信道标识符字段:16位,指示信令信道CID,必须为0x0001。代码字段:8位,用于指示指令类型。标识符:8位,用于请求与响应的匹配。请求设备设置,响应设备在回复中使用相同的值表示响应。指令长度:16位,表示指令数据字段的长度。指令数据:变长,根据代码段的类型来决定具体的数据内容。3.5 服务发现协议SDP服务发现(Service Disoovery)是对网络中的设备或服务进行定位,获得使用设备或服务所必要的信息。在蓝牙微网环境下服务发现与传统固定网络环境下的服务发现有很大的不同,传统固定网络环境下,服务信息比较集中的存放在中央信息设备上,同时服务的信息基本没有变化。而蓝牙微网环境下,设备有很强的移动性,服务的参数也在不断的变化,这就要求设备服务信息应该是分布式的存放在不固定的设备上,任何需要服务的设备可以从不固定的位置获得其需要的服务信息。SDP协议工作在L2CAP层之上,它使用L2CAP提供的连接服务,同时为上层其他高层应用提供服务,但是SDP与其他高层应用没有直接的层次应用。3.5.1 服务发现协议概述蓝牙服务发现协议(SDP,ServiceDiscovey Protocol)采用客户/服务器模式工作。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字段:8位,标识分组的操作类型,说明了参数含义,SDP的分组数据类型如图3-12所示。事务ID字段:16位,用于匹配响应PDU与请求PDU。参数长度字段:16位,标示了所有参数的长度和。参数字段:变长,参数字段根据PDU ID确定,可以由多个参数组成。表3-2 SDP PDU ID分类PDU ID值参数说明0X00保留OX01SDP_ErrorRsPonseee0x02SDP_ServieesearchRequesttt0x03SDP_ServieesearehResPonseee0x04SDP_ervieeAttributeRequesttt0X05SDP_ServieeAttributeResPonseee0X06SDP_ServieesearehAttributeRequesttt0XO7SDP_ServiceSearehAttributeResPonseee0x08-0XFF保留3.6 替代电缆协议(RFCOMM)3.6.1 RFCOMM概述蓝牙底层协议负责提供空中无线接口,向高层应用提供无线连接的接口和环境,但是很多传统应用或遗留系统(Legacy System)都是使用有线介质作为通信的手段,特别是串口的应用最为广泛,蓝牙协议作为一种电缆替代方案有必要提供一种方法来降低传口应用到蓝牙应用移植的难度,蓝牙协议必须支持和电缆连的方式与串口通信,这样就能为上层应用提供统一的串口通信应用界面。所以,蓝牙协议在L2CAP层之上又专门提供了一个RFCOMM串行电路仿真适配层。RFCOMM协议在L2CAP数据链路之上提供了对传统的RS232标准串口的仿真,上层应用可以将RFCOMM理解为虚拟的串口,按串口通信方式对其进行高层编程。RFCOMM协议是基于TS07.10标准的,其目的是对两个不同设备上的应用之间保证一条完整的通信路径。RFCOMM支持两种类型的设备:通信终端设备(DTE)和通信中间设备(DCE)。像打印机和计算机都属于是DTE,而MODEM这样的设备则属于是DCE。但是在RFCOMM的描述中并不区分这两种设备类型。3.6.2 RFCOMM服务接口RFCOMM的主要任务是定义一个能够利用仿真串口的协议,在蓝牙应用系统中,RFCOMM是包括串口仿真实体的端口驱动的一部分。RFCOMM同时支持内部仿真串口和外部仿真串口。内部仿真串口不需要空中接口,只在本地使用;外部仿真串口的参数和状态需要通过无线连接随数据一起传输并且可能被接收串口使用。蓝牙技术的应用,在不久的将来,各种信息传输设备、数字电子设备除电源线外将再无其他线连线,以便携式计算机和掌上电脑为代表的信息产品将采用无线方式与其他设备和网络连接,形成可移动的办公室;蓝牙较好的安全、保密性将大大的扩展电子商务的功能;蓝牙芯片的微型化和低成本将为办公自动化、家庭娱乐、电子商务、工程控制等领域开辟广阔的发展前景。总之蓝牙技术的出现,适时的满足了普通消费者对无线网络和信息家电的需求。同时,蓝牙技术也为军事无线通信提供了新的选择。蓝牙技术应用于军事设备的性能检测、故障诊断等方面,可省去复杂的设备连线、有效的节省时间,尤其在战场环境下的设备维修,无疑将产生重大的军事效益。利用蓝牙技术组成战术级无线局域网、传输战场信息、作战数据、可实现快速的战场通信。 4 系统硬件部分设计在现有数据采集与分析系统中,采集数据多通过有线方式进行传输,采集设备的连接需要大量电缆,这在实际操作中会造成极大的不便。本章采用无线传输方案来代替传统的有线方式,结合蓝牙技术,提出了一种基于蓝牙的无线数据采集系统总体设计方案。4.1系统硬件部分设计方案图4-1 硬件设计方案如图4-1所示:该硬件电路共有两大部分,包括蓝牙主设备模块以及蓝牙从设备模块。蓝牙从设备模块的按键电路可以模拟监测到的信号,而该信号经过蓝牙发送至蓝牙主设备接收端,接收端的LED灯可以作为显示输出,通过指示灯的状况可以监测和了解从设备的情况。在工业控制中如果观察到主设备有异常情况,就可以通过从设备的控制按键发送控制信号通过蓝牙发射出去及时调整处理从设备的异常情况。实现蓝牙模块之间点对点的通信。主设备通过串口调试助手向蓝牙主模块发送数据,然后再通过蓝牙主设备发送给从设备,实现PC机和蓝牙模块的通信。电源模块给蓝牙芯片和外部设备分别提供3.3V和5V电压。4.2 蓝牙主控模块BC04(a) CSR BlueCore4 是英国Cambridge Silicon Radio(CSR)公司日前推出的第四代蓝牙硅芯片。这种硅芯片用于蓝牙技术推广小组(SIG)推出的增强数据传输率(EDR)蓝牙芯片。CSR 的BlueCore4 的数据传输率将比现有的v 1.2 蓝牙装置快三倍,并且使蓝牙移动电话或手机的耗电量较低。蓝牙EDR 的最大数据传输率为每秒2.1 兆比特,而目前v1.2 标准传输率则为每秒721 千比特。传输率的提高意味着对一个特定量的数据来说,EDR 无线电的工作将比v1.2 无线电快三倍,从而减少耗电量,大大有利于依赖蓄电池的移动设备。CSR BlueCore4 完全能与现有蓝牙v1.1 和v1.2 装置兼容。蓝牙 EDR 用一种相移键控(PSK)调制模式取代标准传输率的高斯频移键控(GFSK),实现更高的数据传输率。 CSR BlueCore4以两种形式提供:一种用于外部“快闪”存储器,一种用于掩模 ROM 。 BlueCore4-External以一种88mm BGA(球形格栅矩阵)封装提供,是十分灵活的解决方案,能够适应迅速更新的市场。BlueCore4-External 为PC 应用程序提供了理想的解决方案,使它们得益于以三倍速度的传输率无线传输文件,或者同时操作多个高需求的蓝牙链路。鉴于蓝牙固件安装在芯片只读存储器上,CSR BlueCore4-ROM的成本较低,占用面积非常小 (在小片尺寸包装中为3.84mm,在与BC2-ROM 和BC3-ROM 引脚兼容的BGA 中为66mm)。ROM 芯片的尺寸和成本使它日益成为要求蓝牙功能综合起来的移动电话、手机和其它批量生产和成本敏感的应用产品的选择。 BlueCore4 提供48KB的RAM,而以前的BlueCore 硅芯片仅为32KB。部分这种额外的记忆存储用于对付增强数据传输率的附加缓冲空间。BlueCore4-External和BlueCore4-ROM 将先把蓝牙EDR 快速数据传输率的优越性带给现有一些主要的蓝牙市场,加快文件传送,降低耗电并实现多个同时链路的操作。它还将为这种技术开辟某些潜在的新应用领域。(b)主要特性 表4-1 BlueCore4主要特性蓝牙版本V2.0+EDR输出功率class IIFlash 存储容量8Mbit供应电压3.3V总线接口UART、SPI、PCM应用范围车载免提、蓝牙GPS、数码相框、PDA、游戏手柄、蓝牙转串口产品(c)BC04引脚介绍 图4-2 BC04引脚其中TXD、RXD、CTS、RTS,为串行通信口,CTS、RTS 可以不使用。 PCM-CLK、PCM-OUT、PCM-IN、PCM-SYNC是PCM 通信方式的通信引脚,SPI-CS、SPI-MISO、SPI-MOSI、SPI-SCLK 就SPI 通信方式的通信引脚。4.3 串口通信电路设计根据HCI的定义接口电路可以采用UART接口和USB接口两种方式,本设计中应用9针串口和PC机连接。4.3.1串口通信概念计算机与计算机或计算机与终端之间的数据传送可以采用串行通信和并行通信二种方式。由于串行通信方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。在串行通信时,要求通信双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通信。串口通信的概念是相对于按字节(Byte)传输的并口通信而言,它在通信过程中是按位(bit)发送和接收字节的,它可以在使用一根线发送数据的同时用另一根线接收数据。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,当然,其传输速度比并行传输慢。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米,而对于串口而言,长度可达1200米。串口用于ASCII码字符的传输。通信使用3根线完成:1-地线,2-发送,3-接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配。1)波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz,这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。2)数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息,比如,标准的ASCII码是0127(7位),扩展的ASCII码是0255(8位)。如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。3)停止位:用于表示单个包的最后一位。典型的值为1、1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。4)奇偶校验位:串口通信共有四种检错方式:偶、奇、高和低,当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。4.3.2常用的串口通信接口标准串口是计算机上一种非常通用设备通信的协议。串行通信接口标准经过使用和发展,目前有RS232、RS422、RS485等几种,它们都是由电子工业协会(EIA)制订并发布的。RS232在1962年发布,命名为EIA232E,作为工业标准,以保证不同厂家产品之间的兼容,它适合于数据传输速率在020kb/s范围内的通信。RS422由RS232发展而来,它是为弥补RS232之不足而提出的。为改进RS232通信距离短、速率低的缺点,RS 422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到4000英尺(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器。RS422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA422A标准。为扩展应用范围,EIA又于1983年在RS422基础上制定了RS485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 任务书类


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!