觉得对蓝牙够了解?那LE设备的传输数据格式懂么?不慌,一文解答

蓝牙协议明确定义了LE设备的传输数据格式,下面以蓝牙Core4.1为例来说明BLE设备传输的数据格式。从连接层来看,广播通道和数据通道都遵循下列格式:

觉得对蓝牙够了解?那LE设备的传输数据格式懂么?不慌,一文解答

其中广播通道的PDU格式为:

觉得对蓝牙够了解?那LE设备的传输数据格式懂么?不慌,一文解答

数据通道的PDU格式为:

觉得对蓝牙够了解?那LE设备的传输数据格式懂么?不慌,一文解答

到此为止大家也许觉得数据通道最大可传输的数据长度已经确定为31字节,实不尽然。用过CSR1010芯片的同仁或许知道,基于它基础上的电视空鼠在传输音频数据时,每次却最多只能传输20字节,这是为什么呢?

下图为一段空鼠音频数据包,

觉得对蓝牙够了解?那LE设备的传输数据格式懂么?不慌,一文解答

除了要存放MIC的4个字节外,数据段只有27个字节的空间,而这只到ATT层。ATT层又占用了4个字节,其中2字节表示长度(或许1字节表长度,1字节他用),两个字节表示Channel ID。到了L2CAP也就只有23个字节的空间了,其中1字节表示类型或者操作码,2字节存放ATT Handle。到了HID报表,也就只有20字节了。


分享到:


相關文章: