时钟同步在蓝牙通信中的研究与应用
Research and Application of Clock Synchronization in Bluetooth Communication
DOI: 10.12677/hjwc.2025.153009, PDF, HTML, XML,   
作者: 张邦涛:重庆金锋特科技有限公司,重庆
关键词: 无线电蓝牙时钟同步精密测量Radio Bluetooth Clock Synchronization Precision Measurement
摘要: 随着物联网和无线通信技术的快速发展,蓝牙技术因其低功耗、低成本和良好的兼容性等优点,成为了短距离通信的重要解决方案。然而,蓝牙通信并非强实时性,存在毫秒级以上的通信延迟,因此,蓝牙设备间存在时钟漂移,如何实现时钟同步成为了技术难点。目前,蓝牙时钟同步主要通过主设备发起蓝牙广播,或在建立连接后向从设备发送本地时间戳,从设备接收后校准本地时钟来完成,该方式受限于蓝牙传输延迟,同步精度较低(毫秒至秒)。为提升同步精度,主设备通过链路层周期性连接事件向从设备发送数据包或空包作为时钟锚点,从设备通过连续的锚点来计算主从时钟的偏差,进一步通过调整本地时钟的频率或直接偏移来对齐主设备的时序,虽然该方式的同步精度可达亚毫秒级,但仍不能满足精密测量等领域的精度需求。本文提出了一种基于无线电通信的时钟同步方案,通过直接监控位于蓝牙协议栈物理层的无线电通信状态和事件,操作无线电射频芯片寄存器,从而实现主从设备交互各自的本地时间戳,并采用高速时钟和时钟补偿算法,同步精度可达微秒级以下,满足高精度应用场景,本文以基于nRF52832芯片设计的蓝牙高精度测头为例,展示了该方案的应用效果,更大程度发挥了蓝牙通信的优势。
Abstract: With the rapid development of Internet of Things (IoT) and wireless communication technologies, Bluetooth has become a vital solution for short-range communications due to its advantages such as low power consumption, cost-effectiveness, and excellent compatibility. However, Bluetooth communication lacks strong real-time performance and exhibits millisecond-level latency, leading to clock drift between Bluetooth devices. Consequently, achieving clock synchronization has emerged as a significant technical challenge. Currently, Bluetooth clock synchronization is primarily implemented through either broadcast initiated by the master device or timestamp transmission after connection establishment, where the slave device calibrates its local clock upon receiving the master’s timestamp. However, constrained by Bluetooth transmission delays, this approach offers limited synchronization accuracy (ranging from milliseconds to seconds). To enhance synchronization precision, the master device can periodically send data packets or empty packets as clock anchors to slave devices via link-layer connection events. The slave device then calculates the clock deviation between master and slave based on consecutive anchor points and subsequently adjusts its local clock frequency or directly offsets the clock to align with the master’s timing. While this method achieves sub-millisecond synchronization accuracy, it still fails to meet the stringent precision requirements of applications such as precision measurement. This paper proposes a radio communication-based clock synchronization scheme that directly monitors radio communication states and events at the physical layer of the Bluetooth protocol stack and manipulates radio frequency (RF) chip registers. This enables mutual exchange of local timestamps between master and slave devices. By employing high-speed clocks and clock compensation algorithms, the proposed solution achieves synchronization accuracy at the sub-microsecond level, fulfilling the demands of high-precision applications. As a case study, this paper demonstrates the effectiveness of the proposed solution using a Bluetooth high-precision probe designed based on the nRF52832 chip, thereby further leveraging the advantages of Bluetooth communication.
文章引用:张邦涛. 时钟同步在蓝牙通信中的研究与应用[J]. 无线通信, 2025, 15(3): 87-93. https://doi.org/10.12677/hjwc.2025.153009

1. 理论研究

1.1. 蓝牙通信

蓝牙技术由爱立信公司于1994年提出,旨在实现短距离无线通信。1998年,爱立信、英特尔、诺基亚等企业联合成立蓝牙技术联盟(SIG),推动标准化进程[1]。1999年发布的蓝牙1.0版本支持1 Mbps传输速率,但存在兼容性问题。2004年,蓝牙2.0 + EDR (增强数据速率)将速率提升至3 Mbps,并优化了功耗[2]。2010年,蓝牙4.0引入低功耗蓝牙(BLE),大幅降低能耗,推动了物联网的发展[3]。2016年,蓝牙5.0进一步提升了传输距离至300米,并支持Mesh组网[4]。2020年,蓝牙LE Audio标准发布,支持多设备音频同步和更高音质[5]。如今,蓝牙技术已广泛应用于无线耳机、智能家居、医疗监测等领域,成为短距离无线通信的重要标准。

目前,蓝牙协议栈已由经典蓝牙发展到了低功耗(BLE)模式,其协议栈通信架构如图1所示:低功耗版本蓝牙协议栈主要由应用层、核心协议层、无线电物理层组成,其中应用层主要由蓝牙标准组织(SIG)定义的应用层规范[6] (profiles)组成,规定了各种特定应用场景下的协议规范,用以配置底层协议(如GATT、ATT等)以完成特定功能[7]。profiles由服务(Service)、特征(Characteristics)和操作规则共同组成[8],其中服务为逻辑功能模块代号(如心率服务的代号是0x180D),特征为具体的数据点(如心率值为0x2A37),操作规则为读/写/通知等权限。

核心协议栈主要包括GATT、GAP、ATT、SMP和L2CAP通信协议,其中GATT为通用属性规范,由服务、特征(由value和Descriptor组成)、操作规范和协议复用(通过UUID区分不同服务/特征)共同组成,GATT是profiles的基础,所有的profiles都是基于GATT数据结构来实现的;GAP为通用访问规范协议,定义了蓝牙主从设备通信角色、广播连接的配置、安全控制等;ATT为属性协议,定义了数据交互模型(Client/Service架构);SMP为安全管理协议,负责配对、密匙分发、加密、身份认证等操作;L2CAP为逻辑链路控制与适配协议,负责数据包的分段重组、协议复用(支持多个上层协议)、流量控制等。

Figure 1. Bluetooth protocol stack architecture

1. 蓝牙协议栈架构

数据链路层主要包括主机控制接口(HCI)和链路层(LL),其中HCI负责建立主机(HOST)与控制器(Controller)间的通信接口,例如UART、SPI、USB等;LL为链路层,负责控制设备的状态(广播/扫描/连接)、数据包封装、CRC校验和加密。

物理层由基于无线信号的调制解调、信道选择、功耗控制等功能单元组成,其中射频收发器和信道划分是关键组成部分,射频收发器主要负责处理无线信号(GFSK调制),信道划分主要将2.4 GHz ISM频段划分为不同的频带,每个频带对应一个信道,蓝牙5.X共分40个信号,其中有3个广播信道(37/38/39),其余37个为数据信道[9]

由此可见,蓝牙协议栈是以无线电物理层为基础的通信架构,由于应用层和核心协议层存在各种繁杂的协议规范(例如连接间隔为7.5 ms~4 s)和逻辑运算,因此通信存在不确定性延迟,而物理层通信是以时隙为最小周期单元的传输方式(经典蓝牙的时隙为625 μs,低功耗蓝牙的时隙为1.25 ms),并且每个时隙均有对应的设备状态和消息事件便于用户监听和管理,因此无线电物理层更具有实时性和时钟同步价值。

1.2. 无线电通信

当蓝牙主从设备处于连接、广播、扫描状态时,蓝牙设备的物理层将存在各种状态切换。

图2所示:通过操作无线电通信模块寄存器,可以让设备处于DISABLED状态;通过设置发送使能寄存器,可使设备处于发送准备状态;通过设置无线电发送任务寄存器,可使设备进入发送数据状态。当数据包发送完成后,设备将进入发送空闲状态,当检测到其他蓝牙设备地址信息时,设备将处于数据封包接收状态。应用层可设置回调函数,对无线电的各种状态或消息进行跟踪解析,从而让设备有序执行相关逻辑。

Figure 2. Radio communication state diagram

2. 无线电通信状态图

2. 时钟同步

2.1. 蓝牙时隙

蓝牙(特别是经典蓝牙的BR/EDR模式)采用时分多址(TDMA)技术,通过精确划分时隙(Time Slot)来实现数据传输和设备间的同步,时隙是蓝牙通信的基本时间单元,蓝牙将物理信道划分为连续的625 μs的时隙[10],且每个时隙对应一个调频频率。数据包必须在时隙内传输,且根据包类型可能占用1个、3个或5个时隙。

当蓝牙主从设备通信时,主设备(Master)控制时隙分配,在偶数时隙发送数据,从设备(Slave)在相邻的奇数时隙进行回复,形成主从交替通信的时分双工模式(TDD),这种严格的时隙划分避免了冲突,并允许一个主设备与多个从设备通信。并且,蓝牙每秒调频1600次(每个时隙调频1次),调频序列由主设备地址和时钟决定。时隙的边界与调频同步,确保了主从设备在相同频率上通信。

低功耗蓝牙(BLE)对时隙有了进一步优化,进一步缩短了连接间隔和时隙长度,通过更稀疏的时隙分配(例如每间隔几毫秒唤醒一次)实现超低功耗。若数据封包跨越多个时隙,期间信道频率不变,则容易受干扰,相反,数据封包较短,将在短时隙(例如1个时隙)边界实现跳频,从而提升了抗干扰能力。

因此,蓝牙的时隙机制是其高效利用无线信道、实现设备同步和多设备通信的核心,时隙划分直接决定了蓝牙的吞出量、延迟和功耗特性,而跳频技术与时隙的结合则增强了抗干扰能力。

2.2. 无线电通信事件

在蓝牙通信中,监听物理层的无线电通信事件通常需要开启无线电会话,原因在于物理层的监听依赖于蓝牙控制器的实时操作,只有激活无线电会话(建立连接、广播或扫描)后,底层硬件才会生产时隙事件(例如主从设备的TX/RX事件)、调频切换事件、射频开关状态等事件。同时,应用层需要设置无线电通信回调函数,当物理层完成特定无线电通信事件后,将对应的消息传递至回调函数,应用层通过解析消息,并配置相关的定时器、采集计数器计数值、构造同步数据包等系列操作,可实现主从设备的时钟同步。

2.3. 时钟同步设计

蓝牙主从设备间通信要做到时钟同步,关键在于确立通信双方具有统一的时钟基准,即主从设备需要进行精准对时,由于蓝牙通信的物理层通信时以固定时间长度的时隙为最小通信周期单元,且有对应的无线通信消息事件产生,因此通过监听这些消息事件,并在相关的通信事件中交互各自的时钟信息,并进一步通过时钟信息对时间偏差进行补偿,从而完成对自身时钟进行校准,以保持双方的时钟基准一致,达到时钟同步的目的。

Figure 3. Clock synchronization design flow

3. 时钟同步设计流程

图3为蓝牙通信中的时钟同步设计流程:配置两个定时器,一个用以定时,另一个用以计数,定时器每次在物理层处于发送或接收状态时进行重置,定时的周期需要小于一个时隙周期,以确保资源调度的延续性,避免冲突,计数器用以记录通信的时隙数量。

程序进一步设置无线电设备为空闲状态,同时通过设置回调函数监听无线电时隙消息,从而跟踪设备的无线电通信状态或事件(如图2),并进一步通过连接、广播、扫描等蓝牙通信操作,启动无线电通信会话,回调函数进一步对来自无线电通信的时隙消息进行解析,当消息显示设备处于接收状态时,程序将从寄存器中提取同步数据包,当消息显示设备处于发送状态时,程序将构造同步数据包,并启动无线电射频进行同步数据包发送。其中,同步数据包包含时刻点和计数值等信息(时刻点对应定时器的捕获信息,计数值对应计数器的计数值),用以记录发送同步数据封包的时刻点。当主从设备间交互同步数据封包后,会相互解析其中信息,同时通过捕获自身的定时器数值,即可计算出该同步数据封包的无线电传输延迟时间,并进一步通过时间补偿,将补偿后的时刻点作为下一个通信周期的起始点,重置定时器,从而使得主从设备具有相同的无线通信时钟基准,达到了时钟同步的目的。

3. 应用案例

近年来,蓝牙测头因其采用无线通信、抗干扰能力强、通信距离远等优点,被逐渐应用于数控精密加工领域,蓝牙测头检测系统主要负责对加工工件的几何尺寸进行精密测量。如图4所示,蓝牙测头检测系统由被测工件、蓝牙测头、蓝牙接收器和CNC数控中心几部分组成,蓝牙测头和接收器均采用nRF52832低功耗蓝牙芯片作为主控器,其中测头负责感知被测件并将触碰时间点发送给接收器,接收器负责通过调整IO信号线电平信号通知CNC数控中心,CNC数控中心根据获取通知的时刻点t1,现假定系统误差时间为t’,CNC发起测量的指令时刻点为t0,则有效测量时间t = t1-t0-t’,CNC进一步并结合光栅尺数值、电机运动速度等参数,即可计算出被测件的几何尺寸。

Figure 4. Schematic diagram of bluetooth probe detection system

4. 蓝牙测头检测系统示意图

理想情况下,当机械开关触碰到被测件时,测头将产生一个GPIO中断信号,在中断信号处理流程中,获取本地时间戳,并将该时间戳发送至接收器,接收器通过自身时间戳与测头时间戳的差值,即可获知通信延迟时间t延迟,并通过设定最大通信延迟阈值为tmax,则经过tmax-t延迟时长后,将IO信号线电平拉高,即可消除蓝牙通信延迟误差,获得精确测量结果。

然而在实际运行过程中,由于测头和接收器的时钟各自独立,不具备统一的时钟基准,接收器不能直接操作测头的时间戳,因此,仅当测头和接收器采用统一时钟基准,接收器处理测头的时间戳才有意义,这个使测头和接收器具有统一的时钟基准的过程,就叫时钟同步。

图5为蓝牙测头采用时钟同步的工作流程示意图,蓝牙测头采用主从设备模式进行通信,测头作为从设备,接收器作为主设备,测头与接收器间采用NUS服务(Nordic UART Service)传递时间戳信息。为了保证测头与接收器保持统一的时钟基准,双方建立基于无线电通信的时钟同步机制:配置TIMER3作为定时器、TIMER4作为计数器,设置无线电通信回调函数用以侦听时隙事件,并构造同步时隙数据包(包含TIMER3对应的时刻点和TIMER4对应的计数值等信息)进行无线射频交互,双方根据自身的本地时钟与时隙数据包中携带的对方的时刻信息,重新更新自身的TIMER3和TIMER4相关参数,以保持双边的时钟定时同步,当测头产生GPIO中断时,将通过TIMER3和TIMER4获取到本地的时间戳,并通过NUS服务将该时间戳发送至接收器,由于接收器与测头的TIMER3具有统一的定时标准(相当于都采用了北京时间),因此接收器可以通过本地时间戳与测头的时间戳的差值计算出通信延迟时间,并通过设置最大通信延迟阈值,来计算通知CNC数控中心的时刻点,从而消除蓝牙延迟带来的误差,达到精确测量的目的。

Figure 5. Bluetooth probe clock synchronization

5. 蓝牙测头时钟同步

4. 结束语

本文提供了一种采用蓝牙协议栈物理层中的无线电通信的时钟同步设计方案,其核心思想是通过监控蓝牙设备的无线射频模块的通信状态(由相关寄存器和中断事件反应),并在周期性无线电通信时隙中操作无线射频相关寄存器,以实现主从设备交换时间戳,从而调整自身高速时钟,以保持双方的时序一致,同时,通过时间补偿消除了时钟飘移,同步精度可达到微秒级以下。此外,本文以nRF52832的高精度测头为例,介绍了无线电时钟同步的具体实施过程,为方案的应用提供了参考。

参考文献

[1] 王伟, 李刚, 张红. 蓝牙技术的发展与应用前景[J]. 通信技术, 2015, 48(3): 45-50.
[2] 李明, 赵峰. 蓝牙2.0 + EDR技术及其应用分析[J]. 电子技术应用, 2008, 34(6): 78-82.
[3] 张强, 刘洋, 周磊. 低功耗蓝牙技术在物联网中的应用[J]. 计算机工程, 2013, 39(12): 1-5.
[4] 陈华, 吴迪, 孙静. 蓝牙5.0关键技术研究[J]. 现代电子技术, 2018, 41(15): 112-116.
[5] 蓝牙技术联盟. 蓝牙LE Audio技术白皮书[M]. 2021.
[6] Bluetooth Special Interest Group (SIG) (2021) Bluetooth Core Specification. Version 5.3 or Later.
[7] Gomez, C., Oller, J. and Paradells, J. (2012) Overview and Evaluation of Bluetooth Low Energy: An Emerging Low-Power Wireless Technology. Sensors, 12, 11734-11753.
https://doi.org/10.3390/s120911734
[8] Liu, J., Chen, C. and Ma, Y. (2013) Modeling and Performance Analysis of Device Discovery in Bluetooth Low Energy Networks. IEEE Communications Letters, 17, 960-963.
[9] Bluetooth Special Interest Group (SIG) (2016) Bluetooth Core Specification. Version 5.0 or Later.
[10] Bluetooth Special Interest Group (SIG) (2007) Bluetooth Core Specification, Version 2.1 + EDR or Later.