一种异步通信方法、装置及相关设备转让专利

申请号 : CN202111387848.0

文献号 : CN113824545B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 曾熙斌马东捷

申请人 : 深圳市思远半导体有限公司

摘要 :

本发明适用于电子设备技术应用领域,提供了异步通信方法,包括以下步骤:接收发送端发送的同步信号;基于预设的通信协议解析所述同步信号中包含的发送端时钟信息,计算出发送端与接收端的时钟偏差信息;接收发送端发送的数据信号;基于所述时钟偏差信息解析所述数据信号。本发明实施例的技术方案中,接收端能从收到的信号中自动计算双方的时钟偏差量并自动修正,即使在双方时钟偏差很大的情况下,比如超过50%、甚至100%,依然能正确解析数据实现通信,并且不会降低有效波特率。

权利要求 :

1.一种异步通信方法,其特征在于,包括以下步骤:接收发送端发送的同步信号;

基于预设的通信协议解析所述同步信号中包含的发送端时钟信息,计算出发送端与接收端的时钟偏差信息;

接收发送端发送的数据信号;

基于所述时钟偏差信息解析所述数据信号;

所述解析所述同步信号中包含的发送端时钟信息,计算出发送端与接收端的时钟偏差信息包括以下步骤:

使用本地时钟对接收到的同步信号的预设长度进行计数得到该预设长度电平数值;

根据预设的通信协议及所述电平数值,计算所述发送端的同步信号中所述预设长度的周期数;

基于所述周期数计算得到接收端相对于所述发送端的时钟偏差信息。

2.如权利要求1所述的异步通信方法,其特征在于,所述预设长度为所述同步信号的完整长度、或高电平的长度、或低电平的长度、或高低电平的组合变化长度。

3.如权利要求2所述的异步通信方法,其特征在于,所述预设长度为2的整数次幂。

4.如权利要求1所述的异步通信方法,其特征在于,所述接收发送端发送的同步信号的步骤前,还包括步骤:

接收发送端发送的唤醒信号,唤醒接收端。

5.如权利要求1所述的异步通信方法,其特征在于,所述接收发送端发送的同步信号还包括以下步骤:

基于预设的通信协议判断所述同步信号的有效性。

6.如权利要求1所述的异步通信方法,其特征在于,所述方法还包括步骤:接收结束信号,基于所述时钟偏差信息解析所述结束信号;

若解析所述结束信号成功,则输出成功标识。

7.一种异步通信装置,其特征在于,包括:信号接收模块、信号校准模块、以及信号解析模块;

其中,所述信号接收模块用于接收发送端发送的同步信号;

所述信号解析模块用于解析所述同步信号中包含的发送端时钟信息;

所述信号校准模块用于计算所述发送端与接收端的时钟偏差信息;

所述信号接收模块还用于接收发送端发送的数据信号;

所述信号解析模块还用于基于所述时钟偏差信息解析所述数据信号;

所述解析所述同步信号中包含的发送端时钟信息,计算出发送端与接收端的时钟偏差信息包括以下步骤:

使用本地时钟对接收到的同步信号的预设长度进行计数得到该预设长度电平数值;

根据预设的通信协议及所述电平数值,计算所述发送端的同步信号中所述预设长度的周期数;

基于所述周期数计算得到接收端相对于所述发送端的时钟偏差信息。

8.一种计算机设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至6中任一项所述的异步通信方法中的步骤。

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的异步通信方法中的步骤。

说明书 :

一种异步通信方法、装置及相关设备

技术领域

[0001] 本发明属于人工智能技术应用领域,尤其涉及一种异步通信方法、装置及相关设备。

背景技术

[0002] 蓝牙耳机充电仓通过一对电源和地管脚给蓝牙耳机充电,同时也可复用这些管脚实现通信。由于管脚数量限制,通常只能实现异步通信。在异步通信系统中,接收端使用内
部时钟解析来自发送端的信号,由于时钟不同源会产生偏差,当偏差达到一定程度就无法
解析信号,导致通信失败。
[0003] 为了解决该问题,一般的方法是收发双方约定好一个特定频率,双方在不超过该频率某个较小的正负百分比的情况下就可以实现通信。如果想提供通信可靠性就需要减小
时钟偏差,但小的频率偏差会提高系统对时钟精度的要求,相当于提高了器件成本。另一方
面频率偏差会随着信号长度变长而放大,达到一定程度后将使得接收端采样的数据发生错
位,导致通信误码或失败。

发明内容

[0004] 本发明实施例提供一种异步通信方法、装置及相关设备,旨在解决上述技术问题。
[0005] 第一方面,本发明提供一种异步通信方法,包括以下步骤:
[0006] 接收发送端发送的同步信号;
[0007] 基于预设的通信协议解析所述同步信号中包含的发送端时钟信息,计算出发送端与接收端的时钟偏差信息;
[0008] 接收发送端发送的数据信号;
[0009] 基于所述时钟偏差信息解析所述数据信号。
[0010] 优选的,所述解析所述同步信号中包含的发送端时钟信息,计算出发送端与接收端的时钟偏差信息包括以下步骤:
[0011] 使用本地时钟对接收到的同步信号的预设长度进行计数得到该预设长度电平数值;
[0012] 根据预设的通信协议及所述电平数值,计算所述发送端的同步信号中所述预设长度的周期数;
[0013] 基于所述周期数计算得到接收端相对于所述发送端的时钟偏差信息。
[0014] 优选的,所述预设长度为所述同步信号的完整长度、或高电平的长度、或低电平的长度、或高低电平的组合变化长度。
[0015] 优选的,所述预设长度为2的整数次幂。
[0016] 优选的,所述接收发送端发送的同步信号的步骤前,还包括步骤:
[0017] 接收发送端发送的唤醒信号,唤醒接收端。
[0018] 优选的,所述接收发送端发送的同步信号还包括以下步骤:
[0019] 基于预设的通信协议判断所述同步信号的有效性。
[0020] 优选的,所述方法还包括步骤:
[0021] 接收结束信号,基于所述时钟偏差信息解析所述结束信号;
[0022] 若解析所述结束信号成功,则输出成功标识。
[0023] 第二方面,本发明实施例提供一种异步通信装置,包括:信号接收模块、信号校准模块、以及信号解析模块;
[0024] 其中,所述信号接收模块用于接收发送端发送的同步信号;
[0025] 所述信号解析模块用于解析所述同步信号中包含的发送端时钟信息;
[0026] 所述信号校准模块用于计算所述发送端与接收端的时钟偏差信息;
[0027] 所述信号接收模块还用于接收发送端发送的数据信号;
[0028] 所述信号解析模块还用于基于所述时钟偏差信息解析所述数据信号。
[0029] 第三方面,本发明实施例提供一种计算机设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实
现如上述本发明实施例中任一项所述的异步通信方法中的步骤。
[0030] 第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述本发明实施例中任一
项所述的异步通信方法中的步骤。
[0031] 本发明所达到的有益效果,通过接收发送端发送的同步信号,并对同步信号进行解析,通过对同步信号进行检测和计算,得到相对于发送端时钟偏差信息,进而接收端可以
基于时钟偏差信息进行校准后实现对数据信号的接收。本发明实施例的技术方案中,接收
端能从收到的信号中自动计算双方的时钟偏差量并自动修正,即使在双方时钟偏差很大的
情况下,比如超过50%、甚至100%,依然能正确解析数据实现通信,并且不会降低有效波特
率。

附图说明

[0032] 图1是本发明实施例提供的一种异步通信方法的流程图;
[0033] 图2是本发明实施例提供的异步通信方法中发送端与接收端的物理层协议格式;
[0034] 图3是本发明实施例提供中数据信号的协议格式;
[0035] 图4是本发明实施例提供中结束信号的协议格式;
[0036] 图5是本发明实施例提供的异步通信装置结构示意图;
[0037] 图6是本发明实施例提供一个具体的通信过程示意图;
[0038] 图7是图6中发送端与接收端的时钟对比。

具体实施方式

[0039] 除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体
的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明
中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说
明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用
于描述特定顺序。
[0040] 在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同
的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和
隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0041] 将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发
明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施
例,都属于本发明保护的范围。
[0042] 请参见图1,图1是本发明实施例提供的异步通信方法的流程图,在本实施例中,该方法应用于蓝牙耳机充电仓与蓝牙耳机之间的通信,具体的,蓝牙耳机充电仓与蓝牙耳机
之间通过电源端口以及地管脚进行充电,本实施例中,利用该电源端口及该地管脚实现通
信的复用。基于蓝牙耳机充电长电源端口及地管脚的数量限制,本实施例中,蓝牙耳机充电
仓与蓝牙耳机之间的通信方式采用的是异步通信方式。当然,本实施例中所提供的方法并
不限于蓝牙耳机充电仓与蓝牙耳机之间的通信,还可以适用于其它智能终端之间的异步通
信方式。如图2所示为本发明实施例中发送端与接收端之间通信的一种物理层协议格式,物
理层信号主要由S/SYNC/BIT1/BIT0/STOP组成,各个符合的定义如下物理层时序表所示:
[0043]
[0044] 其中,S为引导码,由若干对高低变化的电平组成,用于唤醒接收端;SYNC为同步头,也是由高低变化的电平组成,用于初步判断收到的信号是否为有效信号,同时,也用作
测量和计算发送端与接收端时钟偏差的信号段,BIT1、BIT0代表数据1和数据0,通过不同的
占空比来区分(参考图3所示),STOP为停止码,用于判断数据接收的结束,为一段时长为8T
的高电平。当然,上述通信协议为事先约定的一种格式,实际应用时,并不限于该协议格式。
[0045] 基于以上,本实施例中异步通信方法包括以下步骤:
[0046] 100、接收发送端发送的唤醒信号,唤醒接收端。
[0047] 本实施例中,接收端可以是蓝牙耳机充电仓,发送端可以是蓝牙耳机;反之,接收端也可以是蓝牙耳机,而发送端是蓝牙耳机充电仓。具体的,如图2所示,接收端接收到发送
端发送的信号后,基于双方约定的协议格式,例如,该信号为时长为T的两个高电平、两个低
电平交替变化(T为信号的最小变化长度,以周期数计算),即T1‑T2信号段,此时,接收端依
据约定的协议,判断出所接收的信号格式也为时长为T的两个高电平、两个低电平交替变
化,则判断为唤醒信号(即引导码),此时,唤醒接收端。准备下一步的数据信号的接收过程。
当然,在一些实施例中,若接收端始终保持唤醒状态,则发送端可无需发送唤醒信号。
[0048] 101、接收发送端发送的同步信号。
[0049] 结合图2所示,本实施例中,同步头信号即SYNC信号由T2‑T4信号段构成,用于初步判断收到的信号是否为有效信号。具体的,接收同步信号的过程如下步骤:
[0050] 1011、同步开始,以T2上升沿为起始标识。接收过程中,每当检测到上升沿就应当认为SYNC可能到来,包括T1‑T2阶段上升沿。
[0051] 1012、同步初步通过,测量T3‑T2的时长,如果等于T则认为同步初步通过,否则回到步骤1011。
[0052] 1013、同步完成,在T4检测上升沿,测量T4‑T3的时长,如果等于16T则认为同步完成,否则回到步骤1011,其中,测量T4‑T3的长度是依据约定的协议格式,时长为16T时被认
定为有效信号,此时同步完成。
[0053] 102、基于预设的通信协议解析所述同步信号中包含的发送端时钟信息,计算出发送端与接收端的时钟偏差信息。
[0054] 具体的,包括如下步骤:
[0055] 1021、使用本地时钟对接收到的同步信号的预设长度进行计数得到该预设长度电平数值。
[0056] 1022、根据预设的通信协议及所述电平数值,计算所述发送端的同步信号中所述预设长度的周期数。
[0057] 1023、基于所述周期数计算得到接收端相对于所述发送端的时钟偏差信息。
[0058] 如图2及上述物理层时序表所示,以本实施例中预设的通信协议进行说明根据通信协议,SYNC同步信号包含16个T的低电平(即T3‑T4的信号段),本实施例以该16T的低电平
作为预设长度,发送端通常使用时钟计数的方法产生1个T,假设1T的周期数为N_tx。接收端
使用本地时钟对该同步信号低电平计数得到数值N16,N16除以16得到接收端测得的T的周
期数,进而得到时钟偏差信息,记为N_rx。如果发送和接收端使用相同的时钟,则N_rx=N_
tx。如果接收端时钟偏快,N_rx>N_tx,反之则N_rx发送端信号并计算得到,它消除了接收端相对于发送端的时钟偏差,相当于对接收端做了
一次校准,校准的精度依赖于同步头的长度,越长的同步头(即越长的预设长度)可以获得
越高的精度,但是也会占用更多的通信时长。当然,作为其它的可实施方式,所述预设长度
为所述同步信号的完整长度、或高电平的长度、或低电平的长度、或高低电平的组合变化长
度。同步信号的预设长度不局限于8、16等2的整数次幂,但是,2的整数次幂更易于工程实
现。
[0059] 得到N_rx后,后续的数据BIT1、BIT0符号以及末尾的STOP符号都能准确采样,相比于不使用时钟校正技术,性能提高了3倍以上。同时由于同步头长度选取了2的整数次幂个
T,降低了计算量,使得接收端可以使用低精度、运算能力弱的MCU实现解码,大幅度降低了
系统成本。
[0060] 103、接收发送端发送的数据信号。
[0061] 本实施例中,当同步信号检测完成后,进行数据信号的接收过程,如图3所示,根据预设的通信协议,数据信号为总时长为4T的信号段,其中,BIT1的高电平为3T,BIT0的低电
平为3T,当信号在一个4T时长内满足3T的高电平或3T的低电平时,被识别为数据信号。
[0062] 104、基于所述时钟偏差信息解析所述数据信号。
[0063] 本实施例中,具体的,基于同步信号计算出来的时钟偏差信息对数据信号进行解析,解析成功后输出成功标识后跳转到步骤101“接收同步信号”。如果接收过程中检测到错
误则退出接收,跳转回到步骤101重新“接收同步信号”。当长时间未接收到同步信号时,接
收端可以再次进入沉睡状态,直至接收到唤醒信号时唤醒。
[0064] 105,接收结束信号。
[0065] 具体的,参考图4所示,有效数据信号最长的高电平不会超过3T,与STOP信号时长8T能有效区别。STOP之后的电平如果是高则高电平时长超过8T,因此只要判断大于等于8T
就认为STOP有效。使用前面保存的时钟偏差信息解析结束信号,解析成功后输出成功标识
后跳转到步骤1“接收同步信号”。如果接收过程中检测到错误则退出接收,跳转回到步骤1
“接收同步信号”。
[0066] 如图6所示为基于本实施例提供的异步通信方法的一个完整通信过程的具体示例,图7所示为发送端和接收端的时钟对比,其中,发送端的时钟为120KHz,而接收端的时钟
为240KHz。在接收端时钟比发送端快100%的情况下,依然能正确的解析数据。
[0067] 本发明实施例通过接收发送端发送的同步信号,并对同步信号进行解析,通过对同步信号进行检测和计算,得到相对于发送端时钟偏差信息,进而接收端可以基于时钟偏
差信息进行校准后实现对数据信号的接收。本发明实施例的技术方案中,接收端能从收到
的信号中自动计算双方的时钟偏差量并自动修正,即使在双方时钟偏差很大的情况下,比
如超过50%、甚至100%,依然能正确解析数据实现通信,并且不会降低有效波特率。
[0068] 请参见图5,图5是本发明实施例提供的异步通信装置200的结构示意图,所述异步通信装置200包括:信号接收模块201、信号校准模块202、以及信号解析模块203。
[0069] 具体的,所述信号接收模块201用于接收发送端发送的唤醒信号。
[0070] 本实施例中,接收端可以是蓝牙耳机充电仓,发送端可以是蓝牙耳机;反之,接收端也可以是蓝牙耳机,而发送端是蓝牙耳机充电仓。具体的,如图2所示,接收端接收到发送
端发送的信号后,基于双方约定的协议格式,例如,该信号为时长为T的两个高电平、两个低
电平交替变化(T为信号的最小变化长度,以周期数计算),即T1‑T2信号段,此时,接收端依
据约定的协议,判断出所接收的信号格式也为时长为T的两个高电平、两个低电平交替变
化,则判断为唤醒信号(即引导码),此时,唤醒接收端。准备下一步的数据信号的接收过程。
当然,在一些实施例中,若接收端始终保持唤醒状态,则发送端可无需发送唤醒信号。
[0071] 进一步的,所述信号接收模块201还用于接收发送端发送的同步信号。
[0072] 结合图2所示,本实施例中,同步头信号即SYNC信号由T2‑T4信号段构成,用于初步判断收到的信号是否为有效信号。具体的,接收同步信号的过程如下步骤:
[0073] 1011、同步开始,以T2上升沿为起始标识。接收过程中,每当检测到上升沿就应当认为SYNC可能到来,包括T1‑T2阶段上升沿。
[0074] 1012、同步初步通过,测量T3‑T2的时长,如果等于T则认为同步初步通过,否则回到步骤1011。
[0075] 1013、同步完成,在T4检测上升沿,测量T4‑T3的时长,如果等于16T则认为同步完成,否则回到步骤1011,其中,测量T4‑T3的长度是依据约定的协议格式,时长为16T时被认
定为有效信号,此时同步完成。
[0076] 进一步的,所述信号解析模块203用于解析所述同步信号中包含的发送端时钟信息,计算出发送端与接收端的时钟偏差信息。
[0077] 具体的,信号解析模块203解析同步信号中发生端的时钟信息,计算出发送端与接收端的时钟偏差信息的过程包括如下步骤:
[0078] 1021、使用本地时钟对接收到的同步信号的预设长度进行计数得到该预设长度电平数值。
[0079] 1022、根据预设的通信协议及所述电平数值,计算所述发送端的同步信号中所述预设长度的周期数。
[0080] 1023、基于所述周期数计算得到接收端相对于所述发送端的时钟偏差信息。
[0081] 如图2及上述物理层时序表所示,以本实施例中预设的通信协议进行说明根据通信协议,SYNC同步信号包含16个T的低电平(即T3‑T4的信号段),本实施例以该16T的低电平
作为预设长度,发送端通常使用时钟计数的方法产生1个T,假设1T的周期数为N_tx。接收端
使用本地时钟对该同步信号低电平计数得到数值N16,N16除以16得到接收端测得的T的周
期数,进而得到时钟偏差信息,记为N_rx。如果发送和接收端使用相同的时钟,则N_rx=N_
tx。如果接收端时钟偏快,则N_rx>N_tx,反之则N_rx量发送端信号并计算得到,它消除了接收端相对于发送端的时钟偏差,相当于对接收端做
了一次校准,校准的精度依赖于同步头的长度,越长的同步头(即越长的预设长度)可以获
得越高的精度,但是也会占用更多的通信时长。当然,作为其它的可实施方式,所述预设长
度为所述同步信号的完整长度、或高电平的长度、或低电平的长度、或高低电平的组合变化
长度。同步信号的预设长度不局限于8、16等2的整数次幂,但是,2的整数次幂更易于工程实
现。
[0082] 得到N_rx后,后续的数据BIT1、BIT0符号以及末尾的STOP符号都能准确采样,相比于不使用时钟校正技术,性能提高了3倍以上。同时由于同步头长度选取了2的整数次幂个
T,降低了计算量,使得接收端可以使用低精度、运算能力弱的MCU实现解码,大幅度降低了
系统成本。
[0083] 进一步的,所述信号接收模块201还用于接收发送端发送的数据信号。
[0084] 本实施例中,当同步信号检测完成后,进行数据信号的接收过程,如图3所示,根据预设的通信协议,数据信号为总时长为4T的信号段,其中,BIT1的高电平为3T,BIT0的低电
平为3T,当信号在一个4T时长内满足3T的高电平或3T的低电平时,被识别为数据信号。
[0085] 进一步的,所述信号解析模块202还用于基于所述时钟偏差信息解析所述数据信号。
[0086] 本实施例中,具体的,基于同步信号计算出来的时钟偏差信息对数据信号进行解析,解析成功后输出成功标识后跳转到步骤101“接收同步信号”。如果接收过程中检测到错
误则退出接收,跳转回到步骤101重新“接收同步信号”。当长时间未接收到同步信号时,接
收端可以再次进入沉睡状态,直至接收到唤醒信号时唤醒。
[0087] 进一步的,所述信号接收模块201还有与接收结束信号。
[0088] 具体的,参考图4所示,有效数据信号最长的高电平不会超过3T,与STOP信号时长8T能有效区别。STOP之后的电平如果是高则高电平时长超过8T,因此只要判断大于等于8T
就认为STOP有效。使用前面保存的时钟偏差信息解析结束信号,解析成功后输出成功标识
后跳转到步骤1“接收同步信号”。如果接收过程中检测到错误则退出接收,跳转回到步骤1
“接收同步信号”。
[0089] 本发明实施例还提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现本发明实施例
提供的异步通信方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0090] 本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现本发明实施例提供的异步通信方法的各个过
程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0091] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。