蓝牙的Baseband说明 mi4 cm13 baseband
有三种是CLK,如下图:
CLK是Master的时钟,代表某一个piconet的是时钟。slave根据下图来调整自己的时钟以达到和master一致:
Page过程中用到CLKE,时钟调整过程如下:
2.地址蓝牙设备有一个唯一的48位地址(BD_ADDR),结构如下图:
0x9E8B00-0x9E8B3F是LAP保留的一段,用来进行inquiry operations。对于在piconet内的active状态的设备,都有一个Active MemberAddress(AM_ADDR),3bit,所以一个piconet内最多有8个active设备,AM_ADDR如果是all-zero,则代表是broadcast address。对于在piconet内的parked状态的设备,都有Parked MemberAddress(PM_ADDR),8-bit,所以最多有256个处于parked状态的设备。
3.Physical Channel
定义了四种phasical channnel:basic piconet channel和adapted piconet channel用于两个已经连接的设备之间的通信,inquiry scan channel用来发现远端设备,the page scanchannel用来连接设备。
4.Physical Links一个physical Link代表两个设备在baseband层的连接,通常一个PhysicalLink与一条Physical Channel关联。
5.Logical Transport一共定义了5种形式的Logical Transport:
synchronous logicaltransports周期性的使用预留的Slots,如果SCO建立,ACL只能使用这些Slots之外的Slots。每一个LogicalTransport都有一个Address(LT_ADDR)。在一个piconet里,每一个active状态的设备都有一个3-bit的LT_ADDR,全部为0代表广播,Master没有LT_ADDR。【这与AM_ADDR相似,是一个意思??】
(1)SCO和eSCOMaster最多支持3条SCOLink,可以是一个Master和一个Slave之间,也可以是一个Master和几个Slave之间。SCO常用于语音等同步数据,没有重传机制。sSCO相比于SCO在固定的Slot后增加了一个retransmissionwindow,支持重传机制。(2)ACLMaster和Slave只能存在一条link,并且在存在SCOlink的情况下,ACL只能在预留给SCO的slots之外的Slots上传输数据。ACL支持重传。
6.Logical Links定义了5中Logical links:
LC在Packet的header部分,其余的Logical links在packet的payload部分。注意:ACL-C可以用在SCO 或者 ACL logical transport中;SCO-S andeSCO-S用在synchronous logical transports中;ACL-U 通常用在ACL logicaltransport中。ACL-C and ACL-U logical links由packet中的payload部分的header中的logical link ID(LLID)指定。(1)LC携带底层的控制信息,除了ID Packet,所有的Packet中都包括LC信息。(2)ALC-C携带Link Manger层交换的控制信息,使用DM1或者DV packets。(3)ALC-U带入了L2CAP层用户的信息,可能由一个或者多个baseband包来进行传输。(4)SCO-S和eSco-S携带同步用户数据。相比于除LC的几个Logical links,ALC-C拥有最高优先级。
7.packetsBasic Rate的packet的format如下:
General enhanced data rate packet 的format如下:
注意:baseband层的数据时Little-Endian的,LSB首先传输。当Access Code为68bit时,称为shortened access code,用在paging, inquiry,and park时,shortened access code没有trailer。
8.Access Code在physical Channel上传输都需要Access code,定义了三种Access Code:
IAC分为GIAC和DIAC,GIAC用于general inquiry operations,DIAC用于dedicatedinquiry operations。Baseband的每一个packet都是由Access Code开始的。Acess Code的格式如下:
Access Code有好几种类型:
Preamble部分如下:
SYNC根据24 bit address (LAP)计算得到。Trailer部分如下:
header由六部分组成:
经过1/3FEC编码后变成54bit,LSB先传输。(1)Type部分主要的功能如下:1.决定在哪一条logical transport上传输(SCO,eSCO或ACL)2.是否使能Enhanced Data Rate3.是哪种packet(SCO,eSCO或ACL)
Packet Type:有5种Common Packet Types:ID Packet,NULL Packet,POLL Packet,FHSPacket和DM1 Packet。这几种Type称为Link control packets:
(1)SCO PacketsHV1 Packet, HV2Packet, HV3 Packet,DVPacket。(2)eSCO packetEV4、EV5 for Basic Rate2-EV3,3-EV3,2-EV5,3-EV5 for Enhanced Data Rate(3)ACL PackrtDM1, DH1, DM3, DH3, DM5, DH5 and AUX1 for basic Rate2-DH1, 3-DH1, 2-DH 3, 3-DH3, 2-DH5 and 3-DH5 for Enhanced DataRate
payLoad部分:synchronous data+asynchronous data两个部分组成。ACL packets only havethe asynchronous datafield and the SCO and eSCO packets only have the synchronousdata field with the exception of the DV packets which haveboth.ACL PayLoad结构:
LLID定义如下:
更多阅读
手机无法搜索到蓝牙耳机的可能原因以及解决方法 搜索不到蓝牙耳机
使用蓝牙耳机的人数越多,其出现的问题也就越多,但是大多数都不是蓝牙耳机自身的问题,大多是人们不会使用的缘故。现在由QCY蓝牙耳机的客服来总结说一下手机无法搜索到蓝牙耳机的可能原因以及相对应的解决方法吧。1、蓝牙耳机不是开机
HC-05蓝牙模块与单片机的使用 hc05蓝牙模块
HC-05蓝牙模块与单片机的使用——简介关于HC-05蓝牙模块如何搭配单片机使用,还是以Arduino UNO升级改进版Manduino UNO为例,进行说明。HC-05蓝牙模块适用于各种3.3V的单片机系统,模块可以使用AT指令设置波特率配对、密码用户信息等,默
如何正确的给蓝牙耳机充电呢 运动蓝牙耳机如何充电
? ? 看到这标题,或许有人想,给蓝牙耳机充电还不够简单吗?直接把插头插上、把电源打开就可以啦、、、? ? 说的真的很简单,可是仍然有很多的蓝牙耳机用户对于如何给蓝牙耳机充电的情况不甚了解,或者是粗心大意的,然后造成蓝牙耳机各种程度
Z 高品质蓝牙音频设计的考虑ACL,SCO 高品质音频播放器
蓝牙已确确实实的来到人们的生活当中。我们曾经怀疑“身边会有多少蓝牙设备可以连接”,现在我们想的却是“我和你的蓝牙设备连接效果会怎么样”。直到最近,蓝牙音频传输都较为简单。蓝牙规范只定义了一种传输机制,对于更复杂的应用几乎
MOTOHS850蓝牙耳机的使用方法 hs 13w蓝牙耳机
在网上买了一个,今上午收到,刚试了一下效果不错。第一次用蓝牙耳机,在网上查到使用方法,收藏备查。一、蓝牙耳机与手机配对方法: 1、首次使用,尽量让耳机冲上2-4个小时左右,以后充2小时即可,说明书上也是这么说的,最好不要超过4小时,有的