CN114364010A - 同步关系建立方法、芯片、电子设备及存储介质 - Google Patents
同步关系建立方法、芯片、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114364010A CN114364010A CN202111509137.6A CN202111509137A CN114364010A CN 114364010 A CN114364010 A CN 114364010A CN 202111509137 A CN202111509137 A CN 202111509137A CN 114364010 A CN114364010 A CN 114364010A
- Authority
- CN
- China
- Prior art keywords
- synchronization
- local
- pulse
- time
- slave device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 128
- 230000001360 synchronised effect Effects 0.000 claims abstract description 84
- 238000012795 verification Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 239000000126 substance Substances 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 10
- 230000005540 biological transmission Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000004927 fusion Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
- H04W56/001—Synchronization between nodes
- H04W56/0015—Synchronization between nodes one node acting as a reference for the others
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0008—Synchronisation information channels, e.g. clock distribution lines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
- H04W56/004—Synchronisation arrangements compensating for timing error of reception due to propagation delay
- H04W56/005—Synchronisation arrangements compensating for timing error of reception due to propagation delay compensating for timing error by adjustment in the receiver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
- H04W84/20—Master-slave selection or change arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q9/00—Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/38—Services specially adapted for particular environments, situations or purposes for collecting sensor information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例涉及无线通信技术领域,公开了一种同步关系建立方法、芯片、电子设备及存储介质。同步关系建立方法包括,根据预设的脉冲周期启动同步脉冲;获取第K1个同步脉冲的起始时间和从设备端的第K2个连接事件的起始时间,并根据第K1个同步脉冲的起始时间与第K2个连接事件的起始时间计算偏移时间;其中,主设备端与所述从设备端已建立连接;向从设备端发送第一同步信息,使得从设备端根据第一同步信息启动与主设备端同步的本地同步脉冲;其中,第一同步信息携带同步脉冲的计数值K1、连接事件的计数值K2、偏移时间以及脉冲周期。本申请技术方案能够使得主从设备端之间建立同步关系。
Description
技术领域
本发明实施例涉及无线通信技术领域,特别涉及同步关系建立方法、芯片、电子设备及 存储介质。
背景技术
在医疗检测、肢体运轨迹追踪等应用领域,涉及大量分布式数据采集,主机端需要对数 据进行融合,以便建立相应模型用于数据分析。
目前上述应用场景中都涉及到多设备分布式的数据采集、分布于各处的传感器间的数据 具有相互关联性,需要将数据传输到融合端对数据进行融合,目前通用使用线缆的方式进行 连接,线缆传输的可靠性高、同步精度高,但是线缆本身会限制产品的使用场景、使用体验; 也可以使用无线传输的方式取代线缆传输,但由于无线传输可靠性的问题,容易出现不同传 感器在同一时间采集的数据被传输到融合端的时间不同步,导致融合端融合出的数据不够准 确。
发明内容
本发明实施方式的目的在于提供一种同步关系建立方法、芯片、电子设备及存储介质, 可以提高网络中多个设备执行任务的同步性。
为解决上述技术问题,第一方面,本发明实施例提供了一种同步关系建立方法,应用于 主设备端,该方法包括:根据预设的脉冲周期启动同步脉冲;获取第K1个同步脉冲的起始 时间和从设备端的第K2个连接事件的起始时间,并根据所述第K1个同步脉冲的起始时间与 所述第K2个连接事件的起始时间计算偏移时间;其中,所述主设备端与所述从设备端已建 立连接;向所述从设备端发送所述第一同步信息,使得所述从设备端根据所述第一同步信息 启动与所述主设备端同步的本地同步脉冲;其中,所述第一同步信息携带所述同步脉冲的计 数值K1、所述连接事件的计数值K2、所述偏移时间以及所述脉冲周期。
第二方面,本发明实施例提供了一种同步关系建立方法,应用于主设备端,该方法包括: 根据预设的脉冲周期启动同步脉冲;基于与所述从设备端预先约定的信道,以所述脉冲周期 为发送周期,发送第三同步信息,使得所述从设备端根据所述第三同步信息启动与所述主设 备端同步的本地同步脉冲;其中,每次发送的所述第三同步信息携带所述同步脉冲的当前计 数值。
第三方面,本发明实施例提供了一种同步关系建立方法,应用于从设备端,该方法包括: 若在第K2-local个连接事件中接收到所述主设备端发送的第一同步信息,获取第K2-local个 连接事件的起始时间t2-local;其中,所述第一同步信息携带所述主设备端的同步脉冲的计数 值K1、所述连接事件的计数值K2、所述同步脉冲的脉冲周期以及根据所述第K1个同步脉 冲的起始时间与所述第K2个连接事件的起始时间计算得到的偏移时间offset;将所述从设备 端的本地同步脉冲的脉冲周期设定为所述第一同步信息中携带的所述同步脉冲的脉冲周期; 至少根据所述t2-local,所述K2-local、所述K2、所述K1、所述offset以及所述从设备端的 连接事件周期,设定所述从设备端的本地同步脉冲的启动时间和所述本地同步脉冲启动时的 计数值;其中,所述从设备端的本地同步脉冲的启动时间晚于所述从设备端的当前时间;基 于所述本地同步脉冲的启动时间、所述本地同步脉冲的脉冲周期及所述本地同步脉冲启动时 的计数值,启动所述本地同步脉冲。
第四方面,本发明实施例提供了一种同步关系建立方法,应用于从设备端,包括:在与 所述主设备端预先约定的信道上接收主设备端周期性发送的第三同步信息,并获取接收到所 述第三同步信息的时间;其中,所述第三同步信息的发送周期与所述主设备端的同步脉冲的 脉冲周期相同,所述第三同步信息中携带有所述同步脉冲的当前计数值;将所述从设备端的 本地同步脉冲的启动时间设定为接收到所述第三同步信息的时间、将所述本地同步脉冲启动 时的计数值设定为所述第三同步信息中携带的所述当前计数值,并将所述本地同步脉冲的脉 冲周期设定为所述第三同步信息携带的所述同步脉冲的脉冲周期或检测到的所述第三同步信 息的发送周期;基于所述本地同步脉冲的启动时间、所述本地同步脉冲的脉冲周期及所述本 地同步脉冲启动时的计数值,启动所述本地同步脉冲。
第五方面,本发明实施例提供了一种芯片,包括:处理模块和存储模块;存储模块存储 有可被处理模块执行的指令,指令被所述处理模块执行,以使处理模块能够执行:上述同步 关系建立方法,其中,芯片为主设备端或从设备端。
第六方面,本发明实施例提供了一种电子设备,包括:至少一个处理器;以及,与至少 一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令 被至少一个处理器执行,以使至少一个处理器能够执行:上述同步关系建立方法,其中,电 子设备为主设备端或从设备端。
第七方面,本发明实施例提供了一种计算机可读存储介质,存储有计算机程序,其特征 在于,所述计算机程序被处理器执行时,实现上述同步关系建立方法。
本发明实施例相对于现有技术而言,主设备端端启动一个同步脉冲,基于该同步脉冲的 脉冲计数值K1、主设备端与从设备端之间的连接事件计数值K2、该同步脉冲的脉冲周期生 成第一同步信息,并将该第一同步信息发送给从设备端;从设备端可以基于该第一同步信息 和连接事件的当前计数值,计算出用于启动与主设备端的同步脉冲保持同步的本地同步脉冲 的相关参数,该相关参数包括本地同步脉冲的启动时间t1-local、本地同步脉冲启动时的脉冲 计数值以及本地同步脉冲的脉冲周期;从而能够在从设备端启动该本地同步脉冲,以在主从 设备端之间建立同步关系。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不 构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别 申明,附图中的图不构成比例限制。
图1是本申请实施例中的主从架构示意图;
图2是本申请实施例中由主设备端执行的同步关系建立方法的一个实施例的流程图;
图3是本申请实施例中主设备端计算偏移时间的一个例子的具体流程图;
图4a是本申请实施例中同步脉冲和连接事件的相对时间关系的例子一的示意图;
图4b是本申请实施例中同步脉冲和连接事件的相对时间关系的例子二的示意图;
图4c是本申请实施例中同步脉冲和连接事件的相对时间关系的例子三的示意图;
图4d是本申请实施例中同步脉冲和连接事件的相对时间关系的例子四的示意图;
图5是本申请实施例中第一同步信息的数据格式的示意图;
图6a是本申请实施例中由从设备端执行的同步关系建立方法的一个实施例的流程图;
图6b是本申请实施例中由从设备端执行的同步关系建立方法的另一个实施例的流程图;
图7a是本申请实施例中由主设备端执行包含重发步骤的同步关系建立方法的一个实施 例的流程图;
图7b是本申请实施例中由主设备端执行包含重发步骤的同步关系建立方法的另一个实 施例的流程图;
图8是本申请实施例中第二同步信息的数据格式的示意图;
图9是本申请实施例中由从设备端执行根据接收的第二同步信息启动本地同步脉冲的一 个实施例的流程图;
图10是本申请实施例中由主设备端执行的再次同步流程的一个实施例的流程图;
图11是本申请实施例中第三同步信息的数据格式的示意图;
图12是本申请实施例中由从设备端执行的与主设备端重新建立同步关系的一个实施例 的流程图;
图13是本申请实施例中从设备端接收主设备端广播的第三同步信息时设定时间窗口的 示意图;
图14是本申请实施例中由主设备端执行的同步关系建立方法的另一个实施例的流程图;
图15是本申请实施例中由从设备端执行的同步关系建立方法的又一个实施例的流程图;
图16是本申请实施例中芯片的结构示意图;
图17是本申请实施例中电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实 施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中, 为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于 以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实 施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不 矛盾的前提下可以相互结合相互引用。
目前,在医疗检测、肢体运轨迹追踪等应用领域,涉及大量分布式数据采集,主机端需 要对数据进行融合;医疗检测领域的具体场景如心电图采集,肢体运轨迹追踪领域的具体场 景如运动员肢体运动追踪,这是典型的主从架构。即,多个从设备端负责采集数据,并将数 据传输至主设备端,主设备端对多个从设备端上传的数据进行融合。主从架构之间的数据传 输可以采用有线传输,如各从设备端通过线缆连接至主设备端;也可以采用无线传输,如基 于目前的蓝牙低功耗(Bluetooth low energy,简称BLE)技术,是目前常用到的近距离无线 通信技术。
以心电图采集场景为例,多个从设备端被固定在人体的不同部位,分别采集人体参数, 并将人体参数分别传输至主设备端;其中,每个从设备端包含传感器和蓝牙芯片,传感器用 于采集人体参数,蓝牙芯片用于主设备端蓝牙连接并上传人体参数。主设备端例如个人电脑, 用于将各从设备端采集的人体参数进行融合得到用于绘制心电图的各项数据;由于人体参数 在时间上具有相关性;主设备端要将各从设备端同一时间采集的数据进行融合。
一般的,各从设备端在接收到主设备端的开始采集命令后开始采集,然后将采集的数据 按照时间顺序封装在不同的数据包内,并将多个数据包依次上传给主设备端;主设备端会按 照数据包的接收顺序,对各从设备端上传的数据进行融合,如果从设备端采集数据包时并非 完全同步,那么即使传输过程准确无误,主设备端进行融合的数据也并非为各从设备端同一 时间采集的数据,即无法准确地将具有相关性的数据融合。
本申请正是无线传输可能导致的上述问题提出的改进,并且以BLE无线传输技术为例进 行说明;但并不仅限于应用在BLE无线传输技术中。
BLE设备之间通常会组成一个微微网,在一个微微网里面有一个主设备和一个或多个从 设备;主设备端可以同时跟多个从设备分别建立蓝牙连接,但是各从设备之间是没有任何连 接的。通常的,主设备和从设备之间可以基于异步面向连接的逻辑链路传输(Theasynchronous connection-oriented logical transport,简称ACL)链路进行通信,具体的,基于ACL链路的连 接事件进行通信。主设备端和从设备端建立连接后,会不断发生跳频,每发生一次跳频,就 发生一次连接事件,且连接事件的计数值就增加一次;从设备端和主设备端内都有连接事件 计数器,从设备端和主设备端内的连接事件计数器会对该ACL链路的连接事件同步计数。每 一次连接事件都具有持续时长,主设备端和从设备端在每一次连接事件的持续时长内传输数 据。两次连接事件的起始时间之间存在时间间隔,该时间间隔称为该ACL链路的连接事件周 期。在微微网中,主设备端与每个从设备端都建立一条独立的ACL链路,即对于每个从设备 端而言,唯一对应一条ACL链路;因此,从设备端所在ACL链路的连接事件,也可称之为 该从设备端的连接事件;从设备端所在ACL链路的连接事件周期,也可称之为该从设备端的 连接事件周期。
每个BLE设备,不管是主设备端还是从设备端,均包含有蓝牙芯片以实现蓝牙功能;蓝 牙芯片内都有一个独立运行的内部系统时钟,称为蓝牙时钟,该蓝牙时钟决定定时器的收发 定时和跳频同步。微微网的定时和跳频由主设备端确定,在主设备端与从设备端的连接过程 中,每次连接事件之后,从设备端会根据该次连接事件的锚点时间和连接事件周期,计算下 一次连接事件的锚点时间,并在下一次连接事件的锚点时间到来时,再次进行信息收发,从 而实现收发时机同步。即,从设备端在与主设备端建立ACL链路后,即可实现数据传输中收 发时机同步。
对于同一个BLE设备,均具有相同的时钟参考系。即,同一个BLE设备内各功能时钟的时钟源是相同的;比如,功能时钟A是对时钟源进行2倍频后的时钟,功能时钟B是对时 钟源进行3倍频后的时钟。因此,当发生漂移时,他们同时会以相同的速度、相同的方向进 行。
本申请实施例中,主设备端和多个从设备端相互配合,实现主设备端与从设备端之间同 步关系的建立。如图1所示为主从架构示意图,多个从设备端是指两个或两个以上的从设备 端,图中仅示例了四个从设备端,但并不以此为限。主设备端与从设备端可以基于BLE ACL 链路进行通信。需要说明的是,本申请实施例中虽然是以基于BLE ACL链路进行通信的情况 下进行说明的,但是并不以此为限,基于面向无连接、连接事件进行通信的任何通信协议进 行通信的方式中,均适用于本申请的同步关系建立方法。
在一个实施例中,如图2所示的同步关系建立方法,应用于主设备端,该方法包括如下 步骤。
步骤101:根据预设的脉冲周期启动同步脉冲。
步骤102:获取第K1个同步脉冲的起始时间和从设备端的第K2个连接事件的起始时间, 并根据第K1个同步脉冲的起始时间与第K2个连接事件的起始时间计算偏移时间。其中,主 设备端与从设备端已建立连接。
步骤103:向从设备端发送第一同步信息,使得从设备端根据第一同步信息启动与主设 备端同步的本地同步脉冲;其中,第一同步信息携带脉冲计数值K1、连接事件计数值K2、 偏移时间以及脉冲周期。
在步骤101中,主设备端内部预设有同步脉冲的脉冲周期,主设备端基于本地时钟启动 该同步脉冲,如图1中示意的同步脉冲。主设备端可以在初始化成功后就启动同步脉冲,或 者,在与从设备端建立连接之后再启动该同步脉冲;即,主设备端启动同步脉冲、主设备端 与从设备端建立连接,这两件事情的先后顺序不限。并且,该脉冲周期的具体值是根据实际 需求设定的,与连接事件周期没有任何关系;所以,主设备端利用该同步脉冲来实现从设备 端同步的同步周期,并不受连接事件周期的限制。
在步骤102中,主设备端可以选取一个同步脉冲,将该同步脉冲的脉冲计数值记作K1, 并获取第K1个同步脉冲的起始时间t1;主设备端可以选取一个连接事件,将该连接事件计 数值记作K2,并获取第K2个连接事件的起始时间t2。其中,由于同一设备端内部是基于同 一时间参考系的,所以,获取的该第K1个同步脉冲的起始时间t1和该第K2个连接事件的 起始时间t2,是基于该主设备端的同一时间参考系的。具体的,本地时钟可以理解为设备内 部为该设备提供各种不同频率的时钟的时钟源,而蓝牙时钟就是基于该本地时钟提供的一种 频率的时钟;因此,启动该同步脉冲的本地时钟与控制主从设备端蓝牙连接的蓝牙时钟可能 在频率上是不同的,但由于均是以该本地时钟为时间参考系的,所以,该本地时钟的频率和 该蓝牙时钟的频率存在预设对应关系。从设备端直接获取的该起始时间t1是以该本地时钟为 时间参考系的,直接获取的该起始时间t2以该蓝牙时钟为时间参考系的。如果以该本地时钟 作为时间参考系,那么,可以将直接获取该起始时间t2转换成以本地时钟为时间参考系对应 的时间。反之,如果以该蓝牙时钟为时间参考系的,可以将直接获取的该起始时间t1转换成 以蓝牙时钟为时间参考系对应的时间。或者,还可以将直接获取的该起始时间t1和该起始时 间t2同时转换为另一个时间参考系对应的时间。无论如何转换,只需要满足,该起始时间t1 和该起始时间t2是对应于同一时间参考系的时间。
在一个例子中,主设备端可以任意选取脉冲计数值K1和连接事件计数值记作K2,即第 K1个同步脉冲的起始时间t1可以早于、等于、或晚于第K2个连接事件的起始时间t2。主设 备端计算第K1个同步脉冲的起始时间t1与第K2个连接事件的起始时间的差值,作为偏移 时间offset。
在一个例子中,主设备端最终选取的第K1个同步脉冲的起始时间t1晚于第K2个连接 事件的起始时间K2。具体的,如果主设备端首次选取的第K1个同步脉冲的起始时间t1早于 或等于第K2个连接事件的起始时间K2,那么,主设备端可以重新选取一个更大的K1的值或者一个更小的K2的值,以使得第K1个同步脉冲的起始时间t1晚于第K2个连接事件的起始时间K2。此时,偏移时间offset是一个大于0的值。这样,可以便于后续从设备端计算本地同步脉冲的启动时间。
如图3所示为使得选取的第K1个同步脉冲的起始时间t1晚于第K2个连接事件的起始 时间K2的一种具体实现方式;该步骤102可以具体包括子步骤1021~子步骤1023。
子步骤1021,选取即将到来同步脉冲的计数值作为K1的初始值并获取第K1个同步脉 冲的起始时间t1,选取即将到来的连接事件计数值作为K2的值并获取第K2个连接事件的起 始时间t2。
具体的,即将到来的同步脉冲的计数值K1,是指同步脉冲的当前计数值的下一个计数值; 比如,当前计数值是5,表示从同步脉冲启动开始,当前已经产生了5个同步脉冲,那么, 接下来就是第6个同步脉冲,该即将到来的同步脉冲的计数值K1就是6;主设备端获取第6 个同步脉冲的起始时间t1。同理,即将到来的连接事件的计数值K2,是指连接事件的当前计 数值的下一个计数值;比如,连接事件的当前计数值是8,表示从主设备端与从设备端建立 连接开始,当前已经产生了8个连接事件,那么,接下来就是第9个连接事件,该即将到来 的连接事件计数值K2就是9;主设备端获取第9个连接事件的起始时间t2。
子步骤1022,若第K1个同步脉冲的起始时间t1早于第K2个连接事件的起始时间t2, 将t1更新为t1=t1+n1*T1,并将K1更新为K1=K1+n1;其中,T1为同步脉冲的脉冲周期,n1为使得更新后的t1晚于t2的正整数。
在一个例子中,主设备端会比较第K1个同步脉冲的起始时间t1与第K2个连接事件的 起始时间t2的大小关系;如果t1小于t2,表示t1早于t2,则执行t1加上脉冲周期T1,同时K1自加1,再次判断如果t1小于t2,再次执行t1加上脉冲周期T1,同时K1自加,直到 t1大于t2;即完成t1和K1的更新,n1表示K1自加1的次数;即,将更新后的t1和K1作 为最终确定出来的t1和K1。该例子中,n1为使得更新后的t1晚于t2的最小的正整数;这种 情况下,确定出来的t1是距离当前时间最近的同步脉冲的时间。在其他例子中,n1也可以取 更大的正整数,只要能够使得更新后的t1大于t2即可。主设备端确定出来的t1是一个未来 时间,可以减少从设备端计算出本地同步脉冲的启动时间的计算量,具体参见从设备端执行 该同步关系建立方法中的具体描述。
如图4a中,BLE Event是指BLE连接事件;BLE连接间隔是指连接事件周期,即两次连接事件的起始时间之间的时间间隔;BLE EventN是指第N个连接事件,每个连接事件具有持续时长,主设备端和从设备端在每一次连接事件的持续时长内传输数据。如果当前第N个连接事件刚发生,那么,即将到来的同步脉冲的计数值是M,即K1=M;即将到来的连接 事件计数值为N+1,即K2=N+1;从图中显然能够看出,第M个同步脉冲的起始时间t1显然 早于第N+1个连接事件的起始时间t2;而第M+1个同步脉冲的起始时间可以晚于第N+1个 连接事件的起始时间,所以,此时只需要将K1更新为K1=M+1,第M+1个同步脉冲的起始 时间t1=t1+T1;这个示例中,n1的取值为1,即n1的取值是使得更新后的t1晚于t2的最小 正整数;可选的,n1的取值也可以是大于或等于2的整数。并且,在该示例中,主设备端在 第N+1个连接事件中将该第一同步信息发送至从设备端。
另一方面,主设备端判断出第K1个同步脉冲的起始时间t1晚于或等于第K2个连接事 件的起始时间t2,则不会对t1和K1进行更新;即将选取的K1的值和第K1个同步脉冲的起始时间t1直接作为最终确定出来的K1和t1。
如图4b中,即将到来的同步脉冲的计数值是M,即K1的初始值是M;即将到来的连接事件计数值为N+1,即K2的值为N+1;从图中显然能够看出,第M个同步脉冲的起始时间 t1显然晚于第N+1个连接事件的起始时间t2。因此,可以不用对t1和K1进行更新。并且, 在该示例中,主设备端在第N+1个连接事件中将该第一同步信息发送至从设备端。
其中,同步脉冲和连接事件是相互独立的,所以,即将到来的同步脉冲的计数值K1和 即将到来的连接事件的计数值t1的大小关系并没有必然规律;并且,t1和t2的大小关系,也 不受K1和t1的大小关系的影响。
如图4c,与图4a的区别仅在于,在第N+2个连接事件中将该第一同步信息发送到该从 设备端,即在第N+2个连接事件的持续时长中将该第一同步信息发送到该从设备端。
如图4d,当前的连接事件计数值N,与图4b的区别在于,虽然即将到来的是第M个同步脉冲,但是主设备端选取在第M+2个同步脉冲的起始时间作为从设备端的时间同步点;即, 将第一同步信息中携带的K1设定为K1=M+2,并将K2设定为K2=N+3。
子步骤1023,将偏移时间offset设定为更新后t1与t2的时间差。
具体的,用最终确定出来的t1减去t2,得到偏移时间offset的值;由于最终确定出来的 t1大于t2,所以该偏移时间offset的值是大于零的数。
在步骤103中,主设备端可以在后续的任意一个连接事件中向从设备端发送该第一同步 信息。在BLE设备的交互中,该第一同步信息被封装成BLE数据包的格式进行发送;如果 是在其他协议下的设备交互,则该第一同步信息被封装成该其他协议支持的数据格式进行发 送。
一个例子中,主设备端可以在即将到来的连接事件中向从设备端发送该第一同步信息, 如图4a的例子中所示,即,在主设备端可以在即将到来的连接事件的持续时长中向从设备端 发送该第一同步信息。这样,主设备端可以尽可能早地将该第一同步信息发送给从设备端; 在采用图3所示的步骤1021~1023的例子来确定t1时,确定出来的第K1个同步脉冲的起始 时间t1是距离当前时间最近的同步脉冲的时间,第K2个连接事件是距离当前时间最近的连 接事件,主设备端在第K2个连接事件中向从设备端发送该第一同步信息。
这种情况下,可以使得从设备端在设定本地同步脉冲时的时间与确定该第一同步信息的 时间尽可能接近,从而可以尽可能提高同步精度。理由是:主设备端在确定该第一同步信息 中的数据时是基于主设备端的本地时钟确定的,而从设备端在设定本地同步脉冲时是以第一 同步信息为依据并基于从设备端的本地时钟设置的;但主设备端和从设备端的本地时钟之间 存在频率偏差(parts per million,简称PPM),主设备端确定该第一同步信息和从设备端设定 该本地同步脉冲之间的时间相差越久,由于PPM导致的累计误差就越大,而如果是较短的时 间内,可以认为累计误差很小甚至忽略,所以,尽可能减少由于本地时钟的频率偏差导致同 步精度低的问题。
其中,该第一同步信息是以主从设备端无线连接方式所支持的数据格式进行传输的,如 在BLE技术中,该第一同步信息的数据格式如图5所示,包括前导码、接入码、协议数据单 元PDU以及循环冗余校验CRC;其中,脉冲计数值K1、连接事件计数值K2、偏移时间offset 以及脉冲周期T1被携带在PDU中。如图5中,PDU包含多个字段,具体的,opcode字段用 于携带操作码,BLE Evt NB字段用于携带连接事件计数值K2、offset字段用于携带偏移时间 offset,Sync evt NB字段用于携带K1,Sync period字段用于携带脉冲周期T1;Resync AA字 段、Resync CH字段分别用于携带下次再同步时的接入码和信道标识。
在一个实施例中,如图6a所示的同步关系建立方法,应用于从设备端,该方法包括如下 步骤。
步骤201,若在第K2-local个连接事件中接收到主设备端发送的第一同步信息后,获取 第K2-local个连接事件的起始时间t2-local。
其中,第一同步信息携带主设备端的同步脉冲的脉冲计数值K1、从设备端的连接事件计 数值K2、同步脉冲的脉冲周期T1以及根据第K1个同步脉冲的起始时间与第K2个连接事件 的起始时间计算得到的偏移时间offset。
步骤202,将从设备端的本地同步脉冲的脉冲周期设定为第一同步信息中携带的同步脉 冲的脉冲周期。
步骤203,至少根据该t2-local,该K2-local、该K2、该K1、该offset以及该从设备端的 连接事件周期,设定从设备端的本地同步脉冲的启动时间和本地同步脉冲启动时的计数值。
步骤204,基于本地同步脉冲的启动时间、本地同步脉冲的脉冲周期及本地同步脉冲启 动时的计数值,启动本地同步脉冲。
主设备端基于上述实施例中方法生成第一同步信息后,向从设备端发送该第一同步信息; 该从设备端。
从设备端执行的该同步关系建立方法是与上述主设备端执行的同步关系建立方法相对应 的。从设备端在成功接收该第一同步信息后,从该第一同步信息中识别出同步脉冲的计数值 K1、连接事件计数值K2、同步脉冲的脉冲周期T1、偏移时间offset。从设备端在成功接收该 第一同步信息后,还会获取当前连接事件的起始时间t2-local,该当前连接事件的计数值记作 K2-local。
从设备端需要根据从第一同步信息中识别出来的数据和获取的第K2-local个连接事件的 起始时间t2-local,来确定用于启动本地同步脉冲的相关参数;该相关参数包括:本地同步脉 冲的启动时间t1-local、本地同步脉冲启动时的计数值K1-local、本地同步脉冲的脉冲周期T2。 其中,本地同步脉冲的脉冲周期T2显然要与主设备端的同步脉冲的脉冲周期T1相同,即, T2=T1。
步骤203用于设定本地同步脉冲的启动时间t1-local、本地同步脉冲启动时的计数值 K1-local这两个参数。步骤203具体包括:
将从设备端的本地同步脉冲的启动时间t1-local设定为t1-local=t2-local-(K2-local-K2) *T0+offset,并将本地同步脉冲启动时的计数值K1-local设定为K1-local=K1;其中,T0为从 设备端的连接事件周期;
若t1-local早于从设备端的当前时间,将t1-local更新为t1=t1+n2*T1,将K1-local更新为 K1=K1+n2;其中,n2为使得更新后的t1-local晚于从设备端的当前时间的正整数。
具体的,主从链路中的连接事件计数值,在主从设备端是始终保持一致的,所以,从设 备端记录的连接事件的当前计数值K2-local,必然也是主设备端记录的连接事件的当前计数 值,那么,从设备端的第K2连接事件的起始时间可以表示为t2-local-(K2-local-K2)*T0, 该T0是连接事件周期;那么,第K1个同步脉冲的起始时间对应到从设备端,应当表示为 t1-local=t2-local-(K2-local-K2)*T0+offset。从设备端还会将t1-local与从设备端的当前时间 进行比较,若t1-local早于从设备端的当前时间,表示第K1个同步脉冲的起始时间已经过去, 此时需要将该t1-local更新为一个未来时间,以实现启动该本地同步脉冲。
从设备端可以将t1-local更新为t1=t1+n2*T1,并将K1-local更新为K1-local=K1-local +n2;其中,该n2为使得更新后的t1-local晚于从设备端的当前时间的正整数。
在一个例子中,n2的取值可以是:使得更新后的t1-local晚于该从设备端的当前时间的 最小的正整数。具体的,从设备端可以在t1-local自加一个脉冲周期,并将K1-local自加1; 然后再次判断t1-local是否早于从设备端的当前时间,如果t1-local还是早于从设备端的当前 时间,从设备端继续在t1-local自加一个脉冲周期,并将K1-local自加1;直至判断出t1-local 晚于或等于该从设备端的当前时间;其中,n2是上述从设备端在t1-local自加脉冲周期的次 数。并且,此时得到的t1-local的值、K1-local的值为最终确定的值。这种情况下,确定的本 地同步脉冲的启动时间t1-local是距离从设备端的当前时间最近的时间点,尽可能减少由于本 地时钟的频率偏差导致同步精度低的问题。
在一个例子中,在步骤203中,在将从设备端的本地同步脉冲的启动时间t1-local设定为 t1-local=t2-local-(K2-local-K2)*T0+offset,并将本地同步脉冲启动时的计数值K1-local设 定为K1-local=K1之后,如果判断出t1-local晚于或等于从设备端的当前时间,则表示t1-local 的值是一个未来时间,无需更新。此种情况下,从设备端的计算量较小;即,当主设备端设 定的t1是一个未来时间,可以减少从设备端计算本地同步脉冲的启动时间的计算量。
请参考图4a,该示例中,从设备端在第N+1个连接事件中接收到该第一同步信息,即获 取的K2-local为N+1,并获取第N+1个连接事件的起始时间t2-local;该第一同步信息中携带 的K2也为N+1,所以,该从设备端的本地同步脉冲的启动时间t1-local=t2-local-(K2-local-K2)*T0+offset=t2-local+offset。也就是说,自第N+1个连接事件的起始时间开始 往后等待的时长为该偏移时间offset,当该等待的时长结束时,启动本地同步脉冲,且该本地 同步脉冲启动时的计数值为M+1,并且该本地同步脉冲的脉冲周期为T1。
请参考图4c,该示例中,和图4a的不同之处在于,从设备端是在第N+2个连接事件中 接收到该第一同步信息的,那么,该K2-local为N+2,获取第N+2个连接事件的起始时间t2-local,基于t1-local=t2-local-(K2-local-K2)*T0+offset计算出来的本地同步脉冲的启动时 间t1-local,是该第M+1个同步脉冲的起始时间;从图中显然可以看出来,该第M+1个同步 脉冲的起始时间是早于第N+2个连接事件的起始时间t2-local的,那么显然该第M+1个同步 脉冲的起始时间早于该从设备端的当前时间,也就是说,当前计算出来的本地同步脉冲的启 动时间t1-local已经过去了。此时,需要更新该本地同步脉冲的启动时间t1-local,以使得该 t1-local是一个未来时间。有图中可以看出,第M+2个同步脉冲的起始时间是晚于第N+2个 连接事件的起始时间的,如果该从设备端的当前时间是如图中所示的t0处,那么,显然第 M+2个同步脉冲的起始时间是晚于当前时间t0的,此时,对于公式t1=t1+n2*T1中的n2可 以取值为1,将t1-local更新为t1=t1+T1,K1-local更新为K1=K1+1。该示例中,n2取值为1, 是使得t1晚于当前时间的n2的最小取值;可选的,n2也可以取大于或等于2的整数。
在一个例子中,在步骤203中,在将从设备端的本地同步脉冲的启动时间t1-local设定为 t1-local=t2-local-(K2-local-K2)*T0+offset,并将本地同步脉冲启动时的计数值K1-local设 定为K1-local=K1之后,如果判断出t1-local晚于从设备端的当前时间且两者时间差较大,表 示要过比较久才能启动本地同步脉冲,这个可能会由于PPM的原因导致同步精度降低,此时, 从设备端也可以主动将t1-local更新为更靠近从设备端的当前时间。具体的,若t1-local晚于 从设备端的当前时间且K2-K2-local≥2,将t1-local更新为t1-local=t1-local-n3*T1,将K1-local 更新为K1-local=K1-n3;其中,n3为使得t1-local晚于第(K2-local+1)个连接事件的起始时 间(t2-local+T0)的最大正整数。
请参考图4d,该示例中,从设备端在第N+1个连接事件中接收到该第一同步信息后,计 算出需要本地同步脉冲的启动时间t1-local(图中对应于第M+2个同步脉冲的起始时间)显 然是晚于当前时间t0的,并且,该第一同步信息中携带的K2=N+3,而当前的计数值K2-local=N+1,满足K2-K2-local≥2。此时,可以将从设备端的时间同步点往前移。具体的,基于t1-local =t1-local-n3*T1,该n3可以取2,所以本地同步脉冲的启动时间t1-local=t1-local-2*T1,本 地同步脉冲启动时的计数值K1-local=K1-2=M;即,将从设备端的时间同步点移动到第M个 同步脉冲的起始时间。该示例中,n3=2是使得t1-local晚于第N+1个连接事件的最大正整数; 可选的,n3也可以取1。
本申请实施例中,主设备端启动一个同步脉冲,基于该同步脉冲的脉冲计数值K1、主设 备端与从设备端之间的连接事件计数值K2、该同步脉冲的脉冲周期生成第一同步信息,并将 该第一同步信息发送给从设备端;从设备端可以基于该第一同步信息和连接事件的当前计数 值,计算出用于启动与主设备端的同步脉冲保持同步的本地同步脉冲的相关参数,该相关参 数包括本地同步脉冲的启动时间t1-local、本地同步脉冲启动时的脉冲计数值以及本地同步脉 冲的脉冲周期;从而能够在从设备端启动该本地同步脉冲,以在主从设备端之间建立同步关 系。
上述主设备端执行的同步关系建立方法和从设备端执行的同步关系建立方法是相符相成 的,使得主设备端启动的同步脉冲被同步到从设备端,即从设备端启动一个与主设备端的同 步脉冲的脉冲周期相同、同一时刻的脉冲计数值相同的本地同步脉冲;从而,主从设备端之 间建立同步关系。在不同应用场景中建立同步关系可以有不同用处。比如,在心电图采集场 景中,多个从设备端均启动一个本地同步脉冲,由于各从设备端内的本地同步脉冲均是与主 设备端的同步脉冲对准的,所以各从设备端内的本地同步脉冲也是保持同步的。各从设备基 于本地同步脉冲进行数据采集得到数据包,即本地同步脉冲的每个脉冲周期中采集的数据形 成一个所述数据包,并将采集得到的数据包依次上传给主设备端。由于各从设备端的本地同 步脉冲是保持同步的,使得各从设备端依次采集的数据包也是同步的,所以,主设备端会按 照数据包的接收顺序,对各从设备端上传的数据进行融合,在传输过程准确无误的情况下, 可以准确地将具有相关性的数据融合。
在一种可能的情况下,当某个从设备端与主设备端之间的数据传输发生失误时,如某个 数据包丢包了甚至连续多个数据包丢包了,那么,主设备端还是依照各从设备端的接收顺序 对数据包进行融合,显然会将不具有相关性的数据融合在一起。为此,如图6b所示,从设备 端在基于本地同步脉冲的启动时间、本地同步脉冲的脉冲周期及本地同步脉冲启动时的计数 值,启动本地同步脉冲之后,还可以包括:
步骤204-1:基于本地同步脉冲进行数据采集得到数据包,并对数据包进行编号;其中, 本地同步脉冲的每个脉冲周期中采集的数据形成一个数据包,且数据包的编号为数据包中的 数据在采集过程中本地同步脉冲的计数值;
步骤204-2:将编号后的数据包依次发送至主设备端。
此时,各从设备端在同一时间采集的数据包的编号是相同的。主设备端接收到各从设备 端上传的数据包后,可以基于数据包的编号,将同一时间采集的具有相关联性的数据包进行 融合;即使个别从设备端在无线传输中出现丢包或者由于自身问题某段时间内没有完成数据 采集,主设备端也可以根据接收到的数据包的标号对能够融合的数据包进行筛选,使得数据 融合更准确。其中,主设备端的同步脉冲的脉冲周期可以根据各从设备端的数据采集周期设 定,以使得各从设备端启动的本地同步脉冲的脉冲周期符合数据采集周期的需求。并且,由 于同步脉冲是基于本地时钟启动的独立脉冲信号,并不受主从设备端之间的连接事件的影响, 所以,设计人员可以根据实际场景需要设定同步脉冲的脉冲周期的具体值,而不会受到从设 备端之间的连接事件周期的限制。以BLE连接为例,BLE连接事件周期为1.25ms*N(6<N <3200),因此,假如当用于同步的脉冲周期想设定为12ms、5ms、5000ms等,显然受到连 接事件周期的限制而无法实现;但本申请中基于同步脉冲实现同步,就可以实现任意同步周 期。
在主从设备端建立同步关系之后,主设备端和从设备端可以断开连接;具体的,可以由 主设备端主动断开连接,也可以由从设备端主动断开连接。由于从设备端内部的本地同步脉 冲与主设备端内部的同步脉冲依然在进行着,所以主从设备端之间的同步关系依然可以保持。 如上述心电图采集场景中,某个从设备端在与主设备端断开连接后,该从设备端依然基于该 本地同步脉冲进行数据采样并对数据包进行编号;待一段时间后,可以与主设备端再次连接, 以上传已采集并编号的数据包;即,采集的数据包无需实时上传,主设备端依然能够基于数 据包的编号,来识别出在时间上具有向关联性的数据包进行融合。
如上所述,本申请中,从设备端以本地同步脉冲的方式与主设备端保持同步关系,即是 主从设备端断开连接也不影响该同步关系的继续保持。因此,主设备端与多个从设备端均保 持同步关系的情况下,无需主设备端与该多个从设备端同时保持连接;当从设备端启动本地 同步脉冲后,主从设备端可以断开连接,从而节省双方功耗和链路开销。同时,本申请中主 从设备端保持同步关系的方式,使得主设备端需要同步的多个从设备端无需同时与主设备端 保持连接,只要建立起同步关系后就可断开连接而同步关系依然保持,因此,使得主设备端 能够同步的从设备端的数量不会受到网络带宽的限制。
在主设备端执行的同步关系建立方法中,在步骤103之后,如果第一同步信息发送失败, 主设备端会执行重复步骤,该重发步骤具有可选的第一种方式和第二种方式。
如图7a所示的例子中示意的,是以第一种方式实现的重新发送步骤。在步骤103之后, 如果第一同步信息发送失败,还包括该第一种方式实现的重新发送步骤104,具体为:向从 设备端重新发送第一同步信息。即,主设备端执行重发步骤时,发送的依然是该第一同步信 息。其中,图7a中的步骤101~步骤103即为图1中类似,此处不再赘述。
对于从设备端而言,如果接收到了主设备端重发的该第一同步信息,从设备端计算用于 启动本地同步脉冲的相关参数的具体步骤,与图4中所示的例子相同,此处不再赘述。
主设备端执行以第一种方式实现的重发步骤后,如果从设备端依然没有接收到该第一同 步信息,主设备端可以执行多次该重发步骤,直到从设备端接收到该第一同步信息。但不管 从设备端是在哪一次重发中接收到的该第一同步信息,从设备端根据该第一同步信息计算用 于启动本地同步脉冲的相关参数的具体步骤都相似。
如图7b所示的例子中示意的,是以第二种方式实现的重新发送步骤。在步骤103之后, 如果第一同步信息发送失败,还包括以第二种方式实现的重新发送步骤105,具体包括:
子步骤1051,选取即将到来的同步脉冲的计数值作为K1的初始值并获取第K1个同步 脉冲的起始时间t1,选取当前时刻之后的即将到来的连接事件计数值作为K2的值并获取第 K2个连接事件的起始时间t2;
子步骤1052,若第K1个同步脉冲的起始时间t1早于第K2个连接事件的起始时间t2, 将t1更新为t1=t1+n1*T1,并将K1更新为K1=K1+n1;其中,T1为同步脉冲的脉冲周期,n1为使得更新后的t1晚于t2的正整数。
进一步的,n1可以为使得更新后的t1晚于t2的最小的正整数。
子步骤1053,将偏移时间offset设定为offset=t1-t2。
子步骤1054,在即将到来的连接事件中向从设备端发送第二同步信息;其中,第二同步 信息携带脉冲周期T1、更新后的脉冲计数值K1、以及更新后的偏移时间offset。
上述子步骤1051~子步骤1053与上述子步骤1021~子步骤1023类似,均是为了获取一个 最近的未来脉冲的启动时间和计数值,以及对应的偏移时间offset;此处不再赘述。
其中,该第二同步信息是以主从设备端无线连接方式所支持的数据格式进行传输的,如 在BLE技术中,该第二同步信息的数据格式如图8所示,包括前导码、接入码、协议数据单 元PDU以及循环冗余校验CRC;其中,脉冲计数值K1、偏移时间offset以及脉冲周期T1被携带在PDU中。如图8中,PDU包含多个字段,具体的,offset字段用于携带偏移时间offset, Sync evt NB字段用于携带K1,Sync period字段用于携带脉冲周期T1;Resync AA字段、Resync CH字段分别用于携带下次再同步时的接入码和信道标识。其中,该图8中的PDU相较于图5中的PDU少了一个BLE Evt NB字段。
对应的,如图9所示,在从设备端执行的同步关系建立方法中,所述方法还包括:
步骤205,若在第K2-local个连接事件中接收到主设备端发送的第二同步信息,并获取 第K2-local个连接事件的起始时间t2-local。
其中,第二同步信息携带主设备端的同步脉冲的计数值K1、偏移时间offset以及同步脉 冲的脉冲周期;偏移时间offset为主设备端记录的第K1个同步脉冲的起始时间t1与第K2个 连接事件的起始时间t2的差值,且t1晚于所述t2。
步骤206,将从设备端的本地同步脉冲的脉冲周期设定为第二同步信息中携带的同步脉 冲的脉冲周期。
步骤207,将从设备端的本地同步脉冲的启动时间t1-local设定为t1-local=t2-local+offset, 并将本地同步脉冲启动时的脉冲计数值K1-local设定为K1-local=K1。
通常的,主设备端只有在第一同步信息发送失败后,才会执行重新发送步骤,在以第二 种方式实现的重新发送步骤中,主设备端发送该第二同步信息。换句话说,该方案中,从设 备端接收到该第二同步信息并基于该第二同步信息进行同步,表示从设备端没有能够成功接 收到上述第一同步信息。
在子步骤1054中,第二同步信息中携带的数据与第一同步信息相比,少了连接事件计数 值K2。这是因为,在重发步骤的子步骤1051~子步骤1053中,偏移时间offset的参考基准是 即将到来的连接事件的起始时间;而该第二同步信息也必然是在该即将到来的连接事件中发 送至从设备端;对于从设备端而言,该即将到来的连接事件的起始时间就是接收该第二同步 信息时的连接事件的起始时间,即从设备端接收该第二同步信息时的连接事件的计数值 t2-local必定等于K2。因此,从设备端计算该本地同步脉冲的启动时间t1-local可以根据 t1-local=t2-local+offset计算得到,而无需涉及K2。另外的例子中,从设备端依然可以基于 t1-local=t2-local-(K2-local-K2)*T0+offset计算得到,如上所述,在该重发步骤中的t2-local 必定等于K2,因此,(K2-local-K2)*T0这一项为0。
主设备端执行以第二种方式实现的重发步骤后,如果从设备端依然没有接收到该第二同 步信息,主设备端可以执行多次该重发步骤,直到从设备端接收到该第二同步信息。但不管 从设备端是在哪一次重发中接收到的该第二同步信息,从设备端根据该第二同步信息计算用 于启动本地同步脉冲的相关参数的具体步骤都相似。
如上描述了主设备端重发步骤的两种具体实现方式,相比较而言,以该第二种方式实现 的重新发送步骤,主设备端的第二同步信息中需要携带的数据更少,且对于从设备端而言, 计算用于启动本地同步脉冲的相关参数所需的计算量也更少。
其中,主设备端在成功发送第一同步信息或第二同步信息后,可以主动与该从设备端断 开连接;或者,从设备端在成功接收第一同步信息或第二同步信息后,可以主动与该主设备 端断开连接;以节省双方的能耗和链路开销。但是由于PPM的存在,即使从设备端内的本地 同步脉冲依然保持着,在一段时间后,主从设备端之间的同步偏差逐渐累计,若累计偏差过 大,主从设备端的同步性就会较差,可能会不满足应用场景的需要。此时,从设备端需要与 主设备端再同步。主从设备端可以在断开连接之后,定时启动再次同步流程,以定时进行再 同步,定时消除由于时间累积导致的同步偏差。并且,每次启动后,该再次同步流程可以持 续预设时长,以使得从设备端有足够的时间准确地接收到再同步流程中发送的第三同步信息, 实现再同步。
如图10所示是由主设备端执行的再次同步流程的流程图。在步骤103之后,还包括该再 次同步流程的步骤106。
该步骤106具体为,基于与从设备端预先约定的信道,以同步脉冲的脉冲周期为发送周 期,发送第三同步信息;其中,每次发送的第三同步信息携带同步脉冲的当前计数值。
该第三同步信息还可以携带同步脉冲的脉冲周期;以使得从设备端在重新同步时使用该 该第三同步信息中携带的脉冲周期作为本地同步脉冲的脉冲周期。这种方式中,当主设备端 的同步脉冲的周期改变时,从设备端可以及时且准确地获取到更新后的脉冲周期。
该与从设备端预先约定的信道,可以由主设备端预先发送至从设备端,如携带在上述提 到的第一同步信息或第二同步信息中被发送至从设备端;包括用于验证的接入码,也可以携 带在上述提到的第一同步信息或第二同步信息中被发送至从设备端。
该与从设备端预先约定的信道也可以是广播信道,即主设备端以广播方式发送该第三同 步信息。该广播信道可以是主从设备端之间通信所使用的传输协议支持的广播信道。
该第三同步信息被封装成传输协议支持的数据格式进行发送;在BLE技术中,该第三同 步信息的数据格式可以与BLE数据包的数据格式类似,如图11所示,该数据格式中至少包 括前导码、接入码、Sync evt NB、Sync period以及CRC;其中,Sync evt NB字段用于携带 同步脉冲的计数值K1;进一步的,当该第三同步信息携带脉冲周期T1时,该数据格式中还 包括用于携带脉冲周期T1的Sync period字段。
其中,图10中只是一种示例,如果第一同步信息发送成功了,那么步骤106可以在步骤 103之后执行,如果第一同步信息发送失败了,那么步骤106可以在步骤104或步骤105之 后执行。
对应的,如图12所示从设备端执行的方法,从设备端启动再次同步流程;从设备端也可 以定时启动该再次同步流程。该再次同步流程包括如下步骤。
步骤208,根据上次设定的本地同步脉冲的启动时间、脉冲周期、从设备端的当前时间 以及预获取的从设备端与主设备端的频率偏差,设定再次同步的时间窗口。
具体的,从设备端可以将时间窗口的长度L确定为:L=(t-t1-local)*PPM/1000000; 将时间窗口的时间中心点ta确定为:ta=t1-local+n3*T1;其中,PPM是指频率偏差,t是指 从设备端的当前时间,该n3是使得该ta晚于从设备端的当前时间t0的整数值。如图13所示, 当前时间t0位于第N-1个同步脉冲的起始时间和第N个同步脉冲的起始时间之间,时间中心 点ta被确定为第N个同步脉冲的起始时间。示例的,如果上次设定的本地同步脉冲的启动时 间t1-local是第N-15个同步脉冲的起始时间,那么,ta=t1-local+n3*T1中的n3取值为15;从 而使得计算出来的时间中心点ta晚于当前时间t0;该示例中,n3取值为15,是使得该时间 中心点ta晚于从设备端的当前时间t0的最小的整数值;可选的,n3也可以取大于或等于16 的整数。图13中示意出的在接收提前时间点和接收等待最晚时间点之间的时间长度,就是时 间窗口的长度L。
步骤209,在与主设备端预先约定的信道上,且在时间窗口内等待接收主设备端发送的 第三同步信息;其中,第三同步信息的发送周期与主设备端的同步脉冲的脉冲周期相同,第 三同步信息中携带有同步脉冲的当前计数值。
步骤210,若在时间窗口中接收到第三同步信息,获取接收第三同步信息的时间。
具体的,该第三同步信息是以当前无线连接中所支持的数据包形式被发送给从设备端的。 如BLE技术中,BLE支持的数据包格式中包括前导码和接入码,从设备端对数据包中的前导 码和接入码验证通过时,表示允许接收该数据包,继而获取该数据包中的协议数据单元PDU, 其中该PDU中携带该脉冲计数值;该前导码和接入码即可理解为该数据包的验证标识。
从设备端对该第三同步信息进行验证,若验证通过,允许接收该第三同步信息,并记录 第三同步信息被验证通过的时间。从设备端根据第三同步信息被验证通过的时间和从设备端 内预置的验证时长,获取接收到该第三同步信息的时间。其中,从设备端对该第三同步信息 进行验证即使对该数据包的验证标识进行匹配,如果匹配成功,表示验证通过。
考虑到对身份标识的验证完成实际会消耗时间,即成功接收到该第三同步信息的时间和 刚接收该第三同步信息的时间之间是有时间差的,该时间差就是对身份标识验证消耗的时间, 与端口物理层的配置有关,即从设备端内可以预置一个估算的时间差作为身份标识验证时长; 从而,可以用记录的第三同步信息被验证通过的时间减去该预置的身份标识验证时长,得到 实际的接收到该第三同步信息的时间。这种方式确定出的接收到该第三同步信息的时间更加 准确,从而使得主从设备端的同步性更好。
步骤211,将本地同步脉冲的启动时间更新为接收到第三同步信息的时间,将本地同步 脉冲启动时的计数值更新为第三同步信息中携带的同步脉冲的当前计数值,并在第三同步信 息中携带有同步脉冲的脉冲周期的情况下,将本地同步脉冲的脉冲周期更新为第三同步信息 中携带的同步脉冲的脉冲周期。
由于主设备端发送的第三同步信息中携带的计数值M1都是最近一次的同步脉冲的计数 值且可以将传输时间忽略不计,对于从设备端而言,可以认为接收该第三同步信息的时间就 是主设备端的第M1个同步脉冲的起始时间,所以,从设备端就将本地同步脉冲的启动时间 t1-local设定为接收第三同步信息的时间,并将第三同步信息中携带的M1设定为本地同步脉 冲启动时的计数值K1-local。
主设备端发送的该第三同步信息中还包含同步脉冲的脉冲周期T1,从而,从设备端可以 将本地同步脉冲的脉冲周期直接设定为T1。若第三同步信息中没有携带同步脉冲的脉冲周期 T1,从设备端也可以多次接收该第三同步信息,以识别出该第三同步信息广播周期,从而将 本地同步脉冲的脉冲周期直接设定为该广播周期。
步骤212,基于本地同步脉冲的启动时间、本地同步脉冲的脉冲周期及本地同步脉冲启 动时的计数值,重新启动本地同步脉冲。
由此,从设备端可以根据该主设备端广播的该第三同步信息重新设定用于启动本地同步 脉冲的相关参数,并基于重新设定的相关参数启动本地同步脉冲,以克服由于PPM累计误差 导致长时间后同步精度降低的问题。
在本申请的一个实施例的同步关系建立方法中,主设备端发送的第三同步信号,可以被 独立地用来实现主从设备端建立同步关系。
由主设备端执行,如图14所示,该方法包含如下步骤。
步骤301:根据预设的脉冲周期启动同步脉冲。
步骤302:基于与从设备端预先约定的信道,以脉冲周期为发送周期,发送第三同步信 息,使得从设备端根据第三同步信息启动与主设备端同步的本地同步脉冲;其中,每次发送 的第三同步信息携带同步脉冲的当前计数值。
其中,该步骤301与步骤101的具体实现类似,此处不再赘述。
在步骤302中,该第三同步信息还可以携带同步脉冲的脉冲周期。
该与从设备端预先约定的信道,可以由设计人员预先配置在主设备端和从设备端内部; 或者,可以由主从设备端基于预先设定的算法计算得到,或者,可以预先通过有线或无线的 方式进行信息交互来约定,或者,如果主从设备端均具有近场通信NFC功能的情况下,通过 NFC交换信息获取。对于该信道的预先约定方式,此处不作限制。另外,接收第三同步信息 时所需的用于身份验证的接入码也可以通过主从设备端预先约定的方式获取,与预先约定信 道的方式类似,不再赘述。
该与从设备端预先约定的信道也可以是广播信道,即主设备端以广播方式发送该第三同 步信息。该广播信道可以是主从设备端之间通信所使用的传输协议支持的广播信道。
对应于图14所示的主设端执行的同步关系建立方法,从设备端执行的同步关系建立方法 如图15所示,包含如下步骤。
步骤401:在与主设备端预先约定的信道上接收主设备端周期性发送的第三同步信息, 并获取接收到第三同步信息的时间;其中,第三同步信息的发送周期与主设备端的同步脉冲 的脉冲周期相同,第三同步信息中携带有同步脉冲的当前计数值。
具体的,从设备端会设定一个时间窗口,并在该时间窗口内等待接收该第三同步信息。 该时间窗口的长度需要覆盖该同步脉冲的脉冲周期的最大可能长度,具体可以根据需要设定。 比如,设计人员可以估计具体应用场景中同步脉冲的脉冲周期的可能取值范围,那么,可以 将该时间窗口的长度预置为大于该脉冲周期的可能取值范围的上限值,从而确保能够接收到 第三同步信息。
从设备端接收该第三同步信息,可以理解为,对该第三同步信息进行验证,若验证成功 则允许接收该第三同步信息,一般的,从设备端会记录验证成功的时间并将该验证成功的时 间作为接收到该第三同步信息的时间;但实际上,对该第三同步信息进行验证也需要时间, 步骤401中获取接收到第三同步信息的时间,即成功接收到该第三同步信息的时间和刚接收 该第三同步信息的时间之间是有时间差的,该时间差就是验证消耗的时间,与端口物理层的 配置有关,即从设备端内可以预置一个估算的时间差作为验证时长;从而,可以用记录的第 三同步信息被验证通过的时间减去该预置的验证时长,得到实际的接收到该第三同步信息的 时间。对该第三同步信息进行验证的具体实现,与步骤210中提及的对第三同步信息的验证 类似,此处不再赘述。这种方式确定出的接收到该第三同步信息的时间更加准确,从而使得 主从设备端的同步性更好。
步骤402:将从设备端的本地同步脉冲的启动时间t1-local设定为接收到第三同步信息的 时间、将本地同步脉冲启动时的计数值设定为第三同步信息中携带的当前计数值,并将本地 同步脉冲的脉冲周期设定为第三同步信息携带的同步脉冲的脉冲周期或检测到的第三同步信 息的发送周期。
一个例子中,在第三同步信息携带有主设备端的同步脉冲的脉冲周期的情况下,从设备 端可以将本地同步脉冲的脉冲周期设定为第三同步信息中携带的同步脉冲的脉冲周期,从而 直接且准确地设定出本地同步脉冲的脉冲周期。在第三同步信息中未携带同步脉冲的脉冲周 期的情况下,从设备端可以检测第三同步信息的发送周期,并将本地同步脉冲的脉冲周期设 定为检测到的该第三同步信息的发送周期;具体的,从设备端可以将时间窗口的长度设定地 较大,以持续地等待接收多个第三同步脉冲,从而根据接收各第三同步脉冲的时间点来确定 该脉冲周期,比如直接将一组相邻第三同步脉冲的接收时间差作为脉冲周期,或将多组相邻 第三同步脉冲的接收时间差的均值作为脉冲周期。
步骤403:基于本地同步脉冲的启动时间、本地同步脉冲的脉冲周期及本地同步脉冲启 动时的计数值,启动本地同步脉冲。
在一个例子中,如图在步骤403之后,从设备端还执行以下两个步骤:基于本地同步脉 冲进行数据采集得到数据包,并对数据包进行编号,其中,本地同步脉冲的每个脉冲周期中 采集的数据形成一个数据包,且数据包的编号为数据包中的数据在采集过程中本地同步脉冲 的计数值;然后,将编号后的数据包依次发送至主设备端。该两个步骤与图6b中的步骤204-1 和步骤204-2的实现方式相同,此处不再赘述。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些 步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对 算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的 核心设计都在该专利的保护范围内。
本发明实施例还提供一种芯片,如图16所示,包括:处理模块701和存储模块702;所 述存储模块702存储有可被所述处理模块701执行的指令,所述指令被所述处理模块701执 行,以使所述处理模块701能够执行上述方法实施例。该芯片可以为主设备端或从设备端。
本申请实施例还提供一种电子设备,如图17所示,包括:至少一个处理器801;以及与 所述至少一个处理器801通信连接的存储器802;其中,所述存储器存储有可被所述至少一 个处理器801执行的指令,所述指令被所述至少一个处理器801执行,以使所述至少一个处 理器801能够执行上述方法实施例。该电子设备可以为主设备端或从设备端。
其中,存储器802和处理器801采用总线方式连接,总线可以包括任意数量的互联的总 线和桥,总线将一个或多个处理器801和存储器802的各种电路连接在一起。总线还可以将 诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域 所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。 收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介 质上与各种其他装置通信的单元。经处理器801处理的数据通过天线在无线介质上进行传输, 进一步,天线还接收数据并将数据传送给处理器801。
处理器801负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口, 电压调节、电源管理以及其他控制功能。而存储器802可以被用于存储处理器801在执行操 作时所使用的数据。
本申请实施例还提供一种计算机可读存储介质,存储有计算机程序。计算机程序被处理 器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程 序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设 备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部 或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM, Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各 种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (34)
1.一种同步关系建立方法,其特征在于,应用于主设备端,所述方法包括:
根据预设的脉冲周期启动同步脉冲;
获取第K1个同步脉冲的起始时间和从设备端的第K2个连接事件的起始时间,并根据所述第K1个同步脉冲的起始时间与所述第K2个连接事件的起始时间计算偏移时间;其中,所述主设备端与所述从设备端已建立连接;
向所述从设备端发送第一同步信息,使得所述从设备端根据所述第一同步信息启动与所述主设备端同步的本地同步脉冲;其中,所述第一同步信息携带所述同步脉冲的计数值K1、所述连接事件的计数值K2、所述偏移时间以及所述脉冲周期。
2.根据权利要求1所述的同步关系建立方法,其特征在于,所述第K1个同步脉冲的起始时间晚于所述第K2个连接事件的起始时间。
3.根据权利要求2所述的同步关系建立方法,其特征在于,所述获取第K1个同步脉冲的起始时间和从设备端的第K2个连接事件的起始时间,并根据所述第K1个同步脉冲的起始时间与所述第K2个连接事件的起始时间计算偏移时间,包括:
选取即将到来的同步脉冲的计数值作为所述K1的初始值并获取第K1个同步脉冲的起始时间t1,选取即将到来的连接事件计数值作为所述K2的值并获取第K2个连接事件的起始时间t2;
若所述第K1个同步脉冲的起始时间t1早于所述第K2个连接事件的起始时间t2,将所述t1更新为t1=t1+n1*T1,并将所述K1更新为K1=K1+n1;其中,所述T1为所述脉冲周期,所述n1为使得更新后的t1晚于t2的正整数;
将所述偏移时间offset设定为更新后t1与t2的时间差。
4.根据权利要求3所述的同步关系建立方法,其特征在于,所述n1为使得更新后的t1晚于t2的最小的正整数。
5.根据权利要求3所述的同步关系建立方法,其特征在于,所述向所述从设备端发送所述第一同步信息,包括:
在所述即将到来的连接事件中向所述从设备端发送所述第一同步信息。
6.根据权利要求3至5中任一项所述的同步关系建立方法,其特征在于,所述向所述从设备端发送所述第一同步信息之后,若所述第一同步信息发送失败,所述方法还包括:
以第一种方式实现的重新发送步骤,包括:向所述从设备端重新发送所述第一同步信息;
或者,
以第二种方式实现的重新发送步骤,包括:
重新执行所述获取第K1个同步脉冲的起始时间和从设备端的第K2个连接事件的起始时间,并根据所述第K1个同步脉冲的起始时间与所述第K2个连接事件的起始时间计算偏移时间的步骤,并得到更新后的所述同步脉冲的计数值K1和更新后的所述偏移时间offset;
在即将到来的连接事件中向所述从设备端发送第二同步信息;其中,所述第二同步信息携带所述脉冲周期T1、更新后的所述同步脉冲的计数值K1以及更新后的所述偏移时间offset。
7.根据权利要求6所述的同步关系建立方法,其特征在于,所述以第二种方式实现的重新发送步骤之后,所述方法还包括:若所述第二同步信息发送失败,再次执行所述以第二种方式实现的重新发送步骤。
8.根据权利要求1所述的同步关系建立方法,其特征在于,所述向所述从设备端发送所述第一同步信息之后,还包括:
检测到所述从设备端成功接收所述第一同步信息后,与所述从设备端断开连接。
9.根据权利要求8所述的同步关系建立方法,其特征在于,所述与所述从设备端断开连接之后,还包括:启动再次同步流程;
所述再次同步流程包括:基于与所述从设备端预先约定的信道,以所述同步脉冲的脉冲周期为发送周期,发送第三同步信息;其中,每次发送的所述第三同步信息携带所述同步脉冲的当前计数值。
10.根据权利要求9所述的同步关系建立方法,其特征在于,所述第三同步信息还携带所述同步脉冲的脉冲周期。
11.根据权利要求9或10所述的同步关系建立方法,其特征在于,所述主设备端与所述从设备端断开连接之后,定时启动所述再次同步流程,且每次启动后,所述再次同步流程持续预设时长。
12.根据权利要求9所述的同步关系建立方法,其特征在于,所述与所述从设备端预先约定的信道为广播信道。
13.根据权利要求1所述的同步关系建立方法,其特征在于,所述根据预设的脉冲周期启动脉冲,具体为:基于所述主设备端的本地时钟,并根据预设的脉冲周期启动脉冲;
所述第K1个脉冲的起始时间和所述第K2个连接事件的起始时间均是以所述本地时钟为时间参考系的时间。
14.一种同步关系建立方法,其特征在于,应用于主设备端,所述方法包括:
根据预设的脉冲周期启动同步脉冲;
基于与所述从设备端预先约定的信道,以所述脉冲周期为发送周期,发送第三同步信息,使得所述从设备端根据所述第三同步信息启动与所述主设备端同步的本地同步脉冲;其中,每次发送的所述第三同步信息携带所述同步脉冲的当前计数值。
15.根据权利要求14所述的同步关系建立方法,其特征在于,所述第三同步信息还携带所述同步脉冲的脉冲周期。
16.根据权利要求14所述的同步关系建立方法,其特征在于,所述与所述从设备端预先约定的信道为广播信道。
17.一种同步关系建立方法,其特征在于,应用于从设备端,所述方法包括:
若在第K2-local个连接事件中接收到所述主设备端发送的第一同步信息,获取第K2-local个连接事件的起始时间t2-local;其中,所述第一同步信息携带所述主设备端的同步脉冲的计数值K1、所述连接事件的计数值K2、所述同步脉冲的脉冲周期以及根据所述第K1个同步脉冲的起始时间与所述第K2个连接事件的起始时间计算得到的偏移时间offset;
将所述从设备端的本地同步脉冲的脉冲周期设定为所述第一同步信息中携带的所述同步脉冲的脉冲周期;
至少根据所述t2-local,所述K2-local、所述K2、所述K1、所述offset以及所述从设备端的连接事件周期,设定所述从设备端的本地同步脉冲的启动时间和所述本地同步脉冲启动时的计数值;其中,所述从设备端的本地同步脉冲的启动时间晚于所述从设备端的当前时间;
基于所述本地同步脉冲的启动时间、所述本地同步脉冲的脉冲周期及所述本地同步脉冲启动时的计数值,启动所述本地同步脉冲。
18.根据权利要求17所述的同步关系建立方法,其特征在于,所述至少根据所述t2-local,所述K2-local、所述K2、所述K1、所述offset以及所述从设备端的连接事件周期,设定所述从设备端的本地同步脉冲的启动时间和所述本地同步脉冲启动时的计数值,包括:
将所述本地同步脉冲的启动时间t1-local设定为t1-local=t2-local-(K2-local-K2)*T0+offset,并将所述本地同步脉冲启动时的计数值K1-local设定为K1-local=K1;其中,所述T0为所述从设备端的连接事件周期;
若所述t1-local早于所述从设备端的当前时间,将所述t1-local更新为t1-local=t1-local+n2*T1,将所述K1-local更新为K1-local=K1-local+n2;其中,所述T1为所述同步脉冲的脉冲周期,所述n2为使得更新后的所述t1-local晚于所述从设备端的当前时间的正整数。
19.根据权利要求18所述的同步关系建立方法,其特征在于,所述n2为使得更新后的所述t1-local晚于所述从设备端的当前时间的最小的正整数。
20.根据权利要求18所述的同步关系建立方法,其特征在于,所述将所述从设备端的同步脉冲的启动时间t1-local设定为t1-local=t2-local-(K2-local-K2)*T0+offset,并将所述同步脉冲启动时的计数值K1-local设定为K1-local=K1之后,还包括:
若所述t1-local晚于所述从设备端的当前时间且所述K2-K2-local≥2,将所述t1-local更新为t1-local=t1-local-n3*T1,将所述K1-local更新为K1-local=K1-n3;其中,所述n3为使得所述t1-local晚于第(K2-local+1)个连接事件的起始时间(t2-local+T0)的最大正整数。
21.根据权利要求17至20中任一项所述的同步关系建立方法,其特征在于,所述基于所述本地同步脉冲的启动时间、所述本地同步脉冲的脉冲周期及所述本地同步脉冲启动时的计数值,启动所述本地同步脉冲之前,还包括:
若在第K2-local个连接事件中接收到所述主设备端发送的第二同步信息,并获取第K2-local个连接事件的起始时间t2-local;其中,所述第二同步信息携带所述主设备端的同步脉冲的计数值K1、所述偏移时间offset以及所述同步脉冲的脉冲周期;所述偏移时间offset为所述主设备端记录的所述第K1个同步脉冲的起始时间t1与所述第K2个连接事件的起始时间t2的差值,且所述t1晚于所述t2;
将所述从设备端的本地同步脉冲的脉冲周期设定为所述第二同步信息中携带的所述脉冲周期;
将所述本地同步脉冲的启动时间t1-local设定为t1-local=t2-local+offset,并将所述本地同步脉冲启动时的计数值K1-local设定为K1-local=K1。
22.根据权利要求21所述的同步关系建立方法,其特征在于,所述方法还包括:接收到所述第一同步信息或所述第二同步信息后,与所述主设备端断开连接。
23.根据权利要求22所述的同步关系建立方法,其特征在于,所述与所述主设备端断开连接之后,还包括:启动再次同步流程;
所述再次同步流程包括:
根据上次设定的所述本地同步脉冲的启动时间、所述脉冲周期、所述从设备端的当前时间以及预获取的所述从设备端与所述主设备端的频率偏差,设定再次同步的时间窗口;
在与所述主设备端预先约定的信道上,且在所述时间窗口内等待接收所述主设备端发送的第三同步信息;其中,所述第三同步信息的发送周期与所述主设备端的同步脉冲的脉冲周期相同,所述第三同步信息中携带有所述同步脉冲的当前计数值;
若在所述时间窗口中接收到所述第三同步信息,获取接收到所述第三同步信息的时间;
将所述本地同步脉冲的启动时间更新为接收到所述接收第三同步信息的时间,将所述本地同步脉冲启动时的计数值更新为所述第三同步信息中携带的所述同步脉冲的当前计数值,并在所述第三同步信息中携带有所述同步脉冲的脉冲周期的情况下,将所述本地同步脉冲的脉冲周期更新为所述第三同步信息中携带的所述同步脉冲的脉冲周期;
基于所述本地同步脉冲的启动时间、所述本地同步脉冲的脉冲周期及所述本地同步脉冲启动时的计数值,重新启动所述本地同步脉冲。
24.根据权利要求23所述的同步关系建立方法,其特征在于,所述从设备端在与所述主设备端断开连接之后,定时启动所述再次同步流程。
25.根据权利要求23所述的同步关系建立方法,其特征在于,所述与所述主设备端预先约定的信道为广播信道。
26.根据权利要求23至25中任一项所述的同步关系建立方法,其特征在于,所述若在所述时间窗口中接收到所述第三同步信息,获取接收到所述第三同步信息的时间,包括:
对所述第三同步信息进行验证,若验证通过,允许接收所述第三同步信息,并记录所述第三同步信息被验证通过的时间;
根据所述第三同步信息被验证通过的时间和所述从设备端内预置的验证时长,获取接收到所述第三同步信息的时间。
27.根据权利要求23至25中任一项所述的同步关系建立方法,其特征在于,所述根据上次设定的所述本地同步脉冲的启动时间、所述脉冲周期、所述从设备端的当前时间以及预获取的所述从设备端与所述主设备端的频率偏差,设定再次同步的时间窗口,包括:
将所述时间窗口的长度L确定为:L=(t0-t1-local)*PPM/1000000;
将所述时间窗口的时间中心点ta确定为:ta=t1-local+n3*T1;
其中,所述PPM是指所述频率偏差,所述t1-local是指所述本地同步脉冲的启动时间,所述n3是使得所述ta晚于所述从设备端的当前时间t0的整数值。
28.根据权利要求17至20中任一项所述的同步关系建立方法,其特征在于,所述基于所述本地同步脉冲的启动时间、所述本地同步脉冲的脉冲周期及所述本地同步脉冲启动时的计数值,启动所述本地同步脉冲之后,还包括:
基于所述本地同步脉冲进行数据采集得到数据包,并对所述数据包进行编号;其中,所述本地同步脉冲的每个脉冲周期中采集的数据形成一个所述数据包,且所述数据包的编号为所述数据包中的数据在采集过程中所述本地同步脉冲的计数值;
将编号后的所述数据包依次发送至所述主设备端。
29.一种同步关系建立方法,其特征在于,应用于从设备端,所述方法包括:
在与所述主设备端预先约定的信道上接收主设备端周期性发送的第三同步信息,并获取接收到所述第三同步信息的时间;其中,所述第三同步信息的发送周期与所述主设备端的同步脉冲的脉冲周期相同,所述第三同步信息中携带有所述同步脉冲的当前计数值;
将所述从设备端的本地同步脉冲的启动时间设定为接收到所述第三同步信息的时间、将所述本地同步脉冲启动时的计数值设定为所述第三同步信息中携带的所述当前计数值,并将所述本地同步脉冲的脉冲周期设定为所述第三同步信息携带的所述同步脉冲的脉冲周期或检测到的所述第三同步信息的发送周期;
基于所述本地同步脉冲的启动时间、所述本地同步脉冲的脉冲周期及所述本地同步脉冲启动时的计数值,启动所述本地同步脉冲。
30.根据权利要求29所述的同步关系建立方法,其特征在于,在所述第三同步信息中携带有所述同步脉冲的脉冲周期的情况下,所述本地同步脉冲的脉冲周期被设定为所述第三同步信息携带的所述同步脉冲的脉冲周期。
31.根据权利要求29或30中任一项所述的同步关系建立方法,其特征在于,所述基于所述本地同步脉冲的启动时间、所述本地同步脉冲的脉冲周期及所述本地同步脉冲启动时的计数值,启动所述本地同步脉冲之后,还包括:
基于所述本地同步脉冲进行数据采集得到数据包,并对所述数据包进行编号;其中,所述本地同步脉冲的每个脉冲周期中采集的数据形成一个所述数据包,且所述数据包的编号为所述数据包中的数据在采集过程中所述本地同步脉冲的计数值;
将编号后的所述数据包依次发送至所述主设备端。
32.一种芯片,其特征在于,包括:处理模块和存储模块;所述存储模块存储有可被所述处理模块执行的指令,所述指令被所述处理模块执行,以使所述处理模块能够执行:
如权利要求1至13中任一项所述的同步关系建立方法或如权利要求14至16中任一项所述的同步关系建立方法,其中,所述芯片为所述主设备端;或者,如权利要求17至28中任一项所述的同步关系建立方法或如权利要求29至31中任一项所述的同步关系建立方法,其中,所述芯片为所述从设备端。
33.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行:
如权利要求1至13中任一项所述的同步关系建立方法或如权利要求14至16中任一项所述的同步关系建立方法,其中,所述电子设备为所述主设备端;或者,如权利要求17至28中任一项所述的同步关系建立方法或如权利要求29至31中任一项所述的同步关系建立方法,其中,所述电子设备为所述从设备端。
34.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1至13中任一项所述的同步关系建立方法或如权利要求14至16中任一项所述的同步关系建立方法、或者实现如权利要求17至28中任一项所述的同步关系建立方法或如权利要求29至31中任一项所述的同步关系建立方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111509137.6A CN114364010B (zh) | 2021-12-10 | 2021-12-10 | 同步关系建立方法、芯片、电子设备及存储介质 |
US18/063,630 US12021958B2 (en) | 2021-12-10 | 2022-12-08 | Method for establishing synchronization relationship, chip, electronic device, and non-transitory computer-readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111509137.6A CN114364010B (zh) | 2021-12-10 | 2021-12-10 | 同步关系建立方法、芯片、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114364010A true CN114364010A (zh) | 2022-04-15 |
CN114364010B CN114364010B (zh) | 2023-10-27 |
Family
ID=81098706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111509137.6A Active CN114364010B (zh) | 2021-12-10 | 2021-12-10 | 同步关系建立方法、芯片、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114364010B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9510289B1 (en) * | 2015-11-05 | 2016-11-29 | Silicon Laboratories, Inc. | In system calibration of wake up timer |
CN109286459A (zh) * | 2017-07-21 | 2019-01-29 | 北京智云芯科技有限公司 | 一种时间同步方法和系统 |
RU2723269C1 (ru) * | 2019-08-20 | 2020-06-09 | Акционерное общество "Концерн "Созвездие" | Способ синхронизации приёмного и передающего устройств радиолинии при использовании короткоимпульсных сверхширокополосных сигналов |
CN111819891A (zh) * | 2020-04-01 | 2020-10-23 | 深圳市汇顶科技股份有限公司 | 时间同步及广播设定方法、芯片、电子设备及存储介质 |
CN112714402A (zh) * | 2020-12-28 | 2021-04-27 | 大唐半导体科技有限公司 | 一种自适应更新蓝牙从设备接收窗的方法 |
CN113572556A (zh) * | 2021-06-18 | 2021-10-29 | 深圳市道通智能汽车有限公司 | 一种时间同步方法、传感器及系统 |
-
2021
- 2021-12-10 CN CN202111509137.6A patent/CN114364010B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9510289B1 (en) * | 2015-11-05 | 2016-11-29 | Silicon Laboratories, Inc. | In system calibration of wake up timer |
CN109286459A (zh) * | 2017-07-21 | 2019-01-29 | 北京智云芯科技有限公司 | 一种时间同步方法和系统 |
RU2723269C1 (ru) * | 2019-08-20 | 2020-06-09 | Акционерное общество "Концерн "Созвездие" | Способ синхронизации приёмного и передающего устройств радиолинии при использовании короткоимпульсных сверхширокополосных сигналов |
CN111819891A (zh) * | 2020-04-01 | 2020-10-23 | 深圳市汇顶科技股份有限公司 | 时间同步及广播设定方法、芯片、电子设备及存储介质 |
CN112714402A (zh) * | 2020-12-28 | 2021-04-27 | 大唐半导体科技有限公司 | 一种自适应更新蓝牙从设备接收窗的方法 |
CN113572556A (zh) * | 2021-06-18 | 2021-10-29 | 深圳市道通智能汽车有限公司 | 一种时间同步方法、传感器及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114364010B (zh) | 2023-10-27 |
US20230188312A1 (en) | 2023-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106488550B (zh) | 确定终端与基站时钟时间偏差的方法与装置 | |
CN103988453B (zh) | 用于使在车载网络的节点中的时钟同步的方法和设置用于实施该方法的节点 | |
EP3016306B1 (en) | Method and apparatus for providing in-vehicle network time synchronization using redundant grandmaster | |
CN102783078B (zh) | 通过用于通信系统的通信层和子层之间的交互来进行精确时钟同步的方法和系统 | |
CN112771941B (zh) | 数据同步方法、装置、设备、系统及存储介质 | |
US20100034191A1 (en) | Method and system for time synchronization in a sensor network | |
EP4236122A1 (en) | Time synchronization method, control apparatus, device, and storage medium | |
JP2017513285A (ja) | 時間同期チャネルホッピングネットワークにおけるクロックドリフト補償 | |
US20140328355A1 (en) | Communication system, and communication device | |
CN113194528B (zh) | 同步控制方法、芯片、电子设备及存储介质 | |
US6714611B1 (en) | Wireless network with user clock synchronization | |
CN107548147B (zh) | 一种无线自组织网络无外时钟网同步算法 | |
US9716561B2 (en) | Communication system, and communication device | |
KR101880925B1 (ko) | 전술데이터링크에서의 기기 간 망동기 방법 | |
JP2011091624A (ja) | メッシュネットワークシステム及びその時刻同期方法 | |
JP2001358766A (ja) | パケット通信システム、パケット通信方法、およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
CN114364010B (zh) | 同步关系建立方法、芯片、电子设备及存储介质 | |
US12021958B2 (en) | Method for establishing synchronization relationship, chip, electronic device, and non-transitory computer-readable storage medium | |
CN102882587A (zh) | 数据通信系统、前导长度最佳化方法以及通信装置 | |
US11343007B2 (en) | Time synchronization method and device | |
JP6402456B2 (ja) | 無線通信ネットワークシステム、無線端末、時刻補正方法、プログラム | |
JP3401185B2 (ja) | 無線通信装置及び無線通信方法 | |
CN107942879B (zh) | 分布式光伏监控系统 | |
CN111954242A (zh) | 一种基于5g信号的ofdm室内定位系统及其方法 | |
US10374735B2 (en) | Communication system, communication system control method, transmission device, and reception device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |