CN117193473A - 忽略时钟误差的数据交互方法、系统、终端及存储介质 - Google Patents
忽略时钟误差的数据交互方法、系统、终端及存储介质 Download PDFInfo
- Publication number
- CN117193473A CN117193473A CN202311263948.1A CN202311263948A CN117193473A CN 117193473 A CN117193473 A CN 117193473A CN 202311263948 A CN202311263948 A CN 202311263948A CN 117193473 A CN117193473 A CN 117193473A
- Authority
- CN
- China
- Prior art keywords
- data
- bit
- low
- low level
- mapping relation
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000003993 interaction Effects 0.000 title claims abstract description 42
- 238000013507 mapping Methods 0.000 claims abstract description 76
- 238000006243 chemical reaction Methods 0.000 claims abstract description 12
- 238000007405 data analysis Methods 0.000 claims description 26
- 239000013078 crystal Substances 0.000 claims description 23
- 230000002452 interceptive effect Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 abstract description 12
- 230000005540 biological transmission Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000000630 rising effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 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
- 238000006467 substitution reaction Methods 0.000 description 2
- 101001001646 Coturnix japonica Serine/threonine-protein kinase pim-3 Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Landscapes
- Communication Control (AREA)
Abstract
本发明涉及通信技术领域,具体提供一种忽略时钟误差的数据交互方法、系统、终端及存储介质,包括:预先定义与多个比特级数据一一对应的多种波形,并建立比特级数据与相应波形的高低电位占比的映射关系;将所述映射关系分别写入主端和从端,以使主端和从端基于所述映射关系对比特级数据和高低电平信号进行转换。本发明通过将数据分割为数据帧,进一步对数据帧进行分割得到依次排列的比特级数据,然后将这些比特级数据转换为依次排列的高低电位占比值,每个高低电位占比值均对应一个周期,基于预设的信号周期时间,在周期内将实际高低电位占比调整为相应高低电位占比,以队列的方式逐一转换,提升了数据转换的效率和准确度。
Description
技术领域
本发明属于通信技术领域,具体涉及一种忽略时钟误差的数据交互方法、系统、终端及存储介质。
背景技术
在服务器机器中,不同芯片或板卡协同工作才能保证机器整体的正常运行,各部分间的数据交互必不可少。对于简单的电平信号,可以使用gpio直连的方式传递高低电平信号;但对于复杂的数据交互,通常使用总线方式进行数据传输。其中对于数据量大,实时性要求高的数据,会采用QPIM、PCIe、SAS/SATA、USB等高速串行总线进行;而对于数据量较小的交互场景,通常采用UART,I2C,SPI等串行总线进行通信。
SPI总线需要单独的时钟信号,硬件走线多;I2C总线为半双工方式,同一时刻数据传输是单向的。UART异步串口仅需两条走线,且能够实现双向数据传输,但数据交互的双方必须按照某一固定的波特率进行数据收发;这就要求双方必须有精度较高的工作时钟来保证波特率的误差在规定范围内,即必须搭配单独的晶振使用。
发明内容
针对现有技术的上述不足,本发明提供一种忽略时钟误差的数据交互方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种忽略时钟误差的数据交互方法,包括:
预先定义与多个比特级数据一一对应的多种波形,并建立比特级数据与相应波形的高低电位占比的映射关系;
将所述映射关系分别写入主端和从端,以使主端和从端基于所述映射关系对比特级数据和高低电平信号进行转换。
在一个可选的实施方式中,预先定义与多个比特级数据一一对应的多种波形,并建立比特级数据与相应波形的高低电位占比的映射关系,包括:
设置起始标志位对应的第一高低电位占比;
设置数据0对应的第二高低电位占比;
设置数据1对应的第三高低电位占比。
在一个可选的实施方式中,将所述映射关系分别写入主端和从端,包括:
设置数据解析规则,所述数据解析规则包括一帧数据的比特位数量和比特位的排列顺序;
设置波形约束条件,所述波形约束条件包括高低电平信号的单个周期由一段连续高电平和一段连续低电平组成,高电平在低电平之前;
将所述数据解析规则、波形约束条件,和比特级数据与高低电位占比的映射关系,固化为交互协议;
将所述交互协议写入主端芯片的寄存器和从端芯片的寄存器。
在一个可选的实施方式中,主端和从端基于所述映射关系对比特级数据和高低电平信号进行转换,包括:
主端基于所述映射关系将第一数据映射为第一高低电平信号,并将第一高低电平信号通过第一链路发送至从端,所述从端基于所述映射关系将接收的第一高低电平信号转换为第一数据;
从端基于所述映射关系将第二数据映射为第二高低电平信号,并将第二高低电平信号通过第二链路发送至从端,所述从端基于所述映射关系将接收的第二高低电平信号转换为第二数据。
在一个可选的实施方式中,基于所述映射关系将比特级数据转换为高低电平信号的方法,包括:
发送端基于数据解析规则解析待发送数据数据帧的比特位数值及排列顺序,依次基于所述映射关系将顺序排列的比特位数值转换为顺序排列的高低电位占比值,所述发送端为主端或从端;
发送端将顺序排列的高低电位占比值缓存为任务队列,并在任务队列最前端插入起始标志位对应的第一高低电位占比,得到执行队列;
发送端按照所述执行队列中的高低电位占比值依次调节高低电平信号在相应时间周期内的实际高低电位占比,所述高低电位占比为高电位和低单位在单个时间周期内的计数比;
接收端利用芯片内部晶振为接收的高低电平信号进行计数,获取高低电平信号每个周期的高低电平计数次数,所述接收到包括主端或从端;
接收端依次计算每个周期内的高低电平计数次数比例,得到高低电位占比;
接收端基于所述映射关系将依次排列的高低电位占比转换为比特级数据,并基于数据解析规则将所述比特级数据转换为数据帧。
在一个可选的实施方式中,利用芯片内部晶振为接收的高低电平信号进行计数的方法包括:
每收到依次内部晶振的计数信号,记录一次电位高低状态,得到高低电平计数次数。
在一个可选的实施方式中,接收端依次计算每个周期内的高低电平计数次数比例,得到高低电位占比,包括:
接收端基于波形约束条件将高低电平信号分割为多个单个周期;
依次计算多个单个周期内的高低电平计数次数比例。
第二方面,本发明提供一种忽略时钟误差的数据交互系统,包括:
规则定义模块,用于预先定义与多个比特级数据一一对应的多种波形,并建立比特级数据与相应波形的高低电位占比的映射关系;
信号转换模块,用于将所述映射关系分别写入主端和从端,以使主端和从端基于所述映射关系对比特级数据和高低电平信号进行转换。
在一个可选的实施方式中,规则定义模块包括:
第一设置单元,用于设置起始标志位对应的第一高低电位占比;
第二设置单元,用于设置数据0对应的第二高低电位占比;
第三设置单元,用于设置数据1对应的第三高低电位占比。
在一个可选的实施方式中,将所述映射关系分别写入主端和从端,包括:
设置数据解析规则,所述数据解析规则包括一帧数据的比特位数量和比特位的排列顺序;
设置波形约束条件,所述波形约束条件包括高低电平信号的单个周期由一段连续高电平和一段连续低电平组成,高电平在低电平之前;
将所述数据解析规则、波形约束条件,和比特级数据与高低电位占比的映射关系,固化为交互协议;
将所述交互协议写入主端芯片的寄存器和从端芯片的寄存器。
在一个可选的实施方式中,主端和从端基于所述映射关系对比特级数据和高低电平信号进行转换,包括:
主端基于所述映射关系将第一数据映射为第一高低电平信号,并将第一高低电平信号通过第一链路发送至从端,所述从端基于所述映射关系将接收的第一高低电平信号转换为第一数据;
从端基于所述映射关系将第二数据映射为第二高低电平信号,并将第二高低电平信号通过第二链路发送至从端,所述从端基于所述映射关系将接收的第二高低电平信号转换为第二数据。
在一个可选的实施方式中,基于所述映射关系将比特级数据转换为高低电平信号的方法,包括:
发送端基于数据解析规则解析待发送数据数据帧的比特位数值及排列顺序,依次基于所述映射关系将顺序排列的比特位数值转换为顺序排列的高低电位占比值,所述发送端为主端或从端;
发送端将顺序排列的高低电位占比值缓存为任务队列,并在任务队列最前端插入起始标志位对应的第一高低电位占比,得到执行队列;
发送端按照所述执行队列中的高低电位占比值依次调节高低电平信号在相应时间周期内的实际高低电位占比,所述高低电位占比为高电位和低单位在单个时间周期内的计数比;
接收端利用芯片内部晶振为接收的高低电平信号进行计数,获取高低电平信号每个周期的高低电平计数次数,所述接收到包括主端或从端;
接收端依次计算每个周期内的高低电平计数次数比例,得到高低电位占比;
接收端基于所述映射关系将依次排列的高低电位占比转换为比特级数据,并基于数据解析规则将所述比特级数据转换为数据帧。
在一个可选的实施方式中,利用芯片内部晶振为接收的高低电平信号进行计数的方法包括:
每收到依次内部晶振的计数信号,记录一次电位高低状态,得到高低电平计数次数。
在一个可选的实施方式中,接收端依次计算每个周期内的高低电平计数次数比例,得到高低电位占比,包括:
接收端基于波形约束条件将高低电平信号分割为多个单个周期;
依次计算多个单个周期内的高低电平计数次数比例。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,本发明提供的忽略时钟误差的数据交互方法、系统、终端及存储介质,通过定义数据与高低电位占比的映射关系,忽略了内部晶振时钟误差对传输数据的影响,因此使用两条信号线可实现数据交互双方的全双工通信,保证数据交互的实时性;总线内无需单独时钟信号,减少了硬件走线的复杂性;无需片外独立晶振,降低了硬件成本。
本发明通过设置数据解析规则、波形约束规则降低了数据处理与电平信号转换的复杂度,提升了数据传输效率。
本发明提供的数据转换方法,通过将数据分割为数据帧,进一步对数据帧进行分割得到依次排列的比特级数据,然后将这些比特级数据转换为依次排列的高低电位占比值,每个高低电位占比值均对应一个周期,基于预设的信号周期时间,在周期内将实际高低电位占比调整为相应高低电位占比,以队列的方式逐一转换,提升了数据转换的效率和准确度。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的方法的主端与从端的连接架构图。
图3是本发明一个实施例的方法的时钟计数的示意图。
图4是本发明一个实施例的方法的一帧数据的转换效果示意图。
图5是本发明一个实施例的方法的另一示意性流程图。
图6是本发明一个实施例的系统的示意性框图。
图7为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
下面对本发明中出现的关键术语进行解释。
I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件.在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送;如果主机要接收从器件的数据,首先由主器件寻址从器件。然后主机接收从器件发送的数据,最后由主机终止接收过程。在这种情况下,主机负责产生定时时钟和终止数据传送。
串行外设接口(SPI)是微控制器(MCU)和外围IC(如传感器、ADC、DAC、移位寄存器、SRAM等)之间使用较广泛的接口之一。SPI是一种同步、全双工、主从式接口。来自主机或者从机的数据在时钟上升沿或下降沿同步。主机和从机可以同时传输数据。SPI接口可以是三线式或者4线式。4线SPI总线有四个信号:时钟(SPI CLK,SCLK)、片选(CS)、主机输出、从机输入(MOSI)、主机输入、从机输出(MISO)。产生时钟信号的器件称为主机(MCU)。主机和从机之间传输的数据与主机产生的时钟同步。
UART是Universal Asynchronous Receiver/Transmitter(通用异步收发器)的简称,是一种全双工,异步通信接口,工作于数据链路层,支持RS232、RS485等规范电路。虽然UART可以实现串并行数据的转换,但UART依然是串行接口。既可以工作于异步方式,也可以工作于同步方式;既然可以工作于同步方式,那就需要同步时钟,UART带有时钟发生器,可以提供主时钟。
本发明实施例提供的忽略时钟误差的数据交互方法由计算机设备执行,相应地,忽略时钟误差的数据交互系统运行于计算机设备中。
图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种忽略时钟误差的数据交互系统。根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。
如图1所示,该方法包括:
步骤110,预先定义与多个比特级数据一一对应的多种波形,并建立比特级数据与相应波形的高低电位占比的映射关系;
步骤120,将所述映射关系分别写入主端和从端,以使主端和从端基于所述映射关系对比特级数据和高低电平信号进行转换。
为了便于对本发明的理解,下面以本发明忽略时钟误差的数据交互方法的原理,结合实施例中对定义规则及传输数据的过程,对本发明提供的忽略时钟误差的数据交互方法做进一步的描述。
请参考图2,主端芯片和从端芯片均包括内部晶振,两者之间通过TX链路和RX链路连接,其中主端芯片通过TX链路向从端芯片发送数据,从端芯片通过RX链路向主端芯片发送数据。
具体的,忽略时钟误差的数据交互方法包括:
S1、预先定义与多个比特级数据一一对应的多种波形,并建立比特级数据与相应波形的高低电位占比的映射关系。
请参考图2,交互协议的理论依据如下:
1)信号相邻两个上升沿之间的波形作为1bit数据的信息。
2)发送端使用的内部晶振1时钟周期为t1,其实际误差比例为e1,采用计数方式产生发送数据波形,1个bit数据高电平的计数个数为N1_H,低电平的计数个数为N1_L.
按照发送端计算,则1bit数据实际发送信号的高电平时间T_H = N1_H*t1*(1+e1);实际发送信号的低电平时间T_L = N1_L*t1*(1+e1);
则发送端高电平与电平时间的比值R1= T_H/T_L=N1_H/N1_L; R1的数值与发送端的时钟t1机器误差e1 无关;只与计数个数的比值有关。
3)接收端使用的内部晶振2时钟周期为t2,其实际误差比例为e2,采用计数方式检测结束的1bit数据,高电平计数个数为N2_H, 电平计数个数为N2_L.
按照接收端计算,则1bit数据实际接收到的高电平时间T_H=N2_H*t2*(1+e1);实际接收到的低电平时间T_L= N2_L*t2*(1+e2);
则接收端高电平与电平时间的比值 R2= T_H/T_L=N2_H/N2_L; R2的数值与接收端的时钟t2机器误差e2 无关;只与计数个数的比值有关。
4)根据2),3)中的等式,可知 R1=R2=N1_H/N1_L= N2_H/N2_L, 即在发送端通过N1_H和N1_L控制发送的波形数据,在接收端通过N2_H和N2_L计算得到的比例,与发送端是相同的,即发送的比例数据可以在接收端正确接收,与发送/接收端的实际时钟及其误差无关。综上,发送端通过将数据按照高低电平计数比例的方式发送,接收端就可以正确接收,无需精确时钟以及硬件上单独的同步时钟信号。
基于上述原理,设置比特级数据与相应波形的高低电位占比的映射关系,包括:设置起始标志位对应的第一高低电位占比;设置数据0对应的第二高低电位占比;设置数据1对应的第三高低电位占比。例如,定义1bit内高低电平比例RS为帧起始标志;比例RL为0;RH为1。且RS,RL,RH三者互不相等。并规定一帧数据为5bit(bit4~bit0),优先发送高bit数据。
设置数据解析规则,所述数据解析规则包括一帧数据的比特位数量和比特位的排列顺序;设置波形约束条件,所述波形约束条件包括高低电平信号的单个周期由一段连续高电平和一段连续低电平组成,高电平在低电平之前;将所述数据解析规则、波形约束条件,和比特级数据与高低电位占比的映射关系,固化为交互协议;将所述交互协议写入主端芯片的寄存器和从端芯片的寄存器。
上述交互协议内容的设置可以由CPU完成,然后分别写入主端芯片和从端芯片。
S2、将所述映射关系分别写入主端和从端,以使主端和从端基于所述映射关系对比特级数据和高低电平信号进行转换。
主端基于所述映射关系将第一数据映射为第一高低电平信号,并将第一高低电平信号通过第一链路发送至从端,所述从端基于所述映射关系将接收的第一高低电平信号转换为第一数据;从端基于所述映射关系将第二数据映射为第二高低电平信号,并将第二高低电平信号通过第二链路发送至从端,所述从端基于所述映射关系将接收的第二高低电平信号转换为第二数据。
具体的,主端或从端作为发射端时,比特级数据转换为高低电平信号的流程包括:
(1)发送端基于数据解析规则解析待发送数据数据帧的比特位数值及排列顺序,依次基于所述映射关系将顺序排列的比特位数值转换为顺序排列的高低电位占比值,所述发送端为主端或从端,一帧数据的转换效果如图4所示。
(2)发送端将顺序排列的高低电位占比值缓存为任务队列,并在任务队列最前端插入起始标志位对应的第一高低电位占比,得到执行队列。
发送端中预先编译任务队列和执行队列,信号将解析到的顺序排列的高低电位占比值缓存至任务队列,将一帧数据的5个高低电位占比值作为一组从任务队列中取出,添加起始标志位的第一高低电位占比后缓存至执行队列;从而使每个数据有序发送,避免数据丢失、错乱。
(3)发送端按照所述执行队列中的高低电位占比值依次调节高低电平信号在相应时间周期内的实际高低电位占比,所述高低电位占比为高电位和低单位在单个时间周期内的计数比。
请参考图5,举例介绍有master发送到slave的TX信号,由slave发送到master的RX信号与之相同。
1) 初始状态下,TX信号为低电平。
2) 一帧数据开始,TX数据拉高,并发送1bit高低电平数据,高、低电平计数比例为RS,作为一帧数据起始标志。
3)然后发送bit4,按照高低电平比例为RL,代表该bit数据为0.
4)然后发送bit3,按照高低电平比例为RH,代表该bit数据为1.
5)依次发送完bit2~0。发送bit0是,最后应产生额外的高脉冲 High_pulse,或者产生新起始标志开始新一帧数据发送,以提供用于检测bit0结束的上升沿。
发送的一帧数据为01101. 实际应用中,收发双方可根据需要,设计数据的帧长度及结构。数据发送时,每个bit的时间长度并不影响数据接收的准确性,例如bit1数据,实际时间长度明显大于其他bit,但其高低电平比例为RL,因此依然解析为0; bit0数据,实际时间长度小于其他bit,但其高低电平比例为RH,因此依然解析为1。也就是说,该方法不要求数据发送端时钟的长期稳定性,符合多数芯片内部晶振的精度和稳定性低的特点。在master通过TX信号向slave发送数据的同时,slave可以通过RX信号按照上述方法向master发送数据,实现全双工通信。
主端或从端作为接收端时,对接收的高低电平信号的转换流程如下:
(1)接收端利用芯片内部晶振为接收的高低电平信号进行计数,获取高低电平信号每个周期的高低电平计数次数。
每收到依次内部晶振的计数信号,记录一次电位高低状态,得到高低电平计数次数。
(2)接收端依次计算每个周期内的高低电平计数次数比例,得到高低电位占比。
接收端基于波形约束条件将高低电平信号分割为多个单个周期;依次计算多个单个周期内的高低电平计数次数比例。
(3)接收端基于所述映射关系将依次排列的高低电位占比转换为比特级数据,并基于数据解析规则将所述比特级数据转换为数据帧。
在一些实施例中,所述忽略时钟误差的数据交互系统可以包括多个由计算机程序段所组成的功能模块。所述忽略时钟误差的数据交互系统中的各个程序段的计算机程序可以存储于计算机设备的存储器中,并由至少一个处理器所执行,以执行(详见图1描述)忽略时钟误差的数据交互的功能。
本实施例中,所述忽略时钟误差的数据交互系统根据其所执行的功能,可以被划分为多个功能模块,如图6所示。系统600的功能模块可以包括:规则定义模块610、信号转换模块620。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
规则定义模块,用于预先定义与多个比特级数据一一对应的多种波形,并建立比特级数据与相应波形的高低电位占比的映射关系;
信号转换模块,用于将所述映射关系分别写入主端和从端,以使主端和从端基于所述映射关系对比特级数据和高低电平信号进行转换。
可选地,作为本发明一个实施例,规则定义模块包括:
第一设置单元,用于设置起始标志位对应的第一高低电位占比;
第二设置单元,用于设置数据0对应的第二高低电位占比;
第三设置单元,用于设置数据1对应的第三高低电位占比。
可选地,作为本发明一个实施例,将所述映射关系分别写入主端和从端,包括:
设置数据解析规则,所述数据解析规则包括一帧数据的比特位数量和比特位的排列顺序;
设置波形约束条件,所述波形约束条件包括高低电平信号的单个周期由一段连续高电平和一段连续低电平组成,高电平在低电平之前;
将所述数据解析规则、波形约束条件,和比特级数据与高低电位占比的映射关系,固化为交互协议;
将所述交互协议写入主端芯片的寄存器和从端芯片的寄存器。
可选地,作为本发明一个实施例,主端和从端基于所述映射关系对比特级数据和高低电平信号进行转换,包括:
主端基于所述映射关系将第一数据映射为第一高低电平信号,并将第一高低电平信号通过第一链路发送至从端,所述从端基于所述映射关系将接收的第一高低电平信号转换为第一数据;
从端基于所述映射关系将第二数据映射为第二高低电平信号,并将第二高低电平信号通过第二链路发送至从端,所述从端基于所述映射关系将接收的第二高低电平信号转换为第二数据。
可选地,作为本发明一个实施例,基于所述映射关系将比特级数据转换为高低电平信号的方法,包括:
发送端基于数据解析规则解析待发送数据数据帧的比特位数值及排列顺序,依次基于所述映射关系将顺序排列的比特位数值转换为顺序排列的高低电位占比值,所述发送端为主端或从端;
发送端将顺序排列的高低电位占比值缓存为任务队列,并在任务队列最前端插入起始标志位对应的第一高低电位占比,得到执行队列;
发送端按照所述执行队列中的高低电位占比值依次调节高低电平信号在相应时间周期内的实际高低电位占比,所述高低电位占比为高电位和低单位在单个时间周期内的计数比;
接收端利用芯片内部晶振为接收的高低电平信号进行计数,获取高低电平信号每个周期的高低电平计数次数,所述接收到包括主端或从端;
接收端依次计算每个周期内的高低电平计数次数比例,得到高低电位占比;
接收端基于所述映射关系将依次排列的高低电位占比转换为比特级数据,并基于数据解析规则将所述比特级数据转换为数据帧。
可选地,作为本发明一个实施例,利用芯片内部晶振为接收的高低电平信号进行计数的方法包括:
每收到依次内部晶振的计数信号,记录一次电位高低状态,得到高低电平计数次数。
可选地,作为本发明一个实施例,接收端依次计算每个周期内的高低电平计数次数比例,得到高低电位占比,包括:
接收端基于波形约束条件将高低电平信号分割为多个单个周期;
依次计算多个单个周期内的高低电平计数次数比例。
图7为本发明实施例提供的一种终端700的结构示意图,该终端700可以用于执行本发明实施例提供的忽略时钟误差的数据交互方法。
其中,该终端700可以包括:处理器710、存储器720及通信单元730。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器720可以用于存储处理器710的执行指令,存储器720可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器720中的执行指令由处理器710执行时,使得终端700能够执行以下上述方法实施例中的部分或全部步骤。
处理器710为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC) 组成,例如可以由单颗封装的IC 所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器710可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元730,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
因此,本发明通过定义数据与高低电位占比的映射关系,忽略了内部晶振时钟误差对传输数据的影响,因此使用两条信号线可实现数据交互双方的全双工通信,保证数据交互的实时性;总线内无需单独时钟信号,减少了硬件走线的复杂性;无需片外独立晶振,降低了硬件成本,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种忽略时钟误差的数据交互方法,其特征在于,包括:
预先定义与多个比特级数据一一对应的多种波形,并建立比特级数据与相应波形的高低电位占比的映射关系;
将所述映射关系分别写入主端和从端,以使主端和从端基于所述映射关系对比特级数据和高低电平信号进行转换。
2.根据权利要求1所述的方法,其特征在于,预先定义与多个比特级数据一一对应的多种波形,并建立比特级数据与相应波形的高低电位占比的映射关系,包括:
设置起始标志位对应的第一高低电位占比;
设置数据0对应的第二高低电位占比;
设置数据1对应的第三高低电位占比。
3.根据权利要求1或2所述的方法,其特征在于,将所述映射关系分别写入主端和从端,包括:
设置数据解析规则,所述数据解析规则包括一帧数据的比特位数量和比特位的排列顺序;
设置波形约束条件,所述波形约束条件包括高低电平信号的单个周期由一段连续高电平和一段连续低电平组成,高电平在低电平之前;
将所述数据解析规则、波形约束条件,和比特级数据与高低电位占比的映射关系,固化为交互协议;
将所述交互协议写入主端芯片的寄存器和从端芯片的寄存器。
4.根据权利要求1所述的方法,其特征在于,主端和从端基于所述映射关系对比特级数据和高低电平信号进行转换,包括:
主端基于所述映射关系将第一数据映射为第一高低电平信号,并将第一高低电平信号通过第一链路发送至从端,所述从端基于所述映射关系将接收的第一高低电平信号转换为第一数据;
从端基于所述映射关系将第二数据映射为第二高低电平信号,并将第二高低电平信号通过第二链路发送至从端,所述从端基于所述映射关系将接收的第二高低电平信号转换为第二数据。
5.根据权利要求3所述的方法,其特征在于,基于所述映射关系将比特级数据转换为高低电平信号的方法,包括:
发送端基于数据解析规则解析待发送数据数据帧的比特位数值及排列顺序,依次基于所述映射关系将顺序排列的比特位数值转换为顺序排列的高低电位占比值,所述发送端为主端或从端;
发送端将顺序排列的高低电位占比值缓存为任务队列,并在任务队列最前端插入起始标志位对应的第一高低电位占比,得到执行队列;
发送端按照所述执行队列中的高低电位占比值依次调节高低电平信号在相应时间周期内的实际高低电位占比,所述高低电位占比为高电位和低单位在单个时间周期内的计数比;
接收端利用芯片内部晶振为接收的高低电平信号进行计数,获取高低电平信号每个周期的高低电平计数次数,所述接收到包括主端或从端;
接收端依次计算每个周期内的高低电平计数次数比例,得到高低电位占比;
接收端基于所述映射关系将依次排列的高低电位占比转换为比特级数据,并基于数据解析规则将所述比特级数据转换为数据帧。
6.根据权利要求5所述的方法,其特征在于,利用芯片内部晶振为接收的高低电平信号进行计数的方法包括:
每收到依次内部晶振的计数信号,记录一次电位高低状态,得到高低电平计数次数。
7.根据权利要求5所述的方法,其特征在于,接收端依次计算每个周期内的高低电平计数次数比例,得到高低电位占比,包括:
接收端基于波形约束条件将高低电平信号分割为多个单个周期;
依次计算多个单个周期内的高低电平计数次数比例。
8.一种忽略时钟误差的数据交互系统,其特征在于,包括:
规则定义模块,用于预先定义与多个比特级数据一一对应的多种波形,并建立比特级数据与相应波形的高低电位占比的映射关系;
信号转换模块,用于将所述映射关系分别写入主端和从端,以使主端和从端基于所述映射关系对比特级数据和高低电平信号进行转换。
9.一种终端,其特征在于,包括:
存储器,用于存储忽略时钟误差的数据交互程序;
处理器,用于执行所述忽略时钟误差的数据交互程序时实现如权利要求1-7任一项所述忽略时钟误差的数据交互方法的步骤。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述可读存储介质上存储有忽略时钟误差的数据交互程序,所述忽略时钟误差的数据交互程序被处理器执行时实现如权利要求1-7任一项所述忽略时钟误差的数据交互方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311263948.1A CN117193473A (zh) | 2023-09-27 | 2023-09-27 | 忽略时钟误差的数据交互方法、系统、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311263948.1A CN117193473A (zh) | 2023-09-27 | 2023-09-27 | 忽略时钟误差的数据交互方法、系统、终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117193473A true CN117193473A (zh) | 2023-12-08 |
Family
ID=88983381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311263948.1A Pending CN117193473A (zh) | 2023-09-27 | 2023-09-27 | 忽略时钟误差的数据交互方法、系统、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117193473A (zh) |
-
2023
- 2023-09-27 CN CN202311263948.1A patent/CN117193473A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103714029B (zh) | 新型二线同步通信协议及应用 | |
JP6517243B2 (ja) | リンクレイヤ/物理レイヤ(phy)シリアルインターフェース | |
CN101770443B (zh) | 一种内部集成电路总线时序调节方法、相应装置及系统 | |
CN112564882B (zh) | 一种基于ahb总线的单线数字通讯接口 | |
US10579581B2 (en) | Multilane heterogeneous serial bus | |
CN101089838A (zh) | 一种实现i2c读写时序的方法 | |
CN103677671A (zh) | 一种电口模块的数据读写方法和系统 | |
CN102073611B (zh) | 一种i2c总线控制系统及方法 | |
CN103164314B (zh) | 基于异步物理层接口的PCIe接口芯片硬件验证方法 | |
CN104156333A (zh) | 一种基于fpga的uart多接口扩展系统和方法 | |
CN104407956A (zh) | 通过串口调试的iic总线实验装置 | |
CN114003541A (zh) | 一种通用型iic总线电路及其传输方法 | |
CN204270290U (zh) | 通过串口调试的iic总线实验装置 | |
Li et al. | UART Controller with FIFO Buffer Function Based on APB Bus | |
CN117193473A (zh) | 忽略时钟误差的数据交互方法、系统、终端及存储介质 | |
US20210157759A1 (en) | Data Transmission System Capable of Transmitting a Great Amount of Data | |
CN201378316Y (zh) | 通用输入/输出接口扩展电路和具有该电路的移动终端 | |
CN111208892B (zh) | 一种用串行i2c信号对芯片系统实现复位的方法 | |
CN209015139U (zh) | 一种i2c总线电路、芯片及系统 | |
CN114756498A (zh) | 芯片、主控芯片、芯片通信方法、芯片阵列及相关设备 | |
TWI519102B (zh) | FlexRay接收器 | |
Li et al. | Research on Improvement of Configurable I2C controller IP Core | |
CN220137680U (zh) | 一种支持异步通信接口的仿真器 | |
CN112783813B (zh) | 可互联hart通信协议芯片及其使用方法 | |
CN109474707B (zh) | 基于串口协议的二层协议设计及数据传输方法及系统 |
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 |