蓝牙数据包解析
在蓝牙 BR(基本速率)数据包类型中,DH1、DH3、DH5 里的 1、3、5 主要代表数据包所占用的时隙数量 。蓝牙通信采用时分双工(TDD)模式,在一个时隙内,设备可以发送或接收数据。
- DH1:使用 1 个时隙进行数据传输 。由于占用时隙少,其数据包长度相对较短,适用于传输少量数据的场景,例如一些对实时性要求不高且数据量小的简单状态信息传输,像早期蓝牙鼠标向电脑主机偶尔发送的点击状态信息更新等。
- DH3:占用 3 个时隙 。相较于 DH1,它能携带更多的数据,因为有更多时隙用于传输,数据包长度增加,在需要传输稍多数据量,同时对速率要求保持在 1Mbps(因为它们都属于采用 GFSK 调制的 BR 模式,速率为 1Mbps)的场景中较为适用,比如蓝牙设备间传输一些简单配置文件等。
- DH5:利用 5 个时隙来传输数据 。是这三种类型中可传输数据量最大的,因为其占用了较多的时隙资源,可用于传输相对较大数据量且速率要求为 1Mbps 的任务,如早期蓝牙设备进行小文件传输时,若使用 DH 系列数据包,DH5 可能是较为合适的选择 。
而 DH3、2DH3、3DH3 包存在多方面区别:
- 调制方式:
- DH3:属于 BDR(基本数据速率)的包类型,采用 GFSK(高斯频移键控)调制方式,数据传输速率为 1Mbps 。
- 2DH3:是 EDR(增强数据速率)的包类型,调制方式为 π/4 - DQPSK(π/4 差分正交相移键控) ,数据传输速率提升到 2Mbps 。
- 3DH3:同样属于 EDR 包类型,调制方式为 8 - DPSK(八进制差分相移键控) ,数据传输速率进一步提高到 3Mbps 。
- 传输速率与应用场景:
- DH3:适用于对数据传输速率要求不高,在 1Mbps 速率下需要传输一定量数据的场景,比如一些早期蓝牙设备进行普通数据交互,对数据传输速度没有急切需求的情况。
- 2DH3:当设备需要比 1Mbps 更快的传输速率,且数据量有一定要求时会选用,例如一些对音频传输质量有一定要求的蓝牙音箱,以 2Mbps 速率传输音频数据可获得更好音质,在这个场景下 2DH3 包就能发挥作用。
- 3DH3:在对数据传输速率要求极高,需要在短时间内传输大量数据的场景中使用,如特定的专业设备间短时间内需要高速交换大量数据,3Mbps 的传输速率可满足其需求 。
前面的 2、3 在 2DH3、3DH3 中的含义是指 EDR 模式下不同的调制类型 。其中 “2” 对应 π/4 - DQPSK 调制,使数据传输速率达到 2Mbps;“3” 对应 8 - DPSK 调制,能实现 3Mbps 的数据传输速率 。
在蓝牙 BR(基本速率)数据包类型中,DH 和 DM 里的 H 和 M 具有特定含义。H 代表 “High speed”,即不使用纠错码的高速率分组 ,这类数据包在传输时没有额外的纠错编码机制,因此能够以相对更高的速率传输数据,例如 DH1、DH3、DH5 数据包,它们的数据传输速率均为 1Mbps(在 BR 模式下,采用 GFSK 调制方式),但由于没有纠错码占用额外资源,使得数据传输效率在理论上有所提升 ,适用于对数据准确性要求相对不高,但更注重传输速度的场景,像一些简单的状态信息广播,偶尔出现少量错误数据不影响整体功能实现 。
而 M 代表 “Medium speed with 2/3 rate FEC”,即采用 2/3 比例前向纠错码(FEC,Forward Error Correction)的中等速率分组 。使用前向纠错码意味着数据包中包含了一定比例用于纠错的冗余信息,当接收端接收到数据后,可以利用这些冗余信息对可能出现错误的比特进行纠正 。例如 DM1、DM3、DM5 数据包,其传输速率同样为 1Mbps(BR 模式下的 GFSK 调制) 。
在蓝牙连接,配对过程中主要使用DM包进行通信,而传输音频等用DH包进行传输。