浅析蓝牙技术的基带层分组协议

王朝手机·作者佚名  2006-11-29
窄屏简体版  字體: |||超大  

一、引言

现代通信技术的趋势走向网络核心技术分组化、窄带接入技术无线化。在无线接入领域,早期采用电路型传输方式,但是现在也开始出现了分组传输技术,如CDPD、GPRS、EDGE等;除了这些无线运营数据网络之外,最近由Ericsson、Intel、Nokia、Toshiba、IBM五家公司组成的蓝牙特殊利益集团SIG(SPecial Interest GrouP)联手推出的蓝牙计划致力于解决SoHo无线组网,倍受网络界的瞩目。

虽然蓝牙还没有正式成为国际标准,但是有越来越多的组织正在吸纳这种技术。蓝牙技术的目标是采用无线接口技术来取代传统各种有线连接。虽然蓝牙主要用来解决电话、数据终端等的连接组网问题,但是SIG也想将该技术应用到家电上去:家庭通过这种方式组成小型无线数据网,实现智能控制与管理。蓝牙技术的关键是很小的蓝牙芯片(即无线电收发信机),可以装在各种设备上,如手机、冰箱等等。蓝牙的应用非常广泛,例如手机与微机之间通过蓝牙无线连接,这种无束缚的接收和发送信息很有可能改变人们的生活方式;蓝牙与 WAP的结合也会创造出新的电子商务模式。

二、蓝牙的协议体系结构

蓝牙协议体系结构同样采用分层方式,包括蓝牙专用协议和一些通用协议。专用协议位于协议栈的底部,从底到上依次是蓝牙无线层(Bluetooth Radio)、基带层(Baseband)、LMP层(Link ManagerProtocol)、L2CAP层(Logical link Control andAdaptation Protocol)、SDP层(Service DiscoveryProtocol)。另外RFCOMM层以ETSI TS07.10为基础,目的是取代电缆连接;TCS(Telephony Control Protocol SPecification)以ITU-T的Q.931为基础,目的是进行呼叫控制。在蓝牙专用协议之上可以承载PPP、TCP/IP、UDP/IP、WAP等 通用高层协议。

无线层规范物理层无线传输技术。蓝牙工作在2.4GHz的ISM频段,大部分国家采用2400~2483.5NHZ,f=2402+kMHZ,k=0~78:即将该频段划分为79个带宽为1MHz的信道;在低频端留有2MHz的保护带,在高频端留有3.5MHz的保护带。调制方式采用GFSK,BT=0.5,正频偏表示“1”,负频偏表示“0”。系统采用跳频扩频技术,抗干扰能力强、保密性好。

LMP负责蓝牙设备之间的链路建立,包括鉴权、加密等安全技术及基带层分组大小的控制和协商。它还控制无线设备的功率以及蓝牙节点的连接状态。L2CAP在高层和基带层之间作适配,它与LMP是并列的,区别在于L2CAP向高层提供负载的传送,而LMP不能。L2CAP向高层提供面向连接的和无连接的数据服务,具备多协议复用功能和拆/装适配功能。SDP是蓝牙体系中非常关键的部分,只有通过SDP了解通信双方的设备信息、业务类型、业务特征,然后才能在蓝牙设备之间建立通信连接。

三、基带层

1.物理信道与物理链路

蓝牙技术的特点体现在底层技术,而基带层是底层中的关键技术之一。注意蓝牙基于微微小区机制,需具备强壮性、低复杂度、低功率、低成本的特点,而这在基带层技术中有所体现。

前面说过蓝牙采用挑频扩频技术,每秒1600跳,从时间域看即每个时隙长度是625μs,即每个时隙从79个信道中选择一个。时隙编号0~ 2的27次方-1,即以2的27个次方双工方式采用TDD。蓝牙既支持电路型数据,也支持分组型数据;既支持点对点连接,也支持点对多点连接。在一个微微网络(Pieconet)中,一个单元作为主节点,其他作为从节点,最多可以有7个从节点;但是允许有更多从节点与主节点保持在Park状态。从节点对信道的接入由主节点控制。微微网络在覆盖上可以有重叠:每个网络有各自的跳频方案,一个网络的主节 点可以同时作为另一个网络的从节点;一个从节点可以属于多个网络。

主节点向从节点发送数据只能占用偶时隙,反之从节点只能在奇时隙才能向主节点发送数据。一个分组(Packet,实际上更习惯的说法是帧,因为在基带层其地位类似于OSI的第2层、部分涉及物理层,分组的确切用法在第3层,但是蓝牙基带层规范中采用Packet术语)的传送最多可以占用5个时隙,在一个分组的传送期内,维持初始时隙所占用的信道而不再跳频。

在主从节点之间,有两种不同类型的链路,即同步面向连接SCO(Synchronous Connection-Oriented)链路和异步无连接ACL(Asynchronous Connection-Less)键路。SCO是点到点链路,立节点在周期性的保留时隙上维持SCO;ACL是点到多点链路。主节点可以利用SCO本占用的时隙建立ACL链路,从节点可以同时参与SCO和ACL。

SCO具备双向对称性,可以看作电路型连接,通常用于支持语音等实时业务。主节点可与一个或多个从节点建立多达3个的SCO链路;一个从节点也与多个主节点建立SCO链路(最多3条)。SCO分组不采用重传机制。SCO链路的建立通过主节点发送LMP的SCOsetup消息,该消息中包含了Tsco和Dsco等参数。Dsco用于标识SCO开始的时隙相对数,而Tsco用于表示时隙的重复周期。

未被SCO占用的时隙可用于ACL,在一对主从节点之间只有一条ACL。ACL的分组传送来用重传机制以确保正确性。只有主节点在发往从节点的分组中以某种方式允许某从节点发送数据时,该从节点才能在规定时隙发送数据。ACL支持广播。

2.分组组成

每个分组由3部分组成,即接入码(AccessCode)、头(Header)、负载(Payload)。其中接入码和头字段为固定长度,分别为72比特和54比特;负载是可变长度,从0~2745比特。一个分组可以仅包含接入码字段(此时为缩短的68比特),或者包含接入码与头字段,或者包含全部3个字段。

接入码有三种类型:Channel Access Code(CAC)、Device Access Code(DAC)和Inquiry Access Code(IAC)。CAC用于标识一个Piconet,所有在该Piconet中传送的分组都包含CAC;DAC用于特殊的信令过程,如寻呼和响应寻呼;IAC又分为General(GIAC)和Dedicated(DIAC)两类:GIAC对该区域内所有设备都是一样的,用于发现其它的蓝牙单元;DIAC用于根据某种特性划分特定用户群。

分组头包含链路控制信息,由6个字段组成:3比特的AM-ADDR、4比特的TYPE、1比特的FLOW、1比特的ARQN、1比特的SEQN、8比特的HEC,一共18个比特;再加速率为1/3的FEC,编码保护后一共是54比特。在主节点与从节点通信时,需要区分不同的从节点,用AM-ADDR来表示激活的从节点地址。全“0”地址用于广播,显然3比特的编码最多可以支持的激活从节点数为7(扣除全0)。4比特的TYPE字段可以区分16种不同类型的分组,详细情况见本节第3点。FLOW字段用于ACL链路上的流量控制:如果接收端缓存满,则FLOW=0指示发端停止发送数据;如果缓存清空,则FLOW=1指示发端继续发送。ARQN=0时表示NAK;ARQN=1时表示ACK,用于对负载传送正确性的确认。SEQN比特在每发送一个新的分组时翻转一次,因为蓝牙采用无编号ARQ机制,所以SEQN对于重传是必需的,这样可以避免由于 ACK的去失而造成分组重复接收。分组头用8比特的校验码以检查分组头的正确性。

3.分组类型

在16种分组中,有4种是公共的;另外12种根据SCO和ACL不同链路而不同。

(1)公共分组

ID分组:由DAC或IAC组成,长度固定为68比特,用于寻呼、探询、响应。

NULL分组:仅包含 CAC和分组头,没有负载,长度固定为126比特。NULL分组用于通过ARQN、FLOW等字段将链路信息返回给发送端。NULL分组无需确认。

POLL分组:POLL分组与NULL分组类似,也没有负载字段,但是需要接收端的确认。当从节点收到POLL分组后,必须响应,即使当时没有数据信息需要发送。

FHS分组:是一种特殊的控制分组,它宣告发端的设备地址和时钟信息,以实现跳频同步。负载字段包含144个信息比特加16比特的CRC校验码,然后用速率为2/3的FEC保护,最终长度为240比特。FHC的结构比较复杂,限于篇幅不作介绍。

DM1分组:DM代表Data Medium rate,该分组仅携带数据信息,负载包含18个信息字节和16比特的CRC校验码,然后用速率为2/3的FEC保护(即每10个信息比特附加5个校验比特)。

(2)SCO分组

SCO分组在SCO链路上传送,分组不采用CRC校验和重传机制。现在定义了3种SCO分组,SCO分组通常用于64kbit/s的语音传送。

HV1分组:HV代表High quality Voice,该分组携带10个字节的信息,用1/3速率的FEC保护,编码后负载长度为240比特。一个HV1分组可以携带1.25ms的64kbit/s的语音,每两个时隙HV1分组必须发送一次,即sco=2。

HV2分组:HV2分组携带20个字节的信息,采用速率为2/3的FEC,编码后负载长度也为240比特。一个HV2分组可以携带2.5ms的64kbit/s的语音,每四个时隙HV2分组必须发送一次,即Tsco=4。

HV3分组:HV3分组携带30个字节的信息,没有采用FEC,负载长度也为240比特。一个HV3分组可以携带3.75ms的64kbit/s的语音,每六个时隙HV3分组必须发送一次,即Tsco=6。

DV分组:DV分组是数据和语音的混合,负载由80比特的语音字段和最多150比特的数据字段组成。语音字段没有 FEC保护,数据字段有10字节信息,加16比特的CRC校验码,然后用2/3FEC保护。语音处理和数据处理是独立的。

(3)ACL分组

ACL分组在ACL错路上传送,承载的信息可以是控制信息或用户数据。如果包含DM1,则一共有7种ACL分组,除了AUX1外其它6种ACL分组采用CRC校验及重传机制。

DH1分组:与DM1分组类似,但是负载数据不经过FEC。DH1分组携带28字节信息加16比特的CRC校验码。DH代表Data-High rate。

DM3分组:与DM1类似,但DM3可以占用3个时隙,负载可包含123个信息字节加16比特的CRC校验码。

DH3分组:与DM3类似,但负载不采用FEC。DH3可以携带185字节的信息加16比特的CRC校验码。

DM5分组:DM5分组可以占用5个时隙,负载可包含226个信息字节加16比特的CRC校验码。

DH5分组;与DM5类似,但负载不采用FEC。DH5可以携带341字节的信息加16比特的CRC校验码。

AUX1分组:与DH1类似,但没有CRC校验码。AUX1分组可以携带30个信息字节。

4.负载格式

在负载中要区分语音(同步)字段和数据(异步)字段:ACL分组仅包含数据字段,SCO分组仅包含语音字段,DV比较特殊同时包含两种字段。语音字段长度固定为240比特,DV分组中语音字段为80比特,不存在负载头字段。数据字段包含3部分:负载头、负载体和CRC校验码(AUX1例外)。

负载头为1或2个字节。负载头规定了逻辑信道、逻辑信道上的流量控制及负载长度指示。用2个比特的L-CH字段来代表逻辑信道,其中11表示LM信道(传送LMP消息),10表示 UA/UI(L2CAP消息开始),01表示UA/UI(L2CAP消息继续), 00保留。

在蓝牙基带层中定义了5种逻辑信道,即LC(Link Control)控制信道、LM(Link Manager)控制信道、UA(User Asynchronous)用户信道、UI(UserIsochronous)用户信道、US(User Synchronous)用户信道。控制信道用于链路控制和链路管理,用户信道用于运载用户数据。LC信道在分组头中,其它信道在分组负载中。LM、UA、UI用负载头中的L-CH字段来区分,US信道仅在SCO链路中,UA和UI通常由ACL承载,但也可由SCO的DV分组来承载。 LM信道SCO和ACL都可承载。

下一篇目录

建立连接时,接收标志用于决定呼叫信息和唤醒序列。若不知道该信息,欲进行连接的单元可发布一查询消息,让接收方返回其地址和时钟信息。在查询过程中,查询者可决定哪个单元在需要的范围内,特性如何。查询信息也为一接入码,但从预留标志(查询地址)得到。空闲单元根据32跳的查询序列侦听查询信息,收到查询信息的单元返回FHS包。对于返回的FHS包,采用一随机阻止机制,防止多个接收端同时发送。

在呼叫和查询过程中,使用了32跳载波。对于纯跳频系统,最少要使用75跳载波。然而,在呼叫和查询过程中,仅有一个接入码用于信令。接入码用作直接序列编码,得到由直接序列编码处理增益结合32跳频序列的处理增益,可满足混合DS/FH系统规定所要求的处理增益。因此,在呼叫和查询过程中,蓝牙系统是混合DS/FH系统;而在连接时,为纯FH系统。

6纠错

蓝牙系统的纠错机制分为FEC和包重发。FEC支持1/3率和2/3率FEC码。1/3率仅用3bit重复编码,大部分在接收端判决,既可用于数据包头,也可用于 SCO连接的包负载。2/3率码使用一种缩短的汉明码,误码捕捉用于解码,它既可用于SCO连接的同步包负载,也可用于ACL连接的异步包负载。使用FEC码,编/解码过程变得简单迅速,这对RX和TX间的有限处理时间非常重要。

在ACL连接中,可用ARQ结构。在这种结构中,若接收方没有响应,则发端将包重发。每一负载包含有一CRC,用来检测误码。ARQ结构分为:停止等待ARQ、向后N个ARQ、重复选择 ARQ和混合结构。为了减少复杂性,使开销和无效重发为最小,蓝牙执行快ARQ结构:发送端在TX时隙重发包,在RX时隙提示包接收情况。若加入2/3率FEC码,将得到Ⅰ类混合ARQ结构的结果。ACK/NACK信息加载在返回包的包头里,在RX/TX的结构交换时间里,判定接收包是否正确。在返回包的包头里,生成ACK/NACK域,同时,接收包包头的ACK/NACK域可表明前面的负载是否正确接收,决定是否需要重发或发送下一个包。由于处理时间短,当包接收时,解码选择在空闲时间进行,并要简化FEC编码结构,以加快处理速度。快速ARQ结构与停止等待ARQ结构相似,但时延最小,实际上没有由 ARQ结构引起的附加时延。该结构比向后N个ARQ更有效,并与重复选择 ARQ效率相同,但由于只有失效的包被重发,可减少开销。在快速ARQ结构中,仅有lbit序列号就够了(为了滤除在ACK/NACK域中的错误而正确接收两次数据包)。

7功率管理

在蓝牙系统的设计中,需要特别注意减少电流消耗。在空闲模式下,在T从1.28~3.84s区间内,单元仅扫描10ms,有效循环低于1%。在一个PAXIL下,有效循环可减少更多,但PARK模式仅在微微网建立之后使用,从单元可停下工作,即以非常低的有效循环来侦听信道。从单元仅需侦听接入码和包头来重新使时钟同步,决定是否可重新进入休眠状态。因为在时间和频率上都已确定(不工作的从单元被锁定到主单元,与无线和蜂窝电话被锁定到基站类似),所以可达到非常低的有效循环。在连接中,另一非功耗模式是SNIFF模式,在这种模式下,从单元不是每一主一从时隙内部扫描,因此扫描之间有较大的间隔。

在连接状态下,数据仅在有效时发送,使电流消耗最小,且可防止干扰。若仅有连接控制信息要传送(ACK/NACK),则将发送一没有负载的空包。因为NACK为省缺设置,NACK的空包不一定要发送。在长静育期内,主单元隔一定时间在信道上重发一个数据包,使所有从单元对其时钟重新同步,对时间漂移进行补偿。在连续的TX/RX操作中,一单元开始扫描始于RX时隙的接入码,若未找到该接入码的某窗口,则该单元返回休眠状态,直到下一个TX时隙(对主单元)或RX时隙(对从单元);若接入码被接收(即接收信号与要求的接入码匹配),包头被解码。若3bit从单元地址与接收到的不匹配,进一步的接收将停止,包头用于表示包的类型和包的持 续时间,由此,非接收方可决定休眠时间。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航