• 蓝牙是怎么连接的

  • 发布日期:2025-10-28 07:48    点击次数:52

    有人好奇过蓝牙吗?它究竟是怎么做到 把两台不认识的设备连接起来,又是怎么做到 无线跟有线一样,连接的时候不被其他信号干扰的?

    蓝牙既然是无线传输,那肯定又是电磁波了,拿经典蓝牙举例,它在电磁光谱中的通信频段是2.4GHz(频率范围是2400 MHz 到 2483.5 MHz),大概是这个位置,所以为了充分利用好这个开放频段,经典蓝牙就把信道分成了79份,每个信道里面只有1MHz的带宽。

    明确了这个前提之后,让我们看看耳机跟手机是怎么进行连接和沟通的。

    在连接之初,耳机和手机需要进行一些简单的会话,来确定对方是不是自己要连接的设备,所以这些信道里就单独分出了两类,“查询信道”和“页面信道”,让它们来完成确认对话的工作。

    首先,耳机会在0、32、64(都是跳频,一次只发一个信道),这三个信道里发出广播,表明自己可以被连接,手机监测到之后,在8、40、72里面发出连接请求,其中就包括手机的蓝牙版本、设备地址等信息。耳机监测到这个请求之后,就会对这些信息进行判断,如果符合自己的预期,就会向手机发送确认信息(8、40、72),表示自己准备好进入连接状态了。

    连接状态主要就是双方互通信息以及确认的步骤。手机和耳机会通过“身份验证协议”,确认对方设备的合法性,如果可以就交换密钥,稳定传输链路,用来确保接下来的数据传输不会被窃听或篡改,并且这份密钥,如果手机端不主动取消,就会一直保存,即使蓝牙断开重连。这就解释了,为什么只需要手动连接一次,之后就可以直接使用了。

    那么传输链道稳定之后,手机就会通过“服务发现协议”了解耳机支持的功能,然后根据“蓝牙高级音频分发协议”建立音频通道,再根据耳机支持的编解码器(如SBC、AAC等)来调整音频传输的质量和压缩方式。

    总之,经过这通操作之后,两台原本毫无关系的设备,就算连接起来了。

    那么为什么在同一个房间内,多台手机跟多台耳机的连接不会混淆呢?

    因为在之前的密钥交换中,设备之间就已经确定了对方的ip地址,在使用的时候,数据包是由访问地址,标头,有效载荷和CRC校验组成的,访问地址用来区分使用的蓝牙设备,标头可以确保数据的可靠性和稳定性,有效载荷就是你要传输的信息,CRC校验是用来检测这一帧信息是否正确的。

    也就是说,数据包只会被固定的设备接收,其他设备即使扫描到了也无法解析,所以会直接无视掉。

    可是说了这么多,那些标头,CRC什么的,究竟是怎么传输的呢,也就是说,蓝牙的0和1是通过什么来表达的。

    先前我们提到蓝牙是有专用的信道的,但肯定不是一个信道代表一个数字。因为虽然蓝牙在开着的时候,会以每秒1600次的速率进行跳频,但不是每一次都会工作,它只在有信息传输的时候,才会把这些信息分成很多个数据包,然后每次跳跃发送一小串,所以其实是需要在每个信道内都做区分的。

    事实上,蓝牙是采用“频率调制”和“相位调制技术”这两种方式,来区分每个信道的0和1的,频率是单位时间内波的周期数,频率越高,波形越密,频率越低,波形就越稀疏;相位指的是波形的偏移量,简单来说就是,控制一个周期内波形的开始位置,这是它们的区别。

    然后,调制后的信号会通过载波调制到2.4 GHz的正弦波上,以电磁波的形式通过蓝牙发送给另一个设备,从而达到信息传输的目的。不清楚载波这一步的,可以跳转到无线电报那期,有详细讲解。

    所以,虽然蓝牙的通信频段是2.4GHz,但实际数据在CPU和蓝牙模块之间的传输速率,最高只能达到3 Mbps。

    这里是球村冷知识,感谢关注,我们下期再见。