一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种时钟同步、验证电路器件的方法和路由器与流程

2022-07-13 15:34:12 来源:中国专利 TAG:


1.本公开涉及通信技术领域,尤其涉及一种时钟同步、验证电路器件的方法和路由器。


背景技术:

2.x86服务器架构的cpu一般都具有比较多的外设接口,如pcie,usb,spi,lpc,sata,以太网口等,可支持丰富的外部设备。在具有高密高复杂特性的运营商骨干网级别路由器的单板上,由于功能复杂外设众多,往往会采用多颗cpld作为黏合逻辑,对单板的外设进行管理和监测。同时,将收集到的信息统一上送到cpu进行处理。cpu和cpld之间的通信一般采用并行localbus总线实现。但x86cpu不具有localbus总线,这就需要采用一颗cpld作为专用的译码cpld(可称作sys_cpld,即系统cpld),将cpu的lpc总线在sys_cpld内部做译码操作转化成localbus总线,与下游众多的外围cpld(即业务cpld)进行localbus通信。


技术实现要素:

3.本公开提供了一种时钟同步、验证电路器件的方法和路由器,可以保证系统cpld与业务cpld的时钟同步。
4.本公开实施例提供了一种时钟同步的方法,该方法包括:
5.获取cpu发出的第一时钟信号;
6.通过时钟缓冲器buffer将第一时钟信号发送给系统复杂可编程逻辑器件cpld和业务复杂可编程逻辑器件cpld;
7.其中,所述系统复杂可编程逻辑器件cpld用于执行lpc总线到各业务cpld的localbus总线译码。
8.通过该方法,可以保证系统cpld与业务cpld的时钟同步。
9.本公开实施例还提供了一种验证电路器件的方法,所述电路器件包括cpu、系统cpld、业务cpld和时钟缓冲器buffer,所述cpu通过时钟缓冲器buffer将时钟信号发送给系统cpld和业务cpld,其中,所述系统cpld用于执行lpc总线到各业务cpld的localbus总线译码;
10.获取业务cpld相对于系统cpld从时钟缓冲器buffer获取时钟信号的时钟时延差异信息;
11.获取业务cpld接收系统cpld发送的数据信号的数据走线时延信息;
12.判断时钟时延差异信息、数据走线时延信息、时钟输出时延tco和时钟建立时间tsu的和是否小于时钟周期;
13.若小于时钟周期则确定该电路器件满足总线通信需求,若大于时钟周期则确定该电路器件不满足总线通信需求。
14.通过该方法可以指导pcb开发的布线设计,以满足总线通信的要求。
15.其中,所述获取业务cpld相对于系统cpld从时钟缓冲器buffer获取时钟信号的时
钟时延差异信息,包括:
16.获取业务cpld相对于系统cpld从时钟缓冲器buffer获取时钟信号pcb走线时延差异,以及时钟缓冲器buffer输出时钟信号的相位偏差;
17.根据所述时钟信号pcb走线时延差异和所述时钟信号的相位偏差确定时钟信号的时钟时延差异信息。
18.其中,所述获取业务cpld接收系统cpld发送的数据信号的数据走线时延信息,包括:
19.获取业务cpld接收系统cpld发送的数据信号的pcb数据走线时延信息,将pcb数据走线时延信息作为数据走线时延信息。
20.本公开实施例还提供了一种电路器件,该电路包括cpu、系统cpld、业务cpld和时钟缓冲器buffer,其中,所述系统cpld用于执行lpc总线到各业务cpld的localbus总线译码;
21.所述时钟缓冲器buffer一端与cpu连接另一端分别与系统cpld和业务cpld连接;
22.获取cpu发送的第一时钟信号;
23.通过时钟缓冲器buffer将第一时钟信号发送给系统复杂可编程逻辑器件cpld和业务复杂可编程逻辑器件cpld。
24.本公开实施例还提供了一种电路器件,所述电路器件包括cpu、系统cpld、业务cpld和时钟缓冲器buffer,所述cpu通过时钟缓冲器buffer将时钟信号发送给系统cpld和业务cpld,其中,所述系统cpld用于执行lpc总线到各业务cpld的localbus总线译码,所述电路器件还包括:
25.获取模块,用于获取业务cpld相对于系统cpld从时钟缓冲器buffer获取时钟信号的时钟时延差异信息;
26.所述获取模块,还用于获取业务cpld接收系统cpld发送的数据信号的数据走线时延信息;
27.判断模块,用于判断时钟时延差异信息、数据走线时延信息、时钟输出时延tco和时钟建立时间tsu的和是否小于时钟周期;
28.所述判断模块,还用于判断若小于时钟周期则确定该电路器件满足总线通信需求,若大于时钟周期则确定该电路器件不满足总线通信需求。
29.其中,所述获取模块,具体用于获取业务cpld相对于系统cpld从时钟缓冲器buffer获取时钟信号pcb走线时延差异,以及时钟缓冲器buffer输出时钟信号的相位偏差;
30.根据所述时钟信号pcb走线时延差异和所述时钟信号的相位偏差确定时钟信号的时钟时延差异信息。
31.其中,所述获取模块,具体用于获取业务cpld接收系统cpld发送的数据信号的pcb数据走线时延信息,将pcb数据走线时延信息作为数据走线时延信息。
32.本公开实施例还提供了一种路由器,所述路由器中配置有上述任一实施例中的电路器件。
33.本公开实施例还提供了一种路由器,所述路由器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现上述任一实施例中的方法步骤。
附图说明
34.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
35.图1为本公开实施例提供的一种电路器件的逻辑示意图。
36.图2为本公开实施例提供的一种时钟同步的方法的流程示意图。
37.图3为本公开实施例提供的一种电路器件的逻辑示意图。
38.图4为本公开实施例提供的一种验证电路器件的方法的流程示意图。
具体实施方式
39.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
40.在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
41.应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
42.在本实施例中,lpc总线包括:地址数据复用信号lad[3:0],总线33mhz时钟lclk等信号。当使用lpc进行通信时,cpu发出lclk时钟信号对sys_cpld设备进行同步。sys_cpld内部使用lclk作为参考时钟,进行lpc-localbus译码操作。
[0043]
如图1所示,在一种实施例中,sys_cpld在接收到cpu发送过来的lpc信号并译码成localbus总线后,将localbus的地址信号address[11:0]和数据信号[7:0]同时发送给下游的n个外围cpld,这些外围cpld每个都有自己独立的时钟源,通常为25mhz晶振。作为采样localbus信号的参考时钟。
[0044]
在该实施例中,sys_cpld完成了由cpu的lpc总线到下游cpld的localbus总线的译码。但是由于lpc的时钟lclk和下游cpld的时钟晶振不是同源时钟,且频率不一致,很容易出现在总线通信过程中由于时钟沿无法对齐,而导致数据信号采样错误等通信故障。同时由于localbus到各下游cpld的走线不等长,数据信号传输到各个cpld的时间也不一致,更容易出现数据信号不满足建立保持时间而导致出错的现象。
[0045]
为了解决上述技术问题,本公开实施例提供了一种时钟同步的方法,如图2所示,该方法包括:
[0046]
s201获取cpu发出的第一时钟信号;
[0047]
s202通过时钟缓冲器将第一时钟信号发送给系统复杂可编程逻辑器件cpld和业务复杂可编程逻辑器件cpld;
[0048]
其中,所述系统复杂可编程逻辑器件cpld用于执行lpc总线到各业务cpld的localbus总线译码。
[0049]
结合图3所示,cpu(即x86cpu)通过时钟缓冲器buffer(后简称clockbuffer或buffer)分别与系统cpld和各业务cpld连接,buffer从cpu接收第一时钟信号,并行发送给系统cpld和各业务cpld。
[0050]
也就是说,通过buffer将一路输入时钟信号复制成多路相同的时钟信号输出给系统cpld和各业务cpld,作为系统cpld和各业务cpld的逻辑参考时钟,使得系统cpld和各业务cpld拥有相同频率的同源时钟,在频率上保证了时钟沿对齐的可能性。
[0051]
发明人在进行相关实验中发现,为了避免总线通信异常的问题,在设计电路器件时,要满足器件的数据建立时间和保持时间。建立时间是指在触发器的时钟信号上升沿到达之前,数据稳定不变的时间,如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器;保持时间是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据同样不能被打入触发器。
[0052]
要保证时钟同步,除了频率同步,还需要时钟相位的同步。即保证数据信号到达各cpld(业务cpld和系统cpld)时满足建立时间的要求。由于板上器件布局布线情况存在差异,导致时钟缓冲器buffer的各个输出时钟到各个cpld的走线长度不一致;且localbus总线到各业务cpld的走线长度也不一致。而且由于器件内部制造工艺等原因,时钟缓冲器buffer各个输出时钟的相位也不能保持一致。因此各clk时钟沿到各cpld的时刻并不能保证相同。为了保证各个业务cpld的localbus总线通信正常,需要设计出一种验证pcb走线长度的方法,以实现时钟相位的同步,进而满足localbus通信的建立时间保持时间要求。
[0053]
基于上述说述,本公开实施例还提供了一种验证电路器件的方法,如图4所示,所述电路器件包括cpu、系统cpld、业务cpld和时钟缓冲器buffer,所述cpu通过时钟缓冲器buffer将时钟信号发送给系统cpld和业务cpld,其中,所述系统cpld用于执行lpc总线到各业务cpld的localbus总线译码;
[0054]
s401获取业务cpld相对于系统cpld从时钟缓冲器buffer获取时钟信号的时钟时延差异信息;
[0055]
s402获取业务cpld接收系统cpld发送的数据信号的数据走线时延信息;
[0056]
s403判断时钟时延差异信息、数据走线时延信息、时钟输出时延tco和时钟建立时间tsu的和是否小于时钟周期;
[0057]
s404若小于时钟周期则确定该电路器件满足总线通信需求,若大于时钟周期则确定该电路器件不满足总线通信需求。
[0058]
在本实施例中,所述获取业务cpld相对于系统cpld从时钟缓冲器buffer获取时钟信号的时钟时延差异信息,包括:
[0059]
获取业务cpld相对于系统cpld从时钟缓冲器buffer获取时钟信号pcb走线时延差异,以及时钟缓冲器buffer输出时钟信号的相位偏差;
[0060]
根据所述时钟信号pcb走线时延差异和所述时钟信号的相位偏差确定时钟信号的时钟时延差异信息。
[0061]
在步骤s401中,时钟时延差异信息=a1(各时钟pcb走线时延差异) a2(时钟buffer各输出相位偏差)。为了便于说明,本实施例中设定时钟为33m时钟(此处不限制只用
33m时钟信号,其它频率的时钟信号依然适用)。
[0062]
即,时钟时延差异信息a=各33m时钟pcb走线时延差异a1 时钟buffer各输出相位偏差a2。
[0063]
在步骤s402中,数据走线时延信息b=pcb数据走线时延b1。
[0064]
为便于理解,举例进行说明。
[0065]
在本例中,从时钟buffer输出的33m时钟到达业务cpld1比到达系统cpld超前a延迟;而从系统cpld译码发出的数据信号到达业务cpld1需要经历b延迟的飞行时间。
[0066]
从系统cpld译码发出的数据信号,由于系统cpld的固有属性,要相对自身时钟上升沿延后tco的时间才能从输出端口发出。
[0067]
33m时钟的时钟周期为1/33m=30ns,从系统cpld译码发出送至业务cpld1的数据信号需要在下一个时钟上升沿之前完成建立时间的稳定。
[0068]
因此可得a tco b tsu《30ns。其中,tsu为时钟建立时间,tsu在一般的cpld手册中》0即可。
[0069]
根据上述的a=a1 a2,b=b1,以及根据a tco b tsu《30ns,可得
[0070]
a1(各33m时钟pcb走线时延差异) a2(时钟buffer各输出相位偏差) tco b1(pcb数据走线时延) tsu《30ns。
[0071]
通常,在fr4板材中pcb信号传输速率约为6inch/ns。时钟buffer各输出相位差在ps级别,因此可忽略不计。
[0072]
tco在一般的cpld手册中约为7.5ns。
[0073]
由此,最终可得a1’(各33m时钟pcb走线长度差异(inch))/6ns 7.5ns b1’(pcb数据走线长度(inch))/6ns《30ns。
[0074]
可对上述公式进行简化,得到a1’(各33m时钟pcb走线长度差异) b1’(pcb数据走线长度)《135inch。
[0075]
由此可以看出,在进行电路涉及时,可将相关参数输入上述公式中,当满足小于135inch则认为设计的电路满足系统需求,反之,大于135inch则认为设计的电路不满足系统需求。
[0076]
基于上述各实施例,本公开实施例还提供了一种电路器件,所述电路包括cpu、系统cpld、业务cpld和时钟缓冲器buffer,其中,所述系统cpld用于执行lpc总线到各业务cpld的localbus总线译码;
[0077]
所述时钟缓冲器buffer一端与cpu连接另一端分别与系统cpld和业务cpld连接;
[0078]
获取cpu发送的第一时钟信号;
[0079]
通过时钟缓冲器buffer将第一时钟信号发送给系统复杂可编程逻辑器件cpld和业务复杂可编程逻辑器件cpld。
[0080]
基于上述各实施例,本公开实施例还提供了一种电路器件,所述电路器件包括cpu、系统cpld、业务cpld和时钟缓冲器buffer,所述cpu通过时钟缓冲器buffer将时钟信号发送给系统cpld和业务cpld,其中,所述系统cpld用于执行lpc总线到各业务cpld的localbus总线译码,所述电路器件还包括:
[0081]
获取模块,用于获取业务cpld相对于系统cpld从时钟缓冲器buffer获取时钟信号的时钟时延差异信息;
[0082]
所述获取模块,还用于获取业务cpld接收系统cpld发送的数据信号的数据走线时延信息;
[0083]
判断模块,用于判断时钟时延差异信息、数据走线时延信息、时钟输出时延tco和时钟建立时间tsu的和是否小于时钟周期;
[0084]
所述判断模块,还用于判断若小于时钟周期则确定该电路器件满足总线通信需求,若大于时钟周期则确定该电路器件不满足总线通信需求。
[0085]
所述获取模块,具体用于获取业务cpld相对于系统cpld从时钟缓冲器buffer获取时钟信号pcb走线时延差异,以及时钟缓冲器buffer输出时钟信号的相位偏差;
[0086]
根据所述时钟信号pcb走线时延差异和所述时钟信号的相位偏差确定时钟信号的时钟时延差异信息。
[0087]
所述获取模块,具体用于获取业务cpld接收系统cpld发送的数据信号的pcb数据走线时延信息,将pcb数据走线时延信息作为数据走线时延信息。
[0088]
本公开实施例还提供了一种路由器,所述路由器包括上述任一实施例中所述的电路器件。
[0089]
本公开实施例还提供了一种路由器,所述路由器包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现上述任一实施例中的方法步骤。
[0090]
在本实施例中,该路由器可以为x86服务器。
[0091]
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0092]
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
[0093]
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
[0094]
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献