蓝牙协议明确定义了LE设备的传输数据格式,下面以蓝牙4.1为例来说明BLE设备传输的数据格式。从连接层来看,广播通道和数据通道都遵循下列格式:
其中广播通道的PDU格式为:
数据通道的PDU格式为:
到此为止大家也许觉得数据通道最大可传输的数据长度已经确定为31字节,实不尽然。用过CSR1010芯片的同仁或许知道,基于它基础上的电视空鼠在传输音频数据时,每次却最多只能传输20字节,这是为什么呢?
下图为一段空鼠音频数据包:
除了要存放MIC的4个字节外,数据段只有27个字节的空间,而这只到ATT层。ATT层又占用了4个字节,其中2字节表示长度(或许1字节表长度,1字节他用),两个字节表示Channel ID。到了L2CAP也就只有23个字节的空间了,其中1字节表示类型或者操作码,2字节存放ATT Handle。到了HID报表,也就只有20字节了。
留言与评论(共有 0 条评论) |