您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 蓝牙底层之BaseBand层学习总结
蓝牙Baseband学习笔记目录:概述物理信道物理连接逻辑传输逻辑连接数据包比特流加工链路控制器音频处理一、概念描述蓝牙时钟:BluetoothClock蓝牙设备地址:BluetoothDeviceAddressing这里需要介绍下蓝牙时钟:二、物理信道物理发射功率在2.402GHz到2.480GHz之间,有79个信道。在连接状态、同步扫描状态和同步队列状态最大调频速率为1600跳/S;在请求和寻呼状态中最大调频速率为3200跳/S。跳频序列是双方约定的一组伪随机数。定义的5中信道:•basicpiconetphysicalchannel在连接状态默认使用•adaptedpiconetphysicalchannel修改过的piconet连接使用•pagescanphysicalchannel•inquiryscanphysicalchannel•synchronizationscanphysicalchannel第一二种用于基础和改变后的piconet连接第三种寻呼扫描信道用于扫描连接设备。第四种请求扫描信道使用Native时钟第五种同步扫描信道用于设备接收同步队列包主从设备的定义是在两个建立连接的设备之间有意义。蓝牙管理中搜索周围设备(devicediscovery),会进行pagescan;pagescan其实是不停的进行多次inquiryscan,知道外部某个条件才中断。pagescan中两次inquiryscan间隔一般是30S。三、物理连接一个物理连接代表设备间的基带连接。一个物理连接总是和一个确定的物理信道关联。物理连接用共同的属性:在物理连接上申请逻辑传输。•Powercontrol•Linksupervision•Encryption•Channelquality-drivendataratechange•Multi-slotpacketcontrol四、逻辑传输主从设备之间不同的逻辑传输可能被确立,定义了六种逻辑传输•SynchronousConnection-Oriented(SCO)logicaltransport•ExtendedSynchronousConnection-Oriented(eSCO)logicaltransport•AsynchronousConnection-Oriented(ACL)logicaltransport•ActiveSlaveBroadcast(ASB)logicaltransport•ParkedSlaveBroadcast(PSB)logicaltransport•ConnectionlessSlaveBroadcast(CSB)logicaltransport.SCO:用于有时限的信息例如声音或者一般的同步数据。使用保留时隙。eSCO:可能有在保留时隙后一个重传窗口。ACL:总是主从设备之间的一个点到点的逻辑传输。在非保留时隙中。ASB:用于主设备和活动的从设备通信。PSB:用于主设备和休眠的从设备通信。CBS:用于主设备发送Profile广播。LT_ADDR:逻辑传输地址为一个处于活动状态的从设备都会被分配一个3bit的LT_ADDR。全0的LT_ADDR保留给ASB和PSB广播消息。有一个非全0的地址留给CSB逻辑连接SCO是对称的。一个主设备可以提供3个SCO连接和同一个从设备或者和不同的设备。一个从设备可以提供三个SCO连接和同一个主设备或者两个SCO连接和不同的主设备。而且SCO绝不重传。eSCO窗口由保留时隙和重传窗口构成,是对称或者非对称的。在一个主设备和一个从设备之间仅仅应该存在一个ACL逻辑传输,如果有更多的ACL数据包,用重传确保数据完整。如果ACL数据连接没有数据发送,不需要轮询,不需要传输请求。发送接收过程!!ASB逻辑传输被用于连接在匹克网中的设备的L2CAP传输,传输是单向的,没有确认。ASB逻辑传输只用于L2CAP群组传输,绝不用于L2CAP的面向连接信道、L2CAP控制信标和LMP的控制信标。ASB逻辑传输的不可靠的,为了增加可靠性,数据包会有一定数量的重传,重传的数据包使用相同的序列号以便从设备过滤重传。五、逻辑连接蓝牙白皮书定义了6种逻辑连接•LinkControl(LC)•ACLControl(ACL-C)•UserAsynchronous/Isochronous(ACL-U)•UserSynchronous(SCO-S)•UserExtendedSynchronous(eSCO-S)•ProfileBroadcastData(PBD)LC携带底层的控制信息:ARQ、流控和有效数据描述。除了数据包没有包头,否则每个包都包含LC信息。ACL-C:携带LM层交换的信息,用DM1或者DV数据包。ACL-C的的LLID为11b。ACL-U:携带L2CAP的用户信息。这些信息可能有一个或者更多的基带数据包。开始数据包LLID是10b,如果是同一个数据包,则后续的数据包LLID为01b,否则LLID为10b。SCO-S和eSCO-S:携带同步用户数据。PBD:携带profile广播数据。数据不应该被分片,应该重视用LLID10b。ACL-L最高的优先级,PBD优先级最低。六、数据包基础速率数据包3中数据包:只有accesscode,只有accesscode与包头以及完整的数据包。accesscode大小:72/68bitsheader:54bitspayload:0~2790bits增强数据速率数据包bit采用小端模式:先发送低位。accesscode:四种类型的accesscode:CACchannelaccesscode三部分组成72bitsDACdeviceaccesscodeGIACGeneralinquiryaccesscodeDIACdedicatedinquiryaccesscodeDAC用于Page、PageScan和PageResponse状态CAC用于connection状态,synchrontzationTrain状态和SynchronizationScan状态IAC用于Inquiry状态,包含一个GIAC和63个DIAC。不同的accesscode类型用不同的LAPs构造syncword短accesscode用于寻呼、查询和休眠。如果如果数据包中有包头,accesscode是72bits。否则为68bits。Preamble用两种1010/0101由syncword的LSB决定:syncword:CAC由master的LAP计算而来DAC是由slave的LAP计算而来IAC是由reserved/dedicated计算而来trailer:与preamble类似,trailer有两种:1010/0101,有syncword的MSB决定:Packetheader包头中包含着Linkcontrol信息,有6部分组成(18bits):•LT_ADDR:3-bitlogicaltransportaddress•TYPE:4-bittypecode•FLOW:1-bitflowcontrol•ARQN:1-bitacknowledgeindication•SEQN:1-bitsequencenumber•HEC:8-bitheadererrorcheck流控在eSCO和ACL-C中不使用。packettypes被分为4段第一段:控制包第二段:asingletimeslot第三段:threetimeslots第四段:fivetimeslots包类型作用:确定是否用EnhanceddataRate;确定在哪一条logicaltransport上传输(sco,eSCOACL);确定数据包的类型(SCO,eSCO,ACL)。普通包类型5中普通包,在第一段中和ID包ID包:由DAC和IAC组成,固定的长度68bits,它是非常健壮的包。NULL包:没有payload,仅仅有CAC和包头。定长126bits。空包可能用于返回链路信息到源设备关于前一个传输的状和Rxbuffer的状态。空数据包没有ACK。POLL包:被master用于polltheslaves;slaves不发送POLL包。没有payload但需要确认FHS包:payload有11个部分组成,114信息bits和16bitCRC,采用2/3FEC,总长度(payload)为240bits。被用于pagemasterresponse,inquiryresponse和角色切换中;在piconetchannel确定前的调频同步。SR:两个连续的pagescan窗口的间隔。DM1包:可以携带用户信息,也可以被当做一个ACL包。SCO包在SCO中有两种包,HV和DV包。HV没有CRC校验,并且没有重传;DV包含CRC在数据段,但是不在同步数据段,数据段可以重传。DV包是data-voice包,payload被分为80bit的voice和150bits的data。如果DV包中的数据data部分在SCO结束前没有收到ACK,则data将被以一个DM1数据包重传。eSCO包EV包被用在同步eSCO逻辑传输中。EV包包含CRC和重传。3个eSCO(EV3,EV4,EV5)被定义在基础速率(BR)中,4个其他的eSCO包(2-EV3,3-EV3,2-EV5,3-EV5)定义在增强数据速率(EDR)模式。ACL包ACL被用于异步逻辑传输,携带的信息是用户或者控制数据。为基础速率(BR)定义7中类型的包,为增强速率(EDR)定义了6种包。异步数据段LLIDcode为10时,L2cap消息的开始;为01时表示L2CAP消息后续包;为11时,表示LMP消息。数据包概述七、链路控制LC3个主要状态:standby,connection和park7个次要状态:page,pagescan,inquiry,inquiryscan,masterresponse,slaveresponseandinquiryresponse次要状态被用于确立一个连接和使能设备发现。从一个状态到两外一个,使用linkmanager命令或者使用linkcontroller的内部信令(signals),例如触发器信令和超时信令。在standby状态,设备处于低功耗模式,仅仅本地时钟运行。Thepagesubstateisusedbythemaster(source)toactivateandconnecttoaslave(destination)inthepagescansubstate.参考北吉不落://blog.sina.com.cn/s/blog_69b5d2a50101eh4x.html博客园
本文标题:蓝牙底层之BaseBand层学习总结
链接地址:https://www.777doc.com/doc-2024958 .html