蓝牙技术术语解析.docx
- 文档编号:18410202
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:11
- 大小:740.59KB
蓝牙技术术语解析.docx
《蓝牙技术术语解析.docx》由会员分享,可在线阅读,更多相关《蓝牙技术术语解析.docx(11页珍藏版)》请在冰点文库上搜索。
蓝牙技术术语解析
蓝牙技术术语解析
1.AccessCode
每个基带的信息包,其开始部分是访问码,访问码可以是如下三种类型之一:
CAC,DAC和IAC。
CAC包括preamble,syncword和trailer位,其总长为72位。
一旦作为不带包头(packetheader)的自包含信息传输时,DAC和IAC就不包括trailer位,其长度达到68位。
2.ACL
AsynchronousConnectionlessLink异步链路,蓝牙系统中定义的两种数据链路之一。
这是个在LMPlevel上创建的两种设备之间的异步链接(分组交换)连接。
这种类型的链接主要用来发送ACL(异步链路)包。
另外一种数据链接类型是SCO。
3.Channel(hopping)sequence
信道跳频序列,这是个由79种频率组成的伪随机序列(对于23MHzsystem系统来说,是23种),使用微微网中主设备的蓝牙设备地址(BD_ADDR),可以计算出这些频率。
序列的的相位可以通过对主设备的时钟的预测计算出来。
信道跳频序列周期很长,在短时间内不会出现重复。
在短时间内,跳频均匀分布在79MHz的范围内。
4.connectabledevice
可连接设备,在允许范围内的蓝牙设备,可以响应寻呼信息,并且建立连接。
5.DeviceDiscovery
设备发现。
一种请求和接收蓝牙地址,时钟,设备类别等的机制。
6.FrequencyHopping(Selection)
跳频选择。
蓝牙的特点就是能够高速跳频。
定义了10种不同的跳频序列,,5种是针对79MHzrange/79跳频系统,另外5种是针对23MHzrange/23跳频系统,不同范围的跳频序列的区别仅仅在于频率范围79MHz/23MHz,以及段长:
32hops(79MHzsystem)/16hops(23MHzsystem)。
跳频序列包括寻呼序列(pagesequence)和寻呼响应序列(pageresponsesequence),这些都用在寻呼过程中(pageprocedure)。
在查询过程中(inquiryprocedure)存在查询序列(inquirysequence)和查询响应序列(inquiryresponsesequence)。
最后,蓝牙系统中,主跳频序列是信道跳频序列(channelhoppingsequence)。
7.InquiryProcedure
查询过可以让设备发现周围的其他设备,并了解这些设备的地址和时钟。
查询过程需要一个设备单元发送查询包(inquirystate)
并且接受查询回复。
接受查询包的目标设备(destination),通常处于查询扫描状态(inquiryscanstate),以便接受查询数据包。
目标设备之后将进入查询响应状态(inquiryresponsestate),并发送一个查询回复给源设备。
一旦查询过程完毕之后,就会通过寻呼过程(pagingprocedure)建立一个连结。
8.InquiryResponseState
查询响应状态,当设备接收到一个查询包之后,可以用查询响应包进行响应(一种FHS包)。
通过使用查询响应跳频序列(inquiryresponsehoppingsequence)进行发送。
9.InquiryState
查询状态,一旦设备想发现新的设备,就会进入查询状态,此时,该设备就向规定范围内的所有设备广播出其查询包(IDpacket),包中包含了IAC。
通过使用查询调频序列把包发送出去。
在查询状态的设备也可以接受查询回复(FHSpackets),但是,,该设备不会对这些包进行确认。
10.InquiryScanState
查询扫描状态,当设备想接受查询包时,就会进入查询扫描状态。
扫描是根据查询跳频序列进行的。
11.Inquiry(hopping)sequence
查询(跳跃)序列,这是个32种频率序列(对于23MHz系统有16种),在使用GIACLAP或者DIACLAP的时候,就会计算出该频率。
序列的相位可以从内部单元时钟(nativeunit\'sclock)计算出来。
在计算32种频率时,主中央频率和其他31种频率之间的偏移量为+/-16。
每隔1.28秒就会计算出一个新的中央频率。
要处理所有这32种频率,查询跳跃序列在2个查询系列中进行切换,每个系列有16种频率。
参见Frequencysequence。
12.Inquiry(hopping)responsesequence
查询响应序列覆盖了32种响应频率(对于23MHz来说,有16种),这些频率都同当前的查询跳频序列一一对应。
主设备和子设备使用不同的规则来获得同样的频率。
参见Frequencysequence。
13.non-connectabledevice
不可连接设备,不能响应寻呼的设备,称为处于非连接模式。
与之相反的设备称为可连接设备(connectabledevice)。
14.non-discoverabledevice
不可发现设备,不能响应查询的设备称为处于不可发现模式。
在此模式下,设备不能进入查询响应状态(inquiryresponsestate)。
15.DH
Data-HighRate高速率数据,用于异步链接(ACLlink)的高速率数据的包类型。
DH1包类似于DM1包,只有一点不同:
payload中的信息没有进行前向纠错编码(FEC)。
这意味着DH1包可以在一个时隙中,携带多达28字节的信息。
DH3包也与此类似,只有一点不同:
它可以覆盖多达三个时隙,并且包含185字节信息。
同样,DH5包可以覆盖到五个时隙,并且包含多达341字节的信息。
参见蓝牙packettypes.
16.DM
Data-MediumRate中等速率数据,用于异步链接(ACLlink)上的中等速率数据的包类型。
DM1包仅携带信息数据,包含了一个16位的CRC码和18字节的信息。
它们使用2/3前向纠错编码(FEC),该包仅仅覆盖到一个时隙。
DM3包与此类似,仅仅覆盖三个时隙,可携带多达123字节信息,DM5可以覆盖多达五个时隙,可以携带226字节信息。
参见蓝牙packettypes。
17.holdmode
保持模式,同步到微微网中的设备进入的一种节能模式,此时设备的活跃程度降低了。
主单元可以把子单元的设备置为保持模式,此时,子单元仅仅只有其内部计时器在运行。
子单元也可以请求进入保持模式,一旦子单元从保持模式转换出来,就立即恢复数据传输。
对于三种节能模式(呼吸、保持和停止模式)来说,保持模式的节能效果居中(即具有中等程度的节能效果)。
18.Idlemode
空闲模式,当设备没有同其他设备建立连接时,就处于空闲模式。
在该模式下,设备可以发现其它设备。
一般来说,设备发送查询码(GIAC,DIAC)给其他设备。
任何允许查询的设备将响应该信息。
之后,相关设备会决定建立连接。
19.POLLpacket
POLL包,类似于NULLpacket,区别仅仅在于:
它需要来自目的设备的确认。
一旦收到POLL包,子设备必须发回一个包进行响应。
参见蓝牙packettypes。
20.SCO
SynchronousConnectionOrientedlink面向连接的同步链路,支持对时延敏感的信息如语音。
蓝牙中定义的两种数据链路方式之一。
用保留带宽进行同步通信(电路交换),即两台设备在LMP层利用保留时隙在物理信道上周期传送传送数据包。
这种类型的链接主要用于传送SCO包(语音数据)。
SCO包不包括CRC码,且不进行重传。
主要支持传输有时间限制的信息,例如声音。
仅仅在ACL链接已经建立之后,才可以建立SCO链接。
参见ACL。
蓝牙4.1核心技术栈及部分应用协议绘制的蓝牙协议栈示意图
蓝牙协议栈主要由主机(Host)、控制器(Controllers)和主机控制器接口(HostControllerInterface,HCI)三部分组成。
我们先以两个直观的表述来感受这三部分与我们现实设备的对应关系。
对于没有蓝牙的PC,我们通常可以淘宝买一个USB蓝牙适配器来为PC增加蓝牙功能。
这里的蓝牙适配器可以理解为Controllers,PC可以理解为Host,USB的连接方式就是一种HCI。
我们的手机上的蓝牙模块也可以这样对应,手机操作系统就是Host,Controllers就是主板上的蓝牙芯片,PCB板上连接CPU和蓝牙IC的 UART,也是一种HCI。
当然,以上表述并不严谨,实际上Host层是硬件的抽象,而与具体的硬件无关,控制器是协议栈的底层实现,它才与硬件直接相关,通常就是蓝牙IC。
前文图中展示的仅是一个通用的蓝牙架构图,我们手机上的双模蓝牙系统与之类似,但实际上一个蓝牙设备可以仅由一个Host和一个主控制器组成,HCI层其实是可选的,在具有简单功能的蓝牙设备(例如耳机)中,Host和控制器可以在同一微处理器上实现,而无需HCI。
主控制器可以是以下三种:
oBR/EDR控制器
oLE控制器
oBR/EDR和LE组合控制器
可选的还可以有一个或多个次要控制器(AMP),AMP在蓝牙3.0就已经引入,主要和BR/EDR搭配使用,作为数据高速传输通道。
这种场景下,BR/EDR主要用作搜索,配对,连接建立和连接维持的作用。
当两个BR/EDR蓝牙设备L2CAP连接建立后,AMP管理器能检测到另外一个设备的AMP管理器。
当两个蓝牙设备都有AMP控制器,蓝牙核心系统提供这样一种机制,能让数据流从主控制器迁移到次要控制器,即通过AMP来传输,AMP可以使用 802.11 协议转换层(PAL)來提供更高的傳輸率,最高可达54Mbps。
结合以上,关于实际的蓝牙设备架构,我们可以组合几种控制器和Host得到以下符合规范的蓝牙架构:
o四种可能的单模架构
o三种可能的双模架构
控制器和HCI涉及底层硬件部分,不做更多讨论,接下来重点对Host层做一个具体的说明。
Host
Host包含逻辑链路控制和适配层(LogicalLinkcontrol&AdaptionProtocol,L2CAP)以及图中未画出的ChannelManager、SecurityManagerProtocol(SMP)和图中出现的GAP等其他更高层。
L2CAP主要起到数据缓冲和简单数据管理的作用。
通道管理器负责创建,管理和关闭用于传输服务协议和应用程序数据流的L2CAP通道。
SMP等其他部分详情参见核心协议文档,我们把重点放到应用层。
Profiles
蓝牙系统中的应用程序互操作性(应用部分)由各种蓝牙配置文件(Profile)完成。
Profile就是定义了一个实际的应用场景。
具体来说,Profile定义了蓝牙系统中从PHY(物理层)到L2CAP的每层以及核心规范之外的任何其他协议所需的功能和特性。
应用的行为和数据格式也由Profile定义。
当两个蓝牙设备都符合某一种配置文件的所有要求时,即可开启并执行对应的应用操作。
需要特别说明的是,LE的Profile和BR/EDR的并不兼容,前文中的蓝牙架构图里展示出的几个Profile例子中,蓝色背景的是BR/EDR特有的Profile。
蓝牙规范中定义了很多常用的Profile,在4.0中引入的GATT/ATT让我们可以创建新的Profile。
下面介绍一些常用的配置文件
GAP
GAP,即通用访问配置文件,所有蓝牙设备都必须实现的基本配置文件。
它定义了蓝牙设备的基本要求,例如,对于BR/EDR,它定义了蓝牙设备以包括无线电,基带,链路管理器,L2CAP和服务发现协议功能;对于LE,它定义了物理层,链路层,L2CAP,安全管理器,GATT/ATT。
这将所有各层连接在一起,形成蓝牙设备的基本要求。
它还描述了设备搜寻,连接建立,安全性,身份验证,关联模型和服务搜寻的行为方法。
o在BR/EDR中,GAP定义每个设备为单一角色,其可能具备的功能包括设备如何相互发现,建立连接以及描述用于身份验证的安全关联模型。
设备可能只具备其中一种或多种功能,比如只具有启动或接受连接功能。
o在LE中,GAP定义了四个特定角色:
Broadcaster,Observer,Peripheral 和 Central。
如果底层Controller支持这些角色或角色组合,则设备也可同时支持多个角色。
但是,在某一时刻只能支持其中一个角色。
每个角色都指定了底层Controller的要求。
这允许控制器针对特定用例进行优化。
LE的Profiles
如上所诉,LE让我们可以创建自己的Profile,当然需要遵循一定的规范,这个规范就是GATT/ATT
GATT/ATT
通用属性配置文件(GATT)构建在属性协议(ATT)之上,并为属性协议传输和存储的数据建立通用操作和框架。
GATT和ATT通常在LE中实现。
是的,GATT和ATT还可以在BR/EDR中实现,蓝牙4.1核心系统协议中对GATT/ATT的表述是:
“GATT和ATT不是特定于传输层的,其可用于BR/EDR和LE。
而在LE中GATT/ATT用于搜寻服务,因此是必须实现的” (from core_SPEC_vol1_6.4)
GATT定义了两个角色:
服务端和客户端。
GATT角色不一定与特定的LEGAP角色相关联,但可以由更高层的配置文件指定。
GATT服务器发送对请求的响应,并在配置时,在GATT服务器上发生指定事件时,向GATT客户端异步发送指示和通知。
GATT按照层级定义了三个概念:
服务(Service)、特征(Characteristic)和描述(Descriptor)。
他们的包含关系如下图所示:
一个Service包含若干个Characteristic,一个Characteristic包含若干Descriptor。
Characteristic定义了数值和操作。
把若干个相关的Service组合在一起,就成为了一个Profile。
BR/EDR的Profiles
虽然BR/EDR的配置文件都是在蓝牙2.0、3.0的时候设计的,但仍是目前蓝牙“大”流量数据传输的主要方式。
比如硬件调试常用的串口通信(SPP),蓝牙耳机听歌用的A2DP协议,文件传输(FTP)等。
SPP
SerialPortProfile,即串口配置文件,定义了使用蓝牙进行RS232(或类似)串口仿真的协议和过程。
这也是蓝牙诞生之初的主要功能:
替代RS232有线通信,以无线的方式链接多个设备,克服同步问题。
SPP协议栈示意图:
图源:
SIG-SPP_SPEC_V12
SPP是基于 RFCOMM通信协议的规范,RFCOMM是一种简单的传输协议,其实也是用于仿真RS-232(ITU-TV.24)串口通信。
RFCOMM支持在两个设备之间模拟多个串口,或者在多个设备之间模拟串口,最多支持两个设备间60个串口的同时连接。
SPP可以视为仅是对RFCOMM的简单封装。
A2DP
官方描述:
高级音频分发配置文件(A2DP)定义了在ACL通道上实现单声道或立体声高质量音频内容分配的协议和程序。
典型的使用情况是将音乐内容从立体声音乐播放器流式传输到耳机或扬声器。
音频数据以适当的格式压缩,以有效利用有限的带宽。
环绕声分布不包含在此配置文件的范围内。
上面提到的“适当的格式”也就是网上很多蓝牙音质讨论帖中提到的SBC、Aptx等编码格式。
此配置文件定义了以下角色:
o源Source(SRC)
传送数字音频流到微微网SNK端。
o接收器Sink(SNK)
图源:
SIG-A2DP_SPEC_V132
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 蓝牙技术 术语 解析