CN117971753A - 一种通信方法及装置 - Google Patents
一种通信方法及装置 Download PDFInfo
- Publication number
- CN117971753A CN117971753A CN202311747825.5A CN202311747825A CN117971753A CN 117971753 A CN117971753 A CN 117971753A CN 202311747825 A CN202311747825 A CN 202311747825A CN 117971753 A CN117971753 A CN 117971753A
- Authority
- CN
- China
- Prior art keywords
- sda
- edge
- sampling clock
- slave
- delay
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 86
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000005070 sampling Methods 0.000 claims abstract description 110
- 230000008859 change Effects 0.000 claims abstract description 61
- 230000003111 delayed effect Effects 0.000 claims abstract description 18
- 238000001514 detection method Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 8
- 230000000630 rising effect Effects 0.000 claims description 8
- 230000009286 beneficial effect Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 15
- 230000001934 delay Effects 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Information Transfer Systems (AREA)
Abstract
本申请实施例公开了一种通信方法及装置。该方法应用于从机,方法包括:方式一:从机检测I2C SCL的下降沿与SDA的变化沿之间的时间差,SDA的变化沿与SCL的下降沿相邻;从机在时间差小于X个采样时钟周期时,对SDA的变化沿延迟X个采样时钟周期,获得第一SDA,采样时钟周期是从机与主机通信时采用的采样时钟周期;从机在时间差大于或等于X个采样时钟周期时,不对SDA的变化沿延迟。或方式二:从机在检测到I2C SCL的下降沿并且SDA有变化沿时,对SDA的变化沿固定延迟X个采样时钟周期,获得第二SDA。从机基于第一SDA或第二SDA,与主机进行通讯。该方法有利于提高从机与主机通信时的通信性能。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种通信方法及装置。
背景技术
集成电路总线(inter-integrated circuit,I2C)包括串行时钟线(serial clockline,SCL)和串行数据线(serial data line,SDA),主要用于主机与从机之间的通信。其中,SCL用于传输时钟信号,SDA用于传输数据信号。
在异步I2C通信中,如果串行时钟线SCL的变化沿与串行数据线SDA的变化沿之间的时间差太小,比如小于一个本地从机的采样时钟周期时,本地从机的采样时钟周期可能会将数据的正常变化误识别为数据传输的开始信号或数据传输的结束信号,从而影响通信性能。
发明内容
本申请实施例提供了一种通信方法及装置,可提高从机与主机通信时的通信性能。
第一方面,本申请实施例提供了一种通信方法。该方法包括:方式一:从机检测集成电路总线I2C串行时钟线SCL的下降沿与串行数据线SDA的变化沿之间的时间差,SDA的变化沿与SCL的下降沿相邻;从机在时间差小于X个采样时钟周期时,对SDA的变化沿延迟X个采样时钟周期,获得第一SDA;从机在时间差大于或等于X个采样时钟周期时,不对SDA的变化沿延迟。或方式二:从机在检测到集成电路总线I2C串行时钟线SCL的下降沿并且串行数据线SDA有变化沿时,对SDA的变化沿固定延迟X个采样时钟周期,获得第二SDA。从机基于第一SDA或第二SDA,与主机进行通讯。其中,采样时钟周期是从机与主机通信时采用的采样时钟周期,X为正整数。
可见,本申请实施例中,从机在SCL的下降沿与SDA的变化沿之间的时间差小于X个采样时钟周期时,对SDA的变化沿延迟X个采样时钟周期,并基于第一SDA与主机通信,从而有利于提高从机与主机通信时的通信性能。或者,从机在检测到SCL的下降沿且SDA有变化沿时,对SDA的变化沿固定延迟X个采样时钟周期,并基于第二SDA与主机通信,从而有利于提高从机与主机通信时的通信性能。
一种可选的实施方式中,从机设置第一使能信号,当第一使能信号有效时,选择方式一执行,第一SDA作为延时SDA输出。当第一使能信号无效时,选择方式二执行,第二SDA作为延时SDA输出。从机基于延时SDA,与主机进行通讯。
一种可选的实施方式中,从机设置第二使能信号,当第二使能信号有效时,延时SDA选择第一SDA。当第二使能信号无效时,延时SDA选择第二SDA。从机基于延时SDA,与主机进行通讯。
一种可选的实施方式中,X的值是通过主机对从机的寄存器进行配置。
一种可选的实施方式中,SDA变化沿包括SDA的上升沿和SDA的下降沿。
第二方面,本申请实施例提供了一种直线飞行时间(direct time of flight,dtof)通讯模块,包括:
方式一:时间差检测电路,用于检测集成电路总线I2C串行时钟线SCL的下降沿与串行数据线SDA的变化沿之间的时间差,SDA的变化沿与SCL的下降沿相邻;
自动延时电路,用于在时间差小于X个采样时钟周期时,对SDA的变化沿延迟X个采样时钟周期,获得第一SDA;
自动延时电路,还用于在时间差大于或等于X个采样时钟周期时,不对SDA的变化沿延迟;
或方式二:固定延时电路,用于在检测到集成电路总线I2C串行时钟线SCL的下降沿并且串行数据线SDA有变化沿时,对SDA的变化沿固定延迟X个采样时钟周期,获得第二SDA;
通讯电路,用于基于第一SDA或第二SDA,与主机进行通讯;
采样时钟周期是从机与主机通信时采用的采样时钟周期,X为正整数。
在一种可选的实施方式中,dtof通讯模块还包括:参数寄存器,用于设置第一使能信号,当第一使能信号有效时,选择方式一的电路;第一SDA作为延时SDA输出;当第一使能信号无效时,选择方式二的电路,第二SDA作为延时SDA输出;通讯电路,还用于基于延时SDA,与主机进行通讯。
在一种可选的实施方式中,dtof通讯模块还包括:选择电路,用于设置第二使能信号,当第二使能信号有效时,延时SDA选择第一SDA;当第二使能信号无效时,延时SDA选择第二SDA;通讯电路,还用于基于延时SDA,与主机进行通讯。
第三方面,本申请实施例提供了一种通信设备,包括处理器和存储器;可选的,该通信设备还包括通信接口;
存储器,用于存储计算机程序;
通信接口,用于接收或发送数据;
处理器,用于调用存储器中存储的程序指令。
一种可选的实施方式中,处理器调用计算机程序,用于执行以下操作:
方式一:检测集成电路总线I2C串行时钟线SCL的下降沿与串行数据线SDA的变化沿之间的时间差,所述SDA的变化沿与所述SCL的下降沿相邻;在所述时间差小于X个采样时钟周期时,对所述SDA的变化沿延迟X个采样时钟周期,获得第一SDA;在所述时间差大于或等于X个采样时钟周期时,不对所述SDA的变化沿延迟;或方式二:在检测到集成电路总线I2C串行时钟线SCL的下降沿并且串行数据线SDA有变化沿时,对所述SDA的变化沿固定延迟X个采样时钟周期,获得第二SDA;基于所述第一SDA或所述第二SDA,与所述主机进行通讯;所述采样时钟周期是所述从机与主机通信时采用的采样时钟周期,所述X为正整数。
另外,该方面中,从机其他可选的实施方式可参见上述第一方面的相关内容,此处不再详述。
第四方面,本申请实施例提供一种通信系统,该通信系统包括主机和从机。可选的,该系统还包括与主机或从机进行通信的其他设备。
第五方面,本申请实施例提供一种计算机可读存储介质,用于储存上述从机所用的计算机软件指令,其包括用于执行上述第一方面所述的方法所涉及的程序。
第六方面,本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在处理器上运行时,用于使得上述第一方面所述的方法流程得以实现。
附图说明
图1为一种通信系统的系统结构示意图;
图2为本申请实施例提供的一种通信方法的流程示意图;
图3为本申请实施例提供的一种SDA的示意图;
图4为本申请实施例提供的一种SDA和SCL的示意图;
图5为本申请实施例提供的另一种SDA和SCL的示意图;
图6为本申请实施例提供的又一种SDA和SCL的示意图;
图7为本申请实施例提供的一种延迟电路示意图;
图8为本申请实施例提供的一种直线飞行时间通讯模块的结构示意图;
图9为本申请实施例提供的一种通信设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例进行阐述。
其中,本申请的说明书、权利要求书及附图中的术语“第一”和“第二”等是用于区别不同对象,而不是用于描述特定顺序。“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系。例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“…时”以及“若”均指在某种客观情况下会做出相应的处理,并非是限定时间,且也不要求实现时要有判断的动作,也不意味着存在其它限定。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
为了更好的理解本申请实施例公开的通信方法,对本申请实施例适用的系统架构进行描述。
本申请实施例涉及的通信系统如图1所示,该通信系统可包括但不限于一个主机和一个从机,图1所示的设备数量和形态用于举例并不构成对本申请实施例的限定,实际应用中可以包括一个以上的主机,一个以上的从机。图1所示的通信系统以主机101和从机102为例进行阐述,主机101与从机102可以进行通信。本申请实施例中,该通信系统还可包括与主机101,或与从机102进行通信的其他设备,本申请实施例不做限定。
本申请可适用于第五代(5th generation,5G)通信系统,还可适用于第四代(4thgeneration,4G)通信系统、第三代(3th generation,3G)通信系统,还可适用于未来新的各种通信系统,例如第六代(6th generation,6G)移动通信、第七代(7th generation,7G)移动通信等,本申请实施例对此并不限定。
在本申请实施例中,从机102可以在串行时钟线(serial clock line,SCL)的下降沿与串行数据线(serial data line,SDA)的变化沿之间的时间差小于X个采样时钟周期时,延迟SDA的变化沿,并基于延迟后的SDA与主机101通信。或者,从机102在检测到SCL的下降沿且SDA有变化沿时,延迟SDA的变化沿,并基于延迟后的SDA与主机101通信。
集成电路总线(inter-integrated circuit,I2C)包括SCL和SDA,主要用于主机与从机之间的通信。其中,SCL用于传输时钟信号,SDA用于传输数据信号。目前,在异步I2C通信中,如果SCL的变化沿与SDA的变化沿之间的时间差较小,比如小于一个本地从机的采样时钟周期时,从机的采样时钟周期可能会将数据的正常变化误识别为数据传输的开始信号或数据传输的结束信号。另外,从机的采样时钟周期越小,从机的采样时钟周期将数据的正常变化误识别为数据传输的开始信号或数据传输的结束信号的可能性越大。
本申请实施例提供一种通信方法。该方法中,方式一:从机检测集成电路总线I2C串行时钟线SCL的下降沿与串行数据线SDA的变化沿之间的时间差,SDA的变化沿与SCL的下降沿相邻;从机在时间差小于X个采样时钟周期时,对SDA的变化沿延迟X个采样时钟周期,获得第一SDA;从机在时间差大于或等于X个采样时钟周期时,不对SDA的变化沿延迟。或方式二:从机在检测到集成电路总线I2C串行时钟线SCL的下降沿并且串行数据线SDA有变化沿时,对SDA的变化沿固定延迟X个采样时钟周期,获得第二SDA。从机基于第一SDA或第二SDA,与主机进行通讯。其中,采样时钟周期是从机与主机通信时采用的采样时钟周期,X为正整数。
可见,本申请实施例中,从机在SCL的下降沿与SDA的变化沿之间的时间差小于X个采样时钟周期时,对SDA的变化沿延迟X个采样时钟周期,并基于第一SDA与主机通信,从而有利于提高从机与主机通信时的通信性能。或者,从机在检测到SCL的下降沿且SDA有变化沿时,对SDA的变化沿固定延迟X个采样时钟周期,并基于第二SDA与主机通信,从而有利于提高从机与主机通信时的通信性能。
基于上述描述,本申请实施例提出一种通信方法100,图2为通信方法100的流程示意图,该方法包括方式一或方式二,方式一包括S101至S103,方式二包括S104。该方法还包括S105。以下对该方法进行阐述:
S101.从机检测I2C SCL的下降沿与SDA的变化沿之间的时间差,SDA的变化沿与SCL的下降沿相邻。
其中,SDA的变化沿可以是SDA的上升沿,或者可以是SDA的下降沿。SDA的上升沿是指SDA中从低电平上升至高电平的状态/情况,SDA的下降沿是指SDA中从高电平下降至低电平的状态/情况。类似的,SCL的下降沿是指SCL中从高电平到低电平的状态/情况。
例如,图3为一种SDA的示意图。如图3所示,SDA的下降沿1与SDA的下降沿2是指SDA中从高电平下降至低电平的状态/情况,SDA的上升沿1与SDA的上升沿2是指SDA中从低电平上升至高电平的状态/情况。
SCL的下降沿与SDA的变化沿之间的时间差,是指:SCL的下降沿对应的时间与SDA的变化沿对应的时间之间的时间差。例如,图4为一种SDA和SCL的示意图。如图4所示,时间差a为SCL的下降沿1对应的时间与SDA的变化沿1对应的时间之间的时间差,时间差b为SCL的下降沿2对应的时间与SDA的变化沿2对应的时间之间的时间差。其中,SDA的变化沿1为SDA的下降沿,SDA的变化沿2为SDA的上升沿。
另外,SDA的变化沿与SCL的下降沿相邻。那么,从机检测I2C SCL的下降沿与SDA的变化沿之间的时间差,是指:检测SCL的下降沿与该SCL的下降沿相邻的SDA的变化沿之间的时间差。
可选的,从机检测I2C SCL的下降沿与SDA的变化沿之间的时间差,包括:从机通过时间差检测电路,检测I2C SCL的下降沿与SDA的变化沿之间的时间差。其中,时间差检测电路是从机中的一部分。可理解的,从机将接收的SCL和SDA输入时间差检测电路,时间差检测电路输出SCL的下降沿与SDA的变化沿之间的时间差。
S102.从机在时间差小于X个采样时钟周期时,对SDA的变化沿延迟X个采样时钟周期,获得第一SDA。
其中,采样时钟周期是从机与主机通信时采用的采样时钟周期,X为正整数。
在一种可选的实施方式中,X的值是通过主机对从机的寄存器进行配置。
可理解的,从机在SCL的下降沿与SDA的变化沿之间的时间差小于X个采样时钟周期时,从机的采样时钟周期可能会将数据的正常变化误识别为数据传输的开始信号或数据传输的结束信号。因此,从机在SCL的下降沿与SDA的变化沿之间的时间差小于X个采样时钟周期时,对SDA的变化沿延迟X个采样时钟周期,以提高通信性能。
从机在SCL的下降沿与SDA的变化沿之间的时间差小于X个采样时钟周期时,对SDA的变化沿延迟X个采样时钟周期,是指:从机在SCL的下降沿与SDA的变化沿之间的时间差小于X个采样时钟周期时,将SDA的变化沿对应的时间延迟到X个采样时钟周期之后。也就是说,第一SDA的变化沿对应的时间为延迟前SDA的变化沿对应的时间之后X个采样时钟周期对应的时间。
示例性的,图5为另一种SDA和SCL的示意图。如图5所示,从机检测SCL的下降沿1与SDA的变化沿1之间的时间差a。如果X等于1,那么时间差a小于1个采样时钟周期,则从机将SDA的变化沿1延迟至1个采样时钟周期之后,延迟后的SDA为SDA#1,即第一SDA为SDA#1。
S103.从机在时间差大于或等于X个采样时钟周期时,不对SDA的变化沿延迟。
可理解的,从机在SCL的下降沿与SDA的变化沿之间的时间差大于或等于X个采样时钟周期时,从机的采样时钟周期将数据的正常变化误识别为数据传输的开始信号或数据传输的结束信号的可能性较小。因此,从机在SCL的下降沿与SDA的变化沿之间的时间差大于或等于X个采样时钟周期时,不对SDA的变化沿延迟,以节约资源。
示例性的,如图5所示,从机检测SCL的下降沿2与SDA的变化沿2之间的时间差b。如果X等于2,那么时间差b大于2个采样时钟周期,则从机不对SDA的变化沿2进行延迟。该方式中,第一SDA仍为SDA#2。
S104.从机在检测到I2C SCL的下降沿并且SDA有变化沿时,对SDA的变化沿固定延迟X个采样时钟周期,获得第二SDA。
从机在检测到SCL的下降沿,并且SDA有变化沿时,对SDA的变化沿固定延迟X个采样时钟周期,是指:从机在检测到SCL的下降沿并且SDA有变化沿时,将SDA的变化沿对应的时间延迟到X个采样时钟周期之后。也就是说,第二SDA的变化沿对应的时间为延迟前SDA的变化沿对应的时间之后X个采样时钟周期。
示例性的,图6为又一种SDA和SCL的示意图。如图6所示,从机检测到SCL的下降沿并且SDA有变化沿。如果X等于1,从机对SDA的变化沿延迟1个采样时钟周期,即从机将SDA的变化沿延迟至1个采样时钟周期之后,延迟后的SDA为SDA#3,即第二SDA为SDA#3。
可见,从机可以执行方式一,即执行S101至S103。或者,从机可以执行方式二,即执行S104。从机执行方式一时,在SCL的下降沿与SDA的变化沿之间的时间差小于X个采样时钟周期时,对SDA的变化沿延迟X个采样时钟周期,有利于提高从机与主机通信时的通信性能。从机执行方式二时,在检测到SCL的下降沿且SDA有变化沿时,对SDA的变化沿固定延迟X个采样时钟周期,从而有利于提高从机与主机通信时的通信性能。
S105.从机基于第一SDA或第二SDA,与主机进行通讯。
其中,与主机进行通讯也可以理解为与主机进行通信。
可理解的,从机执行方式一,即执行上述S101至S103时,基于第一SDA与主机通讯;从机执行方式二,即执行上述S104时,基于第二SDA与主机通讯。
在一种可选的实施方式中,从机设置第一使能信号,当第一使能信号有效时,选择方式一执行,即执行S101至S103。从机选择方式一执行时,第一SDA作为延时SDA输出。或者,可理解为:从机选择方式一执行时,将第一SDA作为延迟SDA输出。
当第一使能信号无效时,从机选择方式二执行,即执行S104。从机选择方式二执行时,第二SDA作为延时输出。或者,可理解为:从机选择方式二执行时,将第二SDA作为延时SDA输出。
可理解的,从机执行方式一或方式二之后,基于延时SDA,与主机进行通讯。
可选的,从机通过参数寄存器,设置第一使能信号。其中,参数寄存器是从机中的一部分。
在一种可选的实施方式中,从机设置第二使能信号,当第二使能信号有效时,延时SDA选择第一SDA;当第二使能信号无效时,延时SDA选择第二SDA。从机基于延时SDA,与主机进行通讯。也理解为:当第二使能信号有效时,从机选择第一SDA作为延时SDA,从而基于第一SDA与主机通讯;当第二使能信号无效时,从机选择第二SDA作为延时SDA,从而基于第二SDA与主机通讯。
可选的,从机通过选择电路,设置第二使能信号。其中,选择电路是从机中的一部分。
本申请实施例中,方式一:从机检测I2C SCL的下降沿与SDA的变化沿之间的时间差,SDA的变化沿与SCL的下降沿相邻;从机在时间差小于X个采样时钟周期时,对SDA的变化沿延迟X个采样时钟周期,获得第一SDA;从机在时间差大于或等于X个采样时钟周期时,不对SDA的变化沿延迟。或方式二:从机在检测到I2C SCL的下降沿并且SDA有变化沿时,对SDA的变化沿固定延迟X个采样时钟周期,获得第二SDA。从机基于第一SDA或第二SDA,与主机进行通讯。其中,采样时钟周期是从机与主机通信时采用的采样时钟周期。
可见,本申请实施例中,从机在SCL的下降沿与SDA的变化沿之间的时间差小于X个采样时钟周期时,对SDA的变化沿延迟X个采样时钟周期,并基于第一SDA与主机通信,从而有利于提高从机与主机通信时的通信性能。或者,从机在检测到SCL的下降沿且SDA有变化沿时,对SDA的变化沿固定延迟X个采样时钟周期,并基于第二SDA与主机通信,从而有利于提高从机与主机通信时的通信性能。
另外,从机基于延迟后的SDA与主机通信的方式,与从机基于SDA与主机通信的方式相比,可以降低异步I2C通信中将数据的正常变化误识别为数据传输的开始信号或数据传输的结束信号的概率,从而可解决异步I2C通信中通讯异常的问题。
参见图7,图7是本申请实施例提供的一种延迟电路示意图。如图7所示,延迟电路包括但不限于时间差检测电路、自动延时电路、固定延时电路、参数寄存器与选择电路。
时间差检测电路,用于检测SCL的下降沿与SDA的变化沿之间的时间差。其中,SDA的变化沿与SCL的下降沿相邻,SDA变化沿包括SDA的上升沿和SDA的下降沿。可选的,时间差检测电路接收从机输入的SCL和SDA,输出SCL的下降沿与SDA的变化沿之间的时间差。
自动延时电路,用于在时间差小于X个采样时钟周期时,对SDA的变化沿延迟X个采样时钟周期,获得第一SDA。自动延时电路,还用于在时间差大于或等于X个采样时钟周期时,不延迟SDA的变化沿。其中,采样时钟周期是从机与主机通信时采用的采样时钟周期,X为正整数。可理解的,自动延时电路接收时间差检测电路输入的时间差,输出第一SDA。
固定延时电路,用于在检测到SCL的下降沿并且SDA有变化沿时,对SDA的变化沿固定延迟X个采样时钟周期,获得第二SDA。可理解的,固定延时电路接收从机输入的SCL和SDA,输出第二SDA。
参数寄存器,用于设置第一使能信号。当第一使能信号有效时,从机选择自动延时电路,该情况下,第一SDA作为延迟SDA输出;当第一使能信号无效时,从机选择固定延时电路,该情况下,第二SDA作为延迟SDA输出。在一种可选的实施方式中,参数寄存器用于接收主机配置的延迟时钟数量,即X的值。可理解的,参数寄存器可以输出第一使能信号。参数寄存器还可以接收主机输入的延迟时钟数量,并输出至自动延时电路或固定延时电路。
选择电路,用于设置第二使能信号,第二使能信号比如为图7中的S0。当S0有效时,比如S0的值为0时,S0有效,延迟SDA选择第一SDA;当S0无效时,比如S0的值为1时,S0无效,延迟SDA选择第二SDA。可理解的,选择电路接收第一SDA和/或第二SDA,输出延迟SDA。
可见,时间差检测电路检测SCL的下降沿与SDA的变化沿之间的时间差,并将检测获得的时间差输出至自动延时电路。自动延时电路在时间差小于X个采样时钟周期时,延迟SDA的变化沿,获得第一SDA。固定延时电路检测到SCL的下降沿并且SDA有变化沿时,延迟SDA的变化沿,获得第二SDA。参数寄存器选择自动延时电路或固定延时电路中的一种电路。选择电路选择第一SDA或第二SDA中的一项作为延迟SDA输出。
这样,从机可以通过自动延时方式或固定延时方式延迟SDA的变化沿,从而可以基于延迟后的SDA与主机进行通信,进而可提高从机与主机通信时的通信性能。
请参见图8,图8是本申请实施例提供的一种直线飞行时间通讯模块800的结构示意图。该直线飞行时间通讯模块800可以执行前述方法实施例中从机或主机的相关步骤,该直线飞行时间通讯模块800包括:时间差检测电路801、自动延时电路802、固定延时电路803、参数寄存器804、选择电路805与通讯电路806。
其中,方式一:时间差检测电路801用于检测集成电路总线I2C串行时钟线SCL的下降沿与串行数据线SDA的变化沿之间的时间差,所述SDA的变化沿与所述SCL的下降沿相邻;自动延时电路802用于在所述时间差小于X个采样时钟周期时,对所述SDA的变化沿延迟X个采样时钟周期,获得第一SDA;自动延时电路802还用于在所述时间差大于或等于X个采样时钟周期时,不对所述SDA的变化沿延迟。方式二:固定延时电路803用于在检测到集成电路总线I2C串行时钟线SCL的下降沿并且串行数据线SDA有变化沿时,对所述SDA的变化沿固定延迟X个采样时钟周期,获得第二SDA。通讯电路806用于基于所述第一SDA或所述第二SDA,与所述主机进行通讯;所述采样时钟周期是所述从机与主机通信时采用的采样时钟周期,所述X为正整数。
在一种可选的实施方式中,参数寄存器804用于:设置第一使能信号,当第一使能信号有效时,选择方式一所述的电路;所述第一SDA作为延时SDA输出;当第一使能信号无效时,选择方式二所述的电路,所述第二SDA作为延时SDA输出;所述通讯电路806,还用于基于所述延时SDA,与所述主机进行通讯。
在一种可选的实施方式中,选择电路805用于:设置第二使能信号,当第二使能信号有效时,延时SDA选择所述第一SDA;当第二使能信号无效时,延时SDA选择所述第二SDA;所述通讯电路806,还用于基于所述延时SDA,与所述主机进行通讯。
可理解的,该通讯模块的其他实现方式可参见上述方法实施例的相关内容,此处不再赘述。
请参见图9,图9是本申请实施例提供的一种通信设备900的结构示意图,该通信设备900可以是主机,也可以是从机。该通信设备900可以包括存储器901、处理器902。可选地,还包括通信接口903。存储器901、处理器902和通信接口903通过一条或多条通信总线连接。其中,通信接口903受处理器902的控制用于收发信息。
存储器901可以包括只读存储器和随机存取存储器,并向处理器902提供指令和数据。存储器901的一部分还可以包括非易失性随机存取存储器。
通信接口903用于接收或发送数据。
处理器902可以是中央处理单元(central processing unit,CPU),该处理器902还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器,可选地,该处理器902也可以是任何常规的处理器等。其中:
存储器901,用于存储程序指令。
处理器902,用于调用存储器901中存储的程序指令。
一种可选的实施方式中,所述处理器902调用所述计算机程序时用于执行:
方式一:检测集成电路总线I2C串行时钟线SCL的下降沿与串行数据线SDA的变化沿之间的时间差,所述SDA的变化沿与所述SCL的下降沿相邻;
在所述时间差小于X个采样时钟周期时,对所述SDA的变化沿延迟X个采样时钟周期,获得第一SDA;
在所述时间差大于或等于X个采样时钟周期时,不对所述SDA的变化沿延迟;
或方式二:在检测到集成电路总线I2C串行时钟线SCL的下降沿并且串行数据线SDA有变化沿时,对所述SDA的变化沿固定延迟X个采样时钟周期,获得第二SDA;
基于所述第一SDA或所述第二SDA,与所述主机进行通讯;
所述采样时钟周期是所述从机与主机通信时采用的采样时钟周期,所述X为正整数。
该通信设备其他实现方式可参见上述方法实施例的相关内容,此处不再详述。
本申请实施例和上述方法实施例基于同一构思,其带来的技术效果也相同,具体原理请参照上述方法实施例的描述,在此不赘述。
本申请实施例还提供一种通信系统,该通信系统包括主机和从机。可选的,该系统还包括与主机或从机进行通信的其他设备。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在处理器上运行时,上述方法实施例的方法流程得以实现。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在处理器上运行时,上述方法实施例的方法流程得以实现。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些操作可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本申请提供的各实施例的描述可以相互参照,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。为描述的方便和简洁,例如关于本申请实施例提供的各装置、设备的功能以及执行的操作可以参照本申请方法实施例的相关描述,各方法实施例之间、各装置实施例之间也可以互相参考、结合或引用。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种通信方法,应用于从机,其特征在于,方法包括:
方式一:检测集成电路总线I2C串行时钟线SCL的下降沿与串行数据线SDA的变化沿之间的时间差,所述SDA的变化沿与所述SCL的下降沿相邻;
在所述时间差小于X个采样时钟周期时,对所述SDA的变化沿延迟X个采样时钟周期,获得第一SDA;
在所述时间差大于或等于X个采样时钟周期时,不对所述SDA的变化沿延迟;
或方式二:在检测到集成电路总线I2C串行时钟线SCL的下降沿并且串行数据线SDA有变化沿时,对所述SDA的变化沿固定延迟X个采样时钟周期,获得第二SDA;
基于所述第一SDA或所述第二SDA,与所述主机进行通讯;
所述采样时钟周期是所述从机与主机通信时采用的采样时钟周期,所述X为正整数。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
设置第一使能信号,当第一使能信号有效时,选择方式一执行;所述第一SDA作为延时SDA输出;
当第一使能信号无效时,选择方式二执行,所述第二SDA作为延时SDA输出;
基于所述延时SDA,与所述主机进行通讯。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
设置第二使能信号,当第二使能信号有效时,延时SDA选择所述第一SDA;
当第二使能信号无效时,延时SDA选择所述第二SDA;
基于所述延时SDA,与所述主机进行通讯。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述X的值是通过主机对从机的寄存器进行配置。
5.根据权利要求1所述的方法,其特征在于,所述SDA的变化沿包括SDA的上升沿和SDA的下降沿。
6.一种直线飞行时间dtof通讯模块,其特征在于,所述模块包括:
方式一:时间差检测电路,用于检测集成电路总线I2C串行时钟线SCL的下降沿与串行数据线SDA的变化沿之间的时间差,所述SDA的变化沿与所述SCL的下降沿相邻;
自动延时电路,用于在所述时间差小于X个采样时钟周期时,对所述SDA的变化沿延迟X个采样时钟周期,获得第一SDA;
所述自动延时电路,还用于在所述时间差大于或等于X个采样时钟周期时,不对所述SDA的变化沿延迟;
或方式二:固定延时电路,用于在检测到集成电路总线I2C串行时钟线SCL的下降沿并且串行数据线SDA有变化沿时,对所述SDA的变化沿固定延迟X个采样时钟周期,获得第二SDA;
通讯电路,用于基于所述第一SDA或所述第二SDA,与所述主机进行通讯;
所述采样时钟周期是所述从机与主机通信时采用的采样时钟周期,所述X为正整数。
7.根据权利要求6所述的模块,其特征在于,所述模块还包括:
参数寄存器,用于设置第一使能信号,当第一使能信号有效时,选择方式一所述的电路;所述第一SDA作为延时SDA输出;当第一使能信号无效时,选择方式二所述的电路,所述第二SDA作为延时SDA输出;
所述通讯电路,还用于基于所述延时SDA,与所述主机进行通讯。
8.根据权利要求6所述的模块,其特征在于,所述模块还包括:
选择电路,用于设置第二使能信号,当第二使能信号有效时,延时SDA选择所述第一SDA;当第二使能信号无效时,延时SDA选择所述第二SDA;
所述通讯电路,还用于基于所述延时SDA,与所述主机进行通讯。
9.一种通信设备,其特征在于,包括处理器和存储器,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1至5任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1至5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311747825.5A CN117971753A (zh) | 2023-12-18 | 2023-12-18 | 一种通信方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311747825.5A CN117971753A (zh) | 2023-12-18 | 2023-12-18 | 一种通信方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117971753A true CN117971753A (zh) | 2024-05-03 |
Family
ID=90857085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311747825.5A Pending CN117971753A (zh) | 2023-12-18 | 2023-12-18 | 一种通信方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117971753A (zh) |
-
2023
- 2023-12-18 CN CN202311747825.5A patent/CN117971753A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105320490A (zh) | 用于异步fifo电路的方法和设备 | |
US7461187B2 (en) | Bus system and data transfer method | |
CN111078614B (zh) | 一种基于fpga的功能模块 | |
EP2579164A1 (en) | Multiprocessor system, execution control method, execution control program | |
TWI586107B (zh) | Timing Error Detection and Correction Device and Its Normal Timing Design Method | |
CN111338662A (zh) | 从站的固件升级方法、固件升级装置及终端 | |
CN110968352B (zh) | 一种pcie设备的复位系统及服务器系统 | |
WO2020239944A1 (en) | An inter-integrated circuit (i2c) apparatus | |
CN114997087A (zh) | 一种时钟树的优化方法、优化装置和相关设备 | |
US11782474B2 (en) | Clock control method, apparatus, and device, and storage medium | |
CN113946480A (zh) | 一种i2c总线的检测装置和方法 | |
CN112989758A (zh) | 对多个原型验证板同步复位的方法、验证系统及存储介质 | |
CN117971753A (zh) | 一种通信方法及装置 | |
WO2019120294A1 (en) | Data-processing apparatus, data transmission method, and computing system thereof | |
CN113900975B (zh) | 一种同步fifo | |
CN116318601A (zh) | 用于高速信令互连的帧对齐恢复 | |
EP3739463B1 (en) | Circuit for asynchronous data transfer | |
EP2735927A2 (en) | Data processing apparatus and method in PLC system | |
US20220269642A1 (en) | Method and apparatus for eliminating glitch, and state machine | |
CN115221082A (zh) | 一种数据缓存方法、装置及存储介质 | |
JP6595868B2 (ja) | 情報処理システム、デバイス、インタフェース制御方法 | |
Wu et al. | An OCP-AHB bus wrapper with built-in ICE support for SOC integration | |
CN115800992B (zh) | 一种握手信号的拆分电路、方法、装置、设备及存储介质 | |
KR101454802B1 (ko) | 비동기식 파이프라인 시스템, 스테이지 및 데이터 전송 방법 | |
CN110781118B (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 |