本公开涉及总线,尤其涉及一种时钟同步方法、系统、组件、设备。
背景技术:
1、片上系统(system on chip,soc)内部总线的互联协议有高级可扩展接口(advanced extensible interface,axi)协议、i2c(inter integrated circuit)总线、i3c(improved inter integrated circuit)等。主模块芯片(master die)和各个从模块芯片(slave die)之间通过总线连接。目前芯粒(chiplet)技术在soc技术中的应用正在变得越来越普遍,但是小芯片(主模块和各个从模块)之间的时钟往往是不同步的,小芯片之间除了数据通信以外他们还有时钟同步的需求。
技术实现思路
1、本公开的目的是提供一种时钟同步方法、系统、组件、设备,解决了现有技术中主模块和各个从模块的时钟不同步的技术问题。
2、根据本公开的一个方面,提供一种时钟同步方法,应用于总线系统的从模块,包括:
3、响应于接收到主模块发送的第一消息,向主模块发送第二消息并开始计时;
4、响应于接收到主模块发送的第三消息,停止计时;其中,第三消息是主模块在接收到第二消息后间隔第一预设时长发出的;
5、将当前的计时时长与第一预设时长的差值除以2,得到主模块与从模块之间的传输延时;
6、根据传输延时,对主模块与从模块进行时钟同步。
7、在一些实施例中,上述时钟同步方法中,根据传输延时,对主模块与从模块进行时钟同步,包括:
8、根据传输延时,向主模块发送对应的第四消息;其中,第四消息携带传输延时;
9、接收主模块发送的第五消息;其中,第五消息是主模块在接收到第四消息后,根据传输延时生成的,第五消息携带第二预设时长,第二预设时长与传输延时的和等于指定值;
10、在接收到主模块发送的第五消息后间隔第二预设时长的时间,重启从模块的从时钟;
11、其中,从时钟和主模块的主时钟同时重启。
12、在一些实施例中,上述时钟同步方法中,总线系统包括至少两个从模块,各个从模块按照上述的方法重启对应的从时钟,以使各个从模块的从时钟同时重启。
13、在一些实施例中,上述时钟同步方法中,总线系统包括至少两个从模块,各个从模块对应的指定值相同,且各个从模块对应的第五消息是主模块同时发出的。
14、在一些实施例中,上述时钟同步方法中,根据传输延时,向主模块发送对应的第四消息之前,上述方法还包括:
15、向主模块发送第一中断消息,以触发主模块返回第六消息;
16、根据传输延时,向主模块发送对应的第四消息,包括:
17、响应于接收到第六消息,根据传输延时,向主模块发送对应的第四消息。
18、在一些实施例中,上述时钟同步方法中,上述方法还包括:
19、响应于接收到主模块发送的第七消息,向主模块发送第八消息;其中,第八消息携带从模块接收到第七消息时从时钟的时间值,用于实现主模块根据其发出第七消息时主时钟的时间值、从模块接收到第七消息时从时钟的时间值以及传输延时,确认主时钟和从时钟是否同步;或,第八消息携带从模块发出第八消息时从时钟的时间值,用于实现主模块根据其接收到第八消息时主时钟的时间值、从模块发出第八消息时从时钟的时间值以及传输延时,确认主时钟和从时钟是否同步。
20、在一些实施例中,上述时钟同步方法中,响应于接收到主模块发送的第七消息,向主模块发送第八消息之前,还包括:
21、响应于接收到主模块发送的第九消息,向主模块发送第二中断消息,以触发主模块返回第七消息。
22、在一些实施例中,上述时钟同步方法中,总线系统包括至少两个从模块,任意两个从模块发送第二中断消息的时间间隔大于第三预设时长。
23、在一些实施例中,上述时钟同步方法中,上述方法还包括:
24、接收主模块发送的第十消息,并确认从模块接收到第十消息时从时钟的时间值;其中,第十消息携带主模块发出第十消息时主时钟的时间值;
25、根据从模块接收到第十消息时从时钟的时间值、主模块发出第十消息时主时钟的时间值以及传输延时,确认主时钟和从时钟是否同步。
26、根据本公开的另一个方面,提供一种时钟同步方法,应用于总线系统的主模块,包括:
27、向从模块发送第一消息,以触发从模块开始计时以及返回第二消息;
28、在接收到第二消息后间隔第一预设时长向从模块发送第三消息,以触发从模块停止计时,从而使得从模块将当前的计时时长与第一预设时长的差值除以2,得到主模块与从模块之间的传输延时,进而根据传输延时,对主模块与从模块进行时钟同步。
29、在一些实施例中,上述时钟同步方法中,上述方法还包括:
30、接收从模块发送的第四消息,第四消息是从模块根据传输延时生成的,其中携带传输延时;
31、根据第四消息携带的传输延时,生成第五消息;其中,第五消息携带第二预设时长,第二预设时长与传输延时的和等于指定值;
32、向从模块发送第五消息,以使得从模块在接收到主模块发送的第五消息后间隔第二预设时长的时间,重启从模块的从时钟;
33、其中,从时钟和主模块的主时钟同时重启。
34、在一些实施例中,上述时钟同步方法中,总线系统包括至少两个从模块,主模块按照上述的方法使得各个从模块重启对应的从时钟,以使各个从模块的从时钟同时重启。
35、在一些实施例中,上述时钟同步方法中,总线系统包括至少两个从模块,各个从模块对应的指定值相同;
36、各个从模块对应的第五消息是主模块同时发出的。
37、在一些实施例中,上述时钟同步方法中,接收从模块发送的第四消息之前,上述方法还包括:
38、响应于接收到从模块发送的第一中断消息,向从模块发送第六消息,以触发从模块返回第四消息。
39、在一些实施例中,上述时钟同步方法中,上述方法还包括:
40、向从模块发送第七消息,以触发从模块返回第八消息;其中,第八消息携带从模块接收到第七消息时从时钟的时间值;根据主模块发出第七消息时主时钟的时间值、从模块接收到第七消息时从时钟的时间值以及传输延时,确认主时钟和从时钟是否同步;或,
41、向从模块发送第七消息,以触发从模块返回第八消息;其中,第八消息携带从模块发出第八消息时从时钟的时间值;根据主模块接收到第八消息时主时钟的时间值、从模块发出第八消息时从时钟的时间值以及传输延时,确认主时钟和从时钟是否同步。
42、在一些实施例中,上述时钟同步方法中,向从模块发送第七消息之前,还包括:
43、向从模块发送第九消息,以触发从模块返回第二中断消息;
44、向从模块发送第七消息,包括:
45、响应于接收到从模块发送的第二中断消息,向从模块发送第七消息。
46、在一些实施例中,上述时钟同步方法中,总线系统包括至少两个从模块,任意两个从模块发送第二中断消息的时间间隔大于第三预设时长。
47、在一些实施例中,上述时钟同步方法中,上述方法还包括:
48、向从模块发送第十消息,以触发从模块确认其接收到第十消息时从时钟的时间值;其中,第十消息携带主模块发出第十消息时主时钟的时间值,以使得从模块根据其接收到第十消息时从时钟的时间值、主模块发出第十消息时主时钟的时间值以及传输延时,确认主时钟和从时钟是否同步。
49、根据本公开的另一方面,提供一种总线系统,包括:
50、总线;
51、从模块,被配置为实现上述任一实施例所述的应用于从模块的时钟同步方法;
52、主模块,被配置为实现上述任一实施例所述的应用于主模块的时钟同步方法。
53、根据本公开的另一方面,提供一种电子组件,包括上述任一实施例所述的总线系统。
54、根据本公开的另一方面,提供一种电子设备,包括上述任一实施例所述的电子组件。