调整时序的方法和通信系统与流程

文档序号:32164827发布日期:2022-11-12 03:59阅读:93来源:国知局
调整时序的方法和通信系统与流程

1.本技术实施例涉及计算机通信领域,尤其涉及一种调整时序的方法和通信系统。


背景技术:

2.在基于spi(serial peripheral interface,串行外设接口)协议的通信系统中,主机读取从机上的数据时,从机通常在一个spi时钟周期的下降沿将数据放上数据线,主机通常在同一个spi时钟周期的上升沿去数据线上读取该数据。
3.因此,主机读取数据的时刻与从机在数据线上放置数据的时刻之间相差半个spi时钟周期。当spi时钟频率较高且从机和主机之间的信号延时较大时,主机可能无法在预定时刻读取到数据。


技术实现要素:

4.本技术实施例提供了一种调整时序的方法,包括:判断第一通信模块向第二通信模块发送的数据信号的路径延时是否大于或等于第一阈值;当所述路径延时大于或等于第一阈值时,所述第一通信模块延迟第一时长发送数据信号,所述第二通信模块延迟第二时长接收所述数据信号;其中,所述第一阈值是第二通信模块接收数据的第二预定时刻与第一通信模块发送数据的第一预定时刻之间的时间差。
5.本技术实施例提供了一种调整时序的通信系统,包括:第一通信模块,配置为当第一通信模块向第二通信模块发送的数据信号的路径延时大于或等于第一阈值时,延迟第一时长发送数据信号;第二通信模块,配置为判断第一通信模块向第二通信模块发送的数据信号的路径延时是否大于或等于第一阈值;当所述路径延时大于或等于第一阈值时,延迟第二时长接收所述数据信号;其中,所述第一阈值是第二通信模块接收数据的第二预定时刻与第一通信模块发送数据的第一预定时刻之间的时间差。
6.本技术实施例提供的调整时序的方法和通信系统,判断第一通信模块向第二通信模块发送的数据信号的路径延时是否大于或等于第一阈值;当所述路径延时大于或等于第一阈值时,所述第一通信模块延迟第一时长发送数据信号,所述第二通信模块延迟第二时长接收所述数据信号。上述实施例提供的调整时序的方法和通信系统能够避免时钟频率升高对通信数据接收的不利影响。
7.在阅读并理解了附图和详细描述后,可以明白其他方面。
附图说明
8.附图用来提供对本技术技术方案的理解,并且构成说明书的一部分,与本技术实
施例一起用于解释本技术的技术方案,并不构成对本技术技术方案的限制。
9.图1为本技术实施例的一种调整时序的方法流程图;图2为本技术实施例的一种调整时序前后的时序对比示意图;图3为本技术实施例的一种确定第一时长和第二时长的方法流程图;图4为本技术实施例的一种调整时序的通信系统的结构示意图。
具体实施方式
10.本技术描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本技术所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
11.本技术包括并设想了与本领域普通技术人员已知的特征和元件的组合。本技术已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由所附权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由所附权利要求限定的独特的发明方案。因此,应当理解,在本技术中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
12.本技术实施例提供了一种调整时序的方法。如图1所示,一种调整时序的方法,包括:步骤s10,判断第一通信模块向第二通信模块发送的数据信号的路径延时是否大于或等于第一阈值;步骤s20,当所述路径延时大于或等于第一阈值时,所述第一通信模块延迟第一时长发送数据信号,所述第二通信模块延迟第二时长接收所述数据信号;其中,所述第一阈值是第二通信模块接收数据的第二预定时刻与第一通信模块发送数据的第一预定时刻之间的时间差。
13.本技术实施例提供的调整时序的方法,判断第一通信模块向第二通信模块发送的数据信号的路径延时是否大于或等于第一阈值;当所述路径延时大于或等于第一阈值时,所述第一通信模块延迟第一时长发送数据信号,所述第二通信模块延迟第二时长接收所述数据信号。上述实施例提供的调整时序的方法能够避免时钟频率升高对通信数据接收的不利影响。
14.在一些示例性的实施方式中,判断第一通信模块向第二通信模块发送的数据信号的路径延时是否大于或等于第一阈值,包括:第一通信模块在第一预定时刻发送数据,第二通信模块在第二预定时刻接收数据;如果所述第二通信模块成功接收到数据,则判定第一通信模块向第二通信模块发送的数据信号的路径延时小于第一阈值;
如果所述第二通信模块未接收到数据,则判定第一通信模块向第二通信模块发送的数据信号的路径延时大于或等于第一阈值。
15.在一些示例性的实施方式中,所述第一通信模块和第二通信模块基于串行外设接口spi协议进行通信;第一通信模块工作在从机模式,第二通信模块工作在主机模式。在其他的实施方式中,所述第一通信模块和第二通信模块也可以基于其他的通信协议进行通信。
16.在一些示例性的实施方式中,所述第一阈值是spi时钟信号的半个周期。
17.在一些示例性的实施方式中,所述第一预定时刻是spi时钟信号的下降沿,所述第二预定时刻是spi时钟信号的上升沿,所述第二预定时刻比所述第一预定时刻晚spi时钟信号的半个周期。
18.在一些示例性的实施方式中,第一时长t1是第一系统时钟信号的周期tck1的b倍:t1=b*tck1;其中,b为正整数;第一系统时钟信号是第一通信模块的系统时钟信号。
19.在一些示例性的实施方式中,第二时长t2是第一通信模块和第二通信模块之间通信用的参考时钟信号的周期tck_ref的a倍:t2==a*tck_ref;a为正整数;tck1《tck_ref。
20.如图2所示,现有技术中第一通信模块和第二通信模块基于spi协议进行通信。第一通信模块工作在从机模式,第二通信模块工作在主机模式。第二通信模块希望读取第一通信模块上的数据。第二通信模块使能第一通信模块的片选信号cs(低电平有效),然后在mosi(主机输出从机输入)线上向第一通信模块发送控制命令c0和c1,接着发送读地址a0-a7。在整个通信过程中,第二通信模块还向第一通信模块发送通信用的参考时钟信号,也即spi时钟信号(sck)。第一通信模块接收到读地址信号后,在地址信号发送完成后的第一个spi时钟信号周期内发送第一个数据d0,第一通信模块发送数据d0的第一预定时刻ty1为spi时钟信号的下降沿,第一通信模块在spi时钟信号的下降沿将数据放在miso(主机输入从机输出)线上。第二通信模块在同一个spi时钟信号周期内接收数据,第二通信模块接收数据的第二预定时刻ty2为spi时钟信号的上升沿,第二通信模块在spi时钟信号的上升沿从miso线上接收数据d0。
21.假设spi时钟信号的周期tck_ref是第一系统时钟信号的周期tck1的10倍,也即tck_ref=10tck1,第一阈值t0是第二通信模块接收数据的第二预定时刻ty2与第一通信模块发送数据的第一预定时刻ty1之间的时间差,第一阈值t0是半个spi时钟信号周期:t0=1/2tck_ref。假设路径延时ts=0.8tck_ref,由于路径延时ts大于半个spi时钟信号周期,因此第二通信模块在第二预定时刻ty2无法接收到第一通信模块发送的第一个数据d0。
22.如图2所示,采用本技术实施例的调整时序的方法后,第二通信模块延迟第二时长t2接收所述数据信号, t2等于一个spi时钟信号周期,第二延时时刻t2=ty2+t2,第二通信模块在地址信号发送完成后的第二个spi时钟信号周期内,在spi时钟信号的上升沿从miso线接收数据。
23.第一通信模块接收到读地址信号后,延迟第一时长t1发送数据信号,第一通信模块在第一延时时刻t1将数据放在miso线上,t1=ty1+t1。因为t2=ts+t1,t2=tck_ref,ts=0.8tck_ref,所以t1=0.2tck_ref=2tck1。
24.采用本技术实施例的调整时序的方法后,第一通信模块延迟2个第一系统时钟周期发送数据,第二通信模块延迟1个spi时钟信号周期接收数据。如果第一通信模块向第二
通信模块发送的数据信号的路径延时更大,或者spi时钟信号周期变短,则第二通信模块可以通过延迟更多的spi时钟信号周期保障正确接收到数据。
25.在一些示例性的实施方式中,所述方法还包括:改变a和b的取值不断测试第二通信模块是否能够成功接收到第一通信模块延迟发送的数据,根据测试结果确定第一时长和第二时长。
26.在一些示例性的实施方式中,如图3所示,所述改变a和b的取值不断测试第二通信模块是否能够成功接收到第一通信模块延迟发送的数据,根据测试结果确定第一时长和第二时长,包括执行以下步骤a-g:步骤a:初始化正整数a和b:设置a=1;b=1;步骤b:第二通信模块向第一通信模块发送读地址信号,第一通信模块延迟b个第一系统时钟周期发送数据,第二通信模块延迟a个参考信号时钟周期tck_ref接收数据;步骤c:判断第二通信模块是否成功接收到数据,是则执行步骤g,否则执行步骤d;步骤d:判断b是否大于或等于最大值max_b,是则执行步骤f,否则执行步骤e;其中,最大值max_b=tck_ref/tck1;步骤e:b增加1,转到步骤b;步骤f:a增加1,设置b=1,转到步骤b;步骤g:将第一时长t1设置为b个第一系统时钟周期:t1=b*tck1;将第二时长t2设置为a个参考信号时钟周期:t2=a*tck_ref;结束。
27.本技术实施例提供了一种调整时序的通信系统。如图4所示,一种调整时序的通信系统,包括:第一通信模块100,配置为当第一通信模块向第二通信模块发送的数据信号的路径延时大于或等于第一阈值时,延迟第一时长发送数据信号;第二通信模块200,配置为判断第一通信模块向第二通信模块发送的数据信号的路径延时是否大于或等于第一阈值;当所述路径延时大于或等于第一阈值时,延迟第二时长接收所述数据信号;其中,所述第一阈值是第二通信模块接收数据的第二预定时刻与第一通信模块发送数据的第一预定时刻之间的时间差。
28.本技术实施例提供的调整时序的通信系统包括第一通信模块和第二通信模块,第二通信模块判断第一通信模块向第二通信模块发送的数据信号的路径延时是否大于或等于第一阈值;当所述路径延时大于或等于第一阈值时,第二通信模块延迟第二时长接收所述数据信号,第一通信模块延迟第一时长发送数据信号。上述实施例提供的调整时序的通信系统能够避免时钟频率升高对通信数据接收的不利影响。
29.在一些示例性的实施方式中,第二通信模块,配置为采用以下方式判断第一通信模块向第二通信模块发送的数据信号的路径延时是否大于或等于第一阈值:第二通信模块在第二预定时刻接收第一通信模块在第一预定时刻发送的数据;如果所述第二通信模块成功接收到数据,则判定第一通信模块向第二通信模块发送的数据信号的路径延时小于第一阈值;如果所述第二通信模块未接收到数据,则判定第一通信模块向第二通信模块发送的数据信号的路径延时大于或等于第一阈值。
30.在一些示例性的实施方式中,所述第一通信模块和第二通信模块基于串行外设接口spi协议进行通信;第一通信模块工作在从机模式,第二通信模块工作在主机模式。在其他的实施方式中,所述第一通信模块和第二通信模块也可以基于其他的通信协议进行通信。
31.在一些示例性的实施方式中,所述第一阈值是spi时钟信号的半个周期。
32.在一些示例性的实施方式中,所述第一预定时刻是spi时钟信号的下降沿,所述第二预定时刻是spi时钟信号的上升沿,所述第二预定时刻比所述第一预定时刻晚spi时钟信号的半个周期。
33.在一些示例性的实施方式中,第一时长t1是第一系统时钟信号的周期tck1的b倍:t1=b*tck1;其中,b为正整数;第一系统时钟信号是第一通信模块的系统时钟信号。
34.在一些示例性的实施方式中,第二时长t2是第一通信模块和第二通信模块之间通信用的参考时钟信号的周期tck_ref的a倍:t2==a*tck_ref;a为正整数;tck1《tck_ref。
35.在一些示例性的实施方式中,第一时长和第二时长是通过改变a和b的取值不断测试第二通信模块是否能够成功接收到第一通信模块延迟发送的数据,根据测试结果确定的。
36.本领域普通技术人员可以理解,上文中所公开的装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1