蓝牙技术与原理概述
英特网和移动通信的迅速发展,使人们对电脑以外的各种数据源和网络服务的需求日益增长。蓝牙作为一个全球开放性无线应用标准,通过把网络中的数据和语音设备用无线链路连接起来,使人们能够随时随地实现个人区域内语音和数据信息的交换与传输,从而实现快速灵活的通信。
一、蓝牙出现的背景
早在1994年,瑞典的爱立信公司便已经着手蓝牙技术的研究开发工作,意在通过一种短程无线链路,实现无线电话用PC、耳机及台式设备等之间的互联。1998年2月,爱立信、诺基亚、因特尔、东芝和IBM共同组建特别兴趣小组。在此之后,3COM、 朗讯、微软和摩托罗拉也相继加盟蓝牙计划。它们的共同目标是开发一种全球通用的小范围无线通信技术,即蓝牙。它是针对目前近距的便携式器件之间的红外线链路(IrDA)而提出的。应用红外线收发器链接虽然能免去电线或电缆的连接,但是使用起来有许多不便,不仅距离只限于1~2m,而且必须在视线上直接对准,中间不能有任何阻挡,同时只限于在两个设备之间进行链接,不能同时链接更多的设备。“蓝牙”技术的目的是使特定的移动电话、便携式电脑以及各种便携式通信设备的主机之间在近距离内实现无缝的资源共享。
蓝牙是一个开放性的无线通信标准,它将取代目前多种电缆连接方案,通过统一的短程无线链路,在各信息设备之间可以穿过墙壁或公文包,实现方便快捷、灵活安全、低成本小功耗的话音和数据通信。它推动和扩大了无线通信的应用范围,使网络中的各种数据和语音设备能互连互通,从而实现个人区域内的快速灵活的数据和语音通信。
二、蓝牙中的主要技术
蓝牙技术是一种无线数据与语音通信的开放性全球规范,它以低成本的近距离无线连接为基础,为固定与移动设备通信环境建立一个特别连接的短程无线电技术。其实质内容是要建立通用的无线电空中接口(Radio Air Interface)及其控制软件的公开标准,使通信和计算机进一步结合,使不同厂家生产的便携式设备在没有电线或电缆相互连接的情况下,能在近距离范围内具有互用、互操作的性能(Iteroperability)。
“蓝牙”技术的作用是简化小型网络设备(如移动PC、掌上电脑、手机)之间以及这些设备与Internet之间的通信,免除在无绳电话或移动电话、调制解调器、头套式送/受话器、PDA、计算机、打印机、幻灯机、局域网等之间加装电线、电缆和连接器。此外,蓝牙无线技术还为已存在的数字网络和外设提供通用接口以组建一个远离固定网络的个人特别连接设备群。
蓝牙的载频选用在全球都可用的2.45GHz工科医学(ISM)频带,其收发信机采用跳频扩谱(Frequency Hopping Spread Spectrum)技术,在2.45GHz ISM频带上以1600跳/s的速率进行跳频。依据各国的具体情况,以2.45GHz为中心频率,最多可以得到79个1MHz带宽的信道。在发射带宽为1MHz时,其有效数据速率为721kb/s,并采用低功率时分复用方式发射,适合30英尺(约10m)范围内的通信。数据包在某个载频上的某个时隙内传递,不同类型的数据(包括链路管理和控制消息)占用不同信道,并通过查询(Inquiry)和寻呼(Paging)过程来同步跳频频率和不同蓝牙设备的时钟。除采用跳频扩谱的低功率传输外,蓝牙还采用鉴权和加密等措施来提高通信的安全性。
蓝牙支持点到点和点到多点的连接,可采用无线方式将若干蓝牙设备连成一个微微网(Piconet),多个微微网又可互连成特殊分散网,形成灵活的多重微微网的拓扑结构,从而实现各类设备之间的快速通信。它能在一个微微网内寻址8个设备(实际上互联的设备数量是没有限制的,只不过在同一时刻只能激活8个,其中1个为主7个为从)。
蓝牙技术涉及一系列软硬件技术、方法和理论,包括无线通信与网络技术,软件工程、软件可靠性理论,协议的正确性验证、形式化描述和一致性与互联测试技术,嵌入式实时操作系统(Embedded RTOS),跨平台开发和用户界面图形化技术,软硬件接口技术(如RS232, UART,USB等),高集成、低功耗芯片技术
三、蓝牙系统组成
蓝牙系统一般由天线单元、链路控制(固件)单元、链路管理(软件)单元和蓝牙软件(协议栈)单元四个功能单元组成。
1.天线单元
蓝牙要求其天线部分体积十分小巧、重量轻,因此,蓝牙天线属于微带天线。蓝牙空中接口是建立在天线电平为0dB的基础上的。空中接口遵循(简称FCC,即美国联邦通信委员会)有关电平为 0dB的ISM频段的标准。如果全球电平达到 100mw以上,可以使用扩展频谱功能来增加一些补充业务。频谱扩展功能是通过起始频率为2.420GHz,终止频率为2.480GHz,间隔为1MHz的79个跳频频点来实现的。出于某些本地规定的考虑,日本、法国和西班牙都缩减了带宽。最大的跳频速率为1660跳/s。理想的连接范围为100mm~10m,但是通过增大发送电平可以将距离延长至100m。
蓝牙工作在全球通用的2.4GHz ISM(即工业、科学、医学)频段。蓝牙的数据速率为1Mb/s。ISM频带是对所有无线电系统都开放的频带,因此使用其中的某个频段都会遇到不可预测的干扰源。例如某些家电、无绳电话、汽车房开门器、微波炉等等,都可能是干扰源。为此,蓝牙特别设计了快速确认和跳频方案以确保键路稳定。跳频技术是把频带分成若干个跳频信道(Hop Channel),在一次连接中,无线电收发器按一定的码序列(即一定的规律,技术上叫做“伪随机码”,就是“假”的随机码)不断地从一个信道“跳”到另一个信道,只有收发双方是按这个规律进行通信的,而其它的干扰不可能按同样的规律进行干扰;跳频的瞬时带宽是很窄的,但通过扩展频谱技术使这个窄带成百倍地扩展成宽频带,使干扰可能造成的影响变得很小。时分双工(TDD)方案被用来实现全双工传输。
与其它工作在相同频段的系统相比,蓝牙跳频更快,数据包更短,这使蓝牙比其它系统都更稳定。FEC(前向纠错)的使用抑制了长距离链路的随机噪音;应用了二进制调频(FM)技术的跳频收发器被用来抑制干扰和防止衰落。
2.链路控制(固件)单元
在目前蓝牙产品中,人们使用了3个IC分别作为联接控制器、基带处理器以及射频传输/接收器,此外还使用了30~50个单独调谐元件。
基带链路控制器负责处理基带协议和其它一些低层常规协议。它有3种纠错方案:1/3比例前向纠错(FEC)码、2/3比例前向纠错码和数据的自动请求重发方案。采用FEC(前向纠错)方案的目的是为了减少数据重发的次数,降低数据传输负载。但是,要实现数据的无差错传输,FEC就必然要生成一些不必要的开销比特而降低数据的传送效率。这是因为数据包对于是否使用FEC是弹性定义的。报头总有占1/3比例的FEC码起保护作用,其中包含了有用的链路信息。
在无编号的ARQ方案中,在一个时隙中传送的数据必须在下一个时隙得到“收到”的确认。
只有数据在收端通过了报头错误检测和循环冗余检测后认为无错才向发端发回确认消息,否则返回一个错误消息。比如蓝牙的话音信道采用Continuous Variable Slope Delta Modulation(简称CVSD),即连续可变斜率增量调制技术话音编码方案,获得高质量传输的音频编码。CVSD编码擅长处理丢失和被损坏的语音采样,即使比特错误率达到4%,CVSD编码的语音还是可听的。
3.路管理(软件)单元
链路管理(LM)软件模块携带了链路的数据设置、鉴权、链路硬件配置和其它一些协议。LM能够发现其它远端LM并通过LMP(键路管理协议)与之通信。LM模块提供如下服务:
发送和接收数据;请求名称;链路地址查询;建立连接;鉴权;链路模式协商和建立;决定帧的类型。此外,还有下列服务:将设备设为sniff(呼吸)模式。Master(主机)只能有规律地在特定的时隙发送数据。将设备设为Hold(保持模式)。工作在hold模式的设备为了节能在一个较长的周期内停止接收数据,每一次激活链路,这由LM定义,LC(链路控制器)具体操作。
当设备不需要传送或接收数据但仍需保持同步时将设备设为暂停模式。处于暂停模式的设备周期性地激活并跟踪同步,同时检查page消息。建立网络连接。在piconet内的连接被建立之前,所有的设备都处于standby(待命)状态。在这种模式下,未连接单元每隔1.28s周期性地“监听”信息。每当一个设备被激活,它就监听规划给该单元的32个跳频频点。跳频频点的数目因地理区域的不同而异,32这个数字适用于除日本、法国和西班牙之外的大多数国家。作为master的设备首先初始化连接程序,如果地址已知,则通过寻呼(page)消息建立连接,如果地址未知,则通过一个后接page消息的inquiry(查询)消息建立连接。在最初的寻呼状态,master单元将在分配给被寻呼单元的16个跳频频点上发送一串16个相同的page消处息。如果没有应答,master则按照激活次序在剩余6个频点上继续寻呼。slave从机收到从master发来的消息的最大的延迟时间为激活周期的2倍(2.56s),平均延迟时间是激活周期的一半(0.6s)。Inquiry消息主要用来寻找蓝牙设备,如共享打印机、传真机和其它一些地址未知的类似设备,Inquiry消息和page消息很相像,但是Inquiry消息需要一个额外的数据串周期来收集所有的响应。如果piconet中已经处于连接的设备在较长一段时间内没有数据传输,蓝牙还支持节能工作模式。master可以把slave置为hold(保持)模式,在这种模式下,只有一个内部计数器在工作。slave也可以主动要求被置为hold模式。Hold模式一般被用于连接好几个piconet的情况下或者耗能低的设备,如温度传感器。除hold模式外,蓝牙还支持另外两种节能工作模式:sniff呼吸)模式和park(暂停)模式。在sniff模式下,slave降低了从piconet “收听”消息的速率,“呼吸”间隔可以依应用要求做适当的调整。在park模式下,设备依然与piconet同步但没有数据传送。工作在park模式下的设备放弃了MAC地址,偶尔收听master的消息并恢复同步、检查广播消息。如果我们把这几种工作模式按照节能效率以升序排队,那么依次是:呼吸模式、保持模式和暂停模式。
连接类型和数据包类型。连接类型定义了哪种类型的数据包能在特别连接中使用。蓝牙基带技术支持两种连接类型:同步定向连接(Synchronous Connection Oriented,简称SCO)类型,主要用于传送话音;异步无连接(Asynchronous Connectionless, 简称ACL)类型,主要用于传送数据包。
同一个piconet中不同的主从对可以使用不同的连接类型,而且在一个阶段内还可以任意改变连接类型。每个连接类型最多可以支持16种不同类型的数据包,其中包括4个控制分组,这一点对SCO和ACL来说都是相同的。两种连接类型都使用TDD(时分双工传输方案)实现全双工传输。
SCO连接为对称连接,利用保留时隙传送数据包。连接建立后,master和slave可以不被选中就发送SCO数据。SCO数据包既可以传送话音,也可以传送数据,但在传送数据时,只用于重发被损坏的那部分的数据。ACL链路就是定向发送数据包,它既支持对称连接,也支持不对称连接。master负责控制链路带宽,并决定piconet中的每个slave可以占用多少带宽和连接的对称性。slave只有被选中时才能传送数据。ACL链路也支持接收master发给piconet中所有slave的广播消息。
鉴权和保密。蓝牙基带部分在物理层为用户提供保护和信息保密机制。鉴权基于“请求一响应”运算法则。鉴权是蓝牙系统中的关键部分,它允许用户为个人的蓝牙设备建立一个信任域,比如只允许主人自己的笔记本电脑通过主人自己的移动电话通信。加密被用来保护连接的个人信息。密钥由程序的高层来管理。网络传送协议和应用程序可以为用户提供一个较强的安全机制。
4.软件(协议栈)单元
蓝牙的软件(协议栈)单元是一个独立的操作系统,不与任何操作系统捆绑。它必须符合已经制定好的蓝牙规范。蓝牙规范是为个人区域内的无线通信制定的协议,它包括两部分:第一部分为核心(Core)部分,用以规定诸如射频、基带、连接管理、业务搜寻(service discovery)、传输层以及与不同通信协议间的互用、互操作性等组件;第二部分为协议子集(Profile)部分,用以规定不同蓝牙应用(也称使用模式)所需的协议和过程。
蓝牙规范的协议栈仍采用分层结构,分别完成数据流的过滤和传输、跳频和数据帧传输、连接的建立和释放、链路的控制、数据的拆装、业务质量(QoS)、协议的复用和分用等功能。在设计协议栈,特别是高层协议时的原则就是最大限度地重用现存的协议,而且其高层应用协议(协议栈的垂直层)都使用公共的数据链路和物理层。
蓝牙协议可以分为4层,即核心协议层、电缆替代协议层、电话控制协议层和采纳的其它协议层。
1)核心协议
蓝牙的核心协议由基带、链路管理(LMP)、逻辑链路控制与适应协议(L2CAP)和业务搜寻协议(SDP)等四部分组成。从应用的角度看,射频、基带和LMP可以归为蓝牙的低层协议,它们对应用而言是十分透明的。基带和LMP负责在蓝牙单元间建立物理射频链路,构成微微网。此外,LMP还要完成像鉴权和加密等安全方面的任务,包括生成和交换加密键、链路检查、基带数据包大小的控制、蓝牙无线设备的电源模式和时钟周期、微微网内蓝牙单元的连接状态等。逻辑链路控制与适应协议(L2CAP)完成基带与高层协议间的适配,并通过协议复用、分用及重组操作为高层提供数据业务和分类提取,它允许高层协议和应用接收或发送长达64000字节的L2CAP数据包。业务搜寻协议(SDP)是极其重要的部分,它是所有使用模式的基础。通过SDP,可以查询设备信息、业务及业务特征,并在查询之后建立两个或多个蓝牙设备间的连接。SDP支持3种查询方式:按业务类别搜寻、按业务属性搜寻和业务浏览(browsing)。
2)电缆替代协议
串行电缆仿真协议(RFCOMM)像SDP一样位于L2CAP之上,作为一个电缆替代(cable replacement)协议,它通过在蓝牙的基带上仿真RS232的控制和数据信号,为那些将串行线用作传输机制的高级业务(如OBEX协议)提供传输能力。该协议由蓝牙特别兴趣小组在ETSI的TS07.10基础上开发而成。
3)电话控制协议
电话控制协议包括电话控制规范二进制(TCS BIN)协议和一套电话控制命令(AT-commands)。其中,TCS BIN定义了在蓝牙设备间建立话音和数据呼叫所需的呼叫控制信令;AT-commands则是一套可在多使用模式下用于控制移动电话和调制解调器的命令,它由蓝牙特别兴趣小组在ITU-T Q.931的基础上开发而成。
4)采纳的其它协议
电缆替代层、电话控制层和被采纳的其它协议层可归为应用专用(application-specific)协议。在蓝牙中,应用专用协议可以加在串行电缆仿真协议之上或直接加在L2CAP之上。被采纳的其它协议有PPP、UDP/TCP/IP、OBEX、WAP、WAE、vCard、vCalendar等。在蓝牙技术中,PPP运行于串行电缆仿真协议之上,用以实现点到点的连接。UDP/TCP/IP由IETF定义,主要用于Internet上的通信。Irobex(short OBEX)是红外数据协会(IrDA)开发的一个会话协议,能以简单自发的方式交换目标,OBEX则采用客户/服务器模式提供与则定义了电子商务卡和个人日程表的格式。
在蓝牙协议栈中,还有一个主机控制接口(HCI)和音频(Audio)接口。HCI是到基带控制器、链路管理器以及访问硬件状态和控制寄存器的命令接口。利用音频接口,可以在一个或多个蓝牙设备之间传递音频数据,该接口与基带直接相连。
蓝牙技术把各种便携式计算机设备与蜂窝移动电话用无线链路连接起来,使计算机与通信更加密切结合起来,使人们能随时随地进行数据信息的交换与传输。因此蓝牙技术虽然出现不久,但已受到许多行业的关注。据国际开发中心(IDC)预测,到2004 年,蓝牙在美国将被嵌入到102万台设备内,在全世界将被嵌入到449万台设备内;到2006年内,其市场规模将达到7亿美元。今年底,6%的数字式移动电话将注入蓝牙技术,一个全新的无线通信时代已经开始。
蓝牙技术在电信业、计算机业、家电业有着极其广阔和诱人的应用前景,它也将对未来的无线移动数据通信业务产生巨大的推动作用。蓝牙技术会有突飞猛进的发展。但是,它仍然有大量的应用技术细节问题需要解决,仍然是一项发展中的技术。例如,为了防止语音和数据信息误传或被截收,用户必须事先为自己应用的各种设备设定某个共同的频率,即不同的用户有不同的频率,这样才能保证无线连接时不发生误传或被滥用。蓝牙标准还无法解决硬件兼容性,从而扩展到运行在蓝牙技术之上的软件。另外,蓝牙标准本身能否解决好安全问题,也是蓝牙能否获得成功的关键因素。