会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利分类库 / 基本电子电路 / 一种跨时钟域处理电路

一种跨时钟域处理电路

申请号 CN201880098603.6 申请日 2018-12-29 公开(公告)号 CN112840571B 公开(公告)日 2024-04-23
申请人 华为技术有限公司; 发明人 白玉晶; 刘旭辉;
摘要 一种跨时钟域处理 电路 ,用于以较低的延时实现数据在异步时钟域之间的处理。该跨时钟域处理电路包括 相位 对齐电路(330)和同步电路(340),其中相位对齐电路(330)用于根据输入数据恢复出的、包含输入数据时钟的相位变化信息的控制 信号 来调整来自本地的工作时钟的相位,使得该工作时钟与输入数据时钟相位对齐,并将上述输入数据时钟和工作时钟作为同步电路的时钟以同步上述输入数据。以输入数据时钟恢复出的 控制信号 来调整本地的工作时钟的相位,使得输入数据时钟和调整后的工作时钟可以以较低的延迟同步输入数据,使得数据经过跨时钟域处理电路的时延变小。
权利要求

1.一种跨时钟域处理电路,用于对接收的输入数据进行跨时钟域处理,其特征在于,所述跨时钟域处理电路包括相位对齐电路和同步电路,其中:
所述相位对齐电路用于接收输入数据时钟和第一工作时钟,根据第一控制信号调整所述第一工作时钟的相位,将相位调整后的所述第一工作时钟作为输出数据时钟输出至所述同步电路,所述输出数据时钟的相位与所述输入数据时钟的相位对齐,所述输入数据时钟为根据所述输入数据恢复出的时钟,所述第一工作时钟为所述跨时钟域处理电路的工作时钟,且所述第一工作时钟的频率与所述输入数据时钟的频率相等,所述第一控制信号为根据所述输入数据恢复出的控制信号,所述第一控制信号包括所述输入数据时钟的相位变化信息;
所述同步电路用于根据所述输入数据时钟和所述输出数据时钟,对所述输入数据进行跨时钟域同步,以产生同步数据,所述同步数据处于所述输出数据时钟的时钟域。
2.如权利要求1所述的跨时钟域处理电路,其特征在于,所述相位对齐电路包括鉴相器、数字滤波器和相位插值器,其中:
所述鉴相器用于对所述输入数据时钟和所述输出数据时钟进行鉴相,并输出鉴相结果;
所述数字滤波器用于对所述鉴相结果和所述第一控制信号进行滤抖,并将滤抖后的结果作为第二控制信号输出至所述相位插值器;
所述相位插值器用于根据所述第二控制信号调整所述第一工作时钟的相位,使得所述第一工作时钟的相位与所述输入数据时钟的相位对齐,并将相位调整后的所述第一工作时钟作为所述输出数据时钟输出至所述同步电路和所述鉴相器。
3.如权利要求2所述的跨时钟域处理电路,其特征在于,所述相位插值器进一步用于:
根据所述第一工作时钟产生第二中间时钟,所述第一工作时钟与所述第二中间时钟的相位差为预设的相位差;
根据所述第二控制信号调整所述第一工作时钟和所述第二中间时钟的相位,使得所述输入数据时钟的相位超前于所述第一工作时钟的相位且落后于所述第二中间时钟的相位;
所述鉴相器进一步用于:
对所述输出数据时钟、所述第二中间时钟和所述输入数据时钟进行鉴相,确定所述输出数据时钟、所述第二中间时钟和所述输入数据时钟的相位关系,以输出所述鉴相结果。
4.如权利要求3所述的跨时钟域处理电路,其特征在于,所述相位插值器进一步用于:
当所述输入数据时钟的相位超前于所述第一工作时钟的相位且落后于所述第二中间时钟的相位时,所述第二控制信号用于指示所述相位插值器保持所述第一工作时钟和所述第二中间时钟的相位;
当所述输入数据时钟的相位落后于所述第一工作时钟的相位且落后于所述第二中间时钟的相位,所述第二控制信号用于指示所述相位插值器调整所述第一工作时钟和所述第二中间时钟的相位,以使得所述输入数据时钟的相位超前于所述第一工作时钟的相位且落后与所述第二中间时钟的相位;
当所述输入数据时钟的相位超前于所述第一工作时钟的相位且超前于所述第二中间时钟的相位,所述第二控制信号处于用于指示所述相位插值器调整所述第一工作时钟和所述第二中间时钟的相位,以使得所述输入数据时钟的相位超前于所述第一工作时钟的相位且落后与所述第二中间时钟的相位。
5.如权利要求2至4任意一项所述的跨时钟域处理电路,其特征在于,所述数字滤波器对所述第一控制信号和所述鉴相结果的滤抖为高频滤抖,其中滤抖后的所述第一控制信号包括与所述输入数据时钟的低频抖动相对应的相位变化信息。
6.如权利要求5所述的跨时钟域处理电路,其特征在于,所述相位变化信息包括独立时钟扩频信息、独立时钟非扩频信息或同源时钟信息。
7.如权利要求1至4、6任意一项所述的跨时钟域处理电路,其特征在于,所述跨时钟域处理电路还包括第一时钟电路,所述第一时钟电路用于向所述相位对齐电路提供所述第一工作时钟。
8.如权利要求1至4、6任意一项所述的跨时钟域处理电路,其特征在于,所述跨时钟域处理电路还包括时钟恢复电路,其中:
所述时钟恢复电路用于接收所述输入数据,恢复所述输入数据中的时钟,以得到所述输入数据时钟和所述第一控制信号,并输出所述输入数据、所述输入数据时钟和所述第一控制信号。
9.如权利要求1至4、6任意一项所述的跨时钟域处理电路,其特征在于,所述同步电路包括第一子同步电路和第二子同步电路,其中:
所述第一子同步电路用于根据所述输入数据时钟同步所述输入数据,得到第一临时数据;
所述第二子同步电路用于根据所述输出数据时钟同步所述第一临时数据,得到所述同步数据。
10.如权利要求9所述的跨时钟域处理电路,其特征在于,所述第一子同步电路和所述第二子同步电路为寄存器,其中所述第一子同步电路的第一工作时钟为所述输入数据时钟,所述第二子同步电路的第一工作时钟为所述输出数据时钟。
11.如权利要求1至4、6、10任意一项所述的跨时钟域处理电路,其特征在于,所述输入数据为串行数据,其中:
所述跨时钟域处理电路还包括串转并电路,所述串转并电路用于将所述输入数据进行串并转换,并输出转换后的所述输入数据至所述同步电路。
12.一种重定时器,用于对传输链路中的N路输入数据进行中继,其特征在于,所述重定时器包括:相位对齐电路和N个同步电路,所述N≥1且N为正整数,其中:
所述相位对齐电路用于接收输入数据时钟和第一工作时钟,根据第一控制信号调整所述第一工作时钟的相位,将相位调整后的所述第一工作时钟作为输出数据时钟输出至所述N个同步电路,所述输出数据时钟的相位与所述输入数据时钟的相位对齐,所述输入数据时钟为根据所述N路输入数据恢复出的N个恢复数据时钟中的一个恢复数据时钟,所述第一工作时钟为所述重定时器的工作时钟,且所述第一工作时钟的频率与所述输入数据时钟的频率相等,所述第一控制信号为根据所述N路输入数据恢复出的N个控制信号中的一个控制信号,所述第一控制信号包括所述输入数据时钟的相位变化信息;
所述N个同步电路中的每个同步电路用于根据所述输入数据时钟和所述输出数据时钟,对所述N路输入数据中的每路输入数据进行跨时钟域同步,以产生N路同步数据中的一路同步数据,所述N路同步数据处于所述输出数据时钟的时钟域。
13.如权利要求12所述的重定时器,其特征在于,所述相位对齐电路包括鉴相器、数字滤波器和相位插值器,其中:
所述鉴相器用于对所述输入数据时钟和所述输出数据时钟进行鉴相,并输出鉴相结果;
所述数字滤波器用于对所述鉴相结果和所述第一控制信号进行滤抖,并将滤抖后的结果作为第二控制信号输出至所述相位插值器;
所述相位插值器用于根据所述第二控制信号调整所述第一工作时钟的相位,使得所述第一工作时钟的相位与所述输入数据时钟的相位对齐,并将相位调整后的所述第一工作时钟作为所述输出数据时钟输出至所述N个同步电路和所述鉴相器。
14.如权利要求13所述的重定时器,其特征在于,所述相位插值器进一步用于:
根据所述第一工作时钟产生第二中间时钟,所述第一工作时钟与所述第二中间时钟的相位差为预设的相位差;
根据所述第二控制信号调整所述第一工作时钟和所述第二中间时钟的相位,使得所述输入数据时钟的相位超前于所述第一工作时钟的相位且落后于所述第二中间时钟的相位;
所述鉴相器进一步用于:
对所述输出数据时钟、所述第二中间时钟和所述输入数据时钟进行鉴相,确定所述输出数据时钟、所述第二中间时钟和所述输入数据时钟的相位关系,以输出所述鉴相结果。
15.如权利要求14所述的重定时器,其特征在于,所述相位插值器进一步用于:
当所述输入数据时钟的相位超前于所述第一工作时钟的相位且落后于所述第二中间时钟的相位时,所述第二控制信号用于指示所述相位插值器保持所述第一工作时钟和所述第二中间时钟的相位;
当所述输入数据时钟的相位落后于所述第一工作时钟的相位且落后于所述第二中间时钟的相位,所述第二控制信号用于指示所述相位插值器调整所述第一工作时钟和所述第二中间时钟的相位,以使得所述输入数据时钟的相位超前于所述第一工作时钟的相位且落后与所述第二中间时钟的相位;
当所述输入数据时钟的相位超前于所述第一工作时钟的相位且超前于所述第二中间时钟的相位,所述第二控制信号用于指示所述相位插值器调整所述第一工作时钟和所述第二中间时钟的相位,以使得所述输入数据时钟的相位超前于所述第一工作时钟的相位且落后与所述第二中间时钟的相位。
16.如权利要求13至15任意一项所述的重定时器,其特征在于,所述数字滤波器对所述第一控制信号和所述鉴相结果的滤抖为高频滤抖,其中滤抖后的所述第一控制信号包括与所述输入数据时钟的低频抖动相对应的相位变化信息。
17.如权利要求16所述的重定时器,其特征在于,所述相位变化信息包括独立时钟扩频信息、独立时钟非扩频信息或同源时钟信息。
18.如权利要求12至15、17任意一项所述的重定时器,其特征在于,所述重定时器还包括第一时钟电路,所述第一时钟电路用于向所述相位对齐电路提供所述第一工作时钟。
19.如权利要求12至15、17任意一项所述的重定时器,其特征在于,所述重定时器还包括N个时钟恢复电路,其中:
所述N个时钟恢复电路用于分别接收所述N路输入数据,恢复所述N路输入数据中的时钟,以分别得到所述N个恢复数据时钟和N个所述第一控制信号,并输出所述N路输入数据、所述N个恢复数据时钟和所述N个控制信号。
20.如权利要求12至15、17任意一项所述的重定时器,其特征在于,所述同步电路包括第一子同步电路和第二子同步电路,其中:
所述第一子同步电路用于根据所述输入数据时钟同步所述输入数据,得到第一临时数据;
所述第二子同步电路用于根据所述输出数据时钟同步所述第一临时数据,得到所述同步数据。
21.如权利要求20所述的重定时器,其特征在于,所述第一子同步电路和所述第二子同步电路为寄存器,其中所述第一子同步电路的第一工作时钟为所述输入数据时钟,所述第二子同步电路的第一工作时钟为所述输出数据时钟。
22.如权利要求12至15、17、21任意一项所述的重定时器,其特征在于,所述N路输入数据为N路串行数据,其中:
所述重定时器还包括N个串转并电路,其特征在于,所述N个串转并电路用于分别将所述N路输入数据进行串并转换,并分别输出转换后的所述N路输入数据至所述N个同步电路。
23.如权利要求12至15、17、21任意一项所述的重定时器,其特征在于,所述N路同步数据为N路并行数据,其中:
所述重定时器还包括N个并转串电路,其特征在于,所述N个并转串电路用于分别将所述N路同步数据转换为N路串行输出数据,并输出转换后的所述N路串行输出数据。
24.如权利要求19所述的重定时器,其特征在于,所述重定时器还包括N个数据处理电路和N个数据选择器,其中:
所述N个数据处理电路的输入端分别与所述N个时钟恢复电路的输出端耦合,所述N个数据处理电路的输出端分别与所述N个数据选择器的输入端耦合,所述N个数据处理电路用于分别对接收的所述N路输入数据进行解码、解扰、同步、加扰和编码;
对于每一个相互耦合的所述数据处理电路、所述时钟恢复电路和所述数据选择器,其中:
所述数据选择器的两个输入端分别与所述时钟恢复电路的输出端和所述数据处理电路的输出端耦合,所述数据选择器的输出端与所述同步电路的输出端耦合。
25.如权利要求12至15、17、21、24任意一项所述的重定时器,其特征在于,所述重定时器为多通道重定时器,其中N≥2,且N为正整数。

说明书全文

一种跨时钟域处理电路

技术领域

[0001] 本申请涉及数字电路领域,尤其涉及跨时钟域的处理电路。

背景技术

[0002] Serdes(SERializer/DESerializer,串行器/解串器)作为一种重要的高速串行链路物理层技术,被广泛应用于各种通用I/O(Input and Output,输入输出)接口中,例如PCIe(Peripheral Component Interface Express,外设总线接口)、以太网(Ethernet)、以及SATA(Serial Advanced Technology Attachment,串行高级技术附件)等接口。在两个设备进行通信时,Serdes用于在数据发送端将多路低速并行数据信号转换成高速串行数据信号,经过传输介质后在接收端将高速串行数据信号重新转换成多路低速并行数据信号。随着高速串行链路技术的发展,Serdes的速率越来越高,而高速链路互联介质中的介质插入损耗(Insertion Loss,IL)也随之增大,因此在链路中需要引入重定时器(retimer)将信号的驱动能放大,从而使得高速链路能够容忍更大的插入损耗。重定时器用于对高速串行链路上传输的数据信号进行中继,例如通过内部的时钟重构信号,使数据信号的传输能量增加。此外,重定时器也可以用于滤除链路抖动。从而降低数据传输的性能。
[0003] 如图1所示的是现有技术中的一种重定时器(Retimer)100。由于高速串行链路中的信号衰减较大、链路中的高频抖动较多,重定时器100通常设置于高速串行链路中,以用作中继数据信号,以及滤除链路抖动。重定时器100包括接收端110、数据处理电路120以及发送端130。接收端110用于根据接收到的串行数据恢复出与串行数据对应的接收时钟信号,以及将串行数据转换为并行数据,并将并行数据和接收时钟信号输出至上述数据处理电路120。该数据处理电路120包括跨时钟域处理电路,该跨时钟域处理电路根据上述接收时钟信号,以及发送端130产生的发送时钟信号,通过一个弹性缓冲器(elastic buffer)对上述并行数据进行缓冲,并将缓冲后的并行数据输出至发送端130。此外,数据处理电路120还用于对上述并行数据进行编码、解码、加扰和解扰等处理。发送端130用于将数据处理电路120输出的上述并行数据转换为串行数据并输出。上述弹性缓冲器为一种数据缓存量可变的缓冲器,其数据缓存量由上述接收时钟信号和发送时钟信号确定。
[0004] 上述接收时钟信号是根据接收的串行数据恢复出的时钟,而发送时钟信号是发送端130产生的时钟信号,即根据重定时器100的参考时钟产生的时钟信号,所以上述接收时钟信号和发送时钟信号会存在频率差,且该频率差是不固定的。因此,一方面数据处理电路120中的跨时钟域处理电路需要对并行数据进行异步时钟域的处理,使得并行数据从接收时钟信号的时钟域同步至发送时钟信号的时钟域,同时也要处理接收时钟信号和发送时钟信号之间存在的频偏(frequency skew,频率偏移)。在重定时器100中,现有技术的跨时钟域处理电路由于有上述弹性缓冲器的存在,导致数据处理延时非常大,使得数据经过重定时器的时间变长,从而降低了整个系统的数据处理性能。在某些传输协议下,当需要支持时钟扩频功能时,跨时钟域处理电路在对信号进行跨时钟域处理时会引入更大的延时,从而进一步降低了整个系统的数据处理性能,对于延时较为敏感的高速串行链路的影响尤为明显。
发明内容
[0005] 本申请的实施例提供一种跨时钟域处理电路,可以用于解决在数据在跨时钟域处理时延时较高的问题。
[0006] 第一方面,本申请实施例提供一种跨时钟域处理电路,用于对输入数据进行跨时钟域处理。该跨时钟域处理电路包括相位对齐电路和同步电路,其中相位对齐电路用于根据第一控制信号调整第一工作时钟的相位,以使得上述两个时钟相位对齐,并将输入数据时钟和调整后的第一工作时钟输出至同步电路,使得同步电路可以根据上述两个时钟对输入数据进行跨时钟域同步,以产生同步数据,即,将处于输入数据时钟的时钟域的输入数据同步至输出数据时钟的时钟域。其中,上述输入数据时钟为根据输入数据恢复出的时钟,第一工作时钟的频率与输入数据时钟的频率相等,且该第一工作时钟为跨时钟域处理电路的工作时钟,或者与跨时钟域处理电路使用同一个参考时钟,上述第一控制信号同样为根据输入数据恢复出的控制信号,且该第一控制信号包括输入数据时钟的相位变化信息。
[0007] 由于跨时钟域处理电路将上述输入数据恢复出的控制信号作为参考用来调整本地时钟的相位(即第一工作时钟),使得调整后的本地时钟能够实时跟随输入数据时钟的相位,以作为同步电路的时钟,因此节省了弹性缓冲器所占用的硬件资源,使得数据通过跨时钟域处理电路的时间更短,从而降低了跨时钟域处理电路处理数据的延时,提高了数据传输的效率。
[0008] 在一种可能的实施方式中,上述相位对齐电路包括鉴相器、数字滤波器和相位插值器,其中鉴相器用于对输入数据时钟和输出数据时钟进行鉴相,数字滤波器用于将鉴相的结果和第一控制信号进行滤抖,并将滤抖后的结果作为第二控制信号输出,相位插值器用于根据该第二控制信号调整第一工作时钟的相位,使得第一工作时钟和输入数据时钟相位对齐,并将调整后的第一工作时钟作为输出数据时钟输出至同步电路和鉴相器。上述滤抖的过程可以为先叠加信号再滤抖,也可以为先滤抖后再叠加信号。通过对第一工作时钟进行上述处理,使得该第一工作时钟信号的抖动被滤除,并跟踪原输入数据时钟的相位,从而以较少的硬件资源产生相位跟踪输入数据时钟的、用于同步的时钟。
[0009] 在一种可能的实施方式中,上述相位插值器进一步用于:根据第一工作时钟产生第二中间时钟,且第一工作时钟与第二中间时钟的相位差为预设的相位差;根据上述第二控制信号调整上述第一工作时钟和第二中间时钟的相位,使得输入数据时钟的相位超前于第一工作时钟的相位且落后于第二中间时钟的相位。其中,鉴相器还进一步用于对上述输入数据时钟、输出数据时钟(即调整后的第一工作时钟)和第二中间时钟进行鉴相,以确定上述三个时钟的相位关系,输出鉴相结果。通过上述相位调整,相位插值器可以使输入数据时钟的上升沿始终保持在第一工作时钟的上升沿和第二中间时钟的上升沿之间,以达到相位对齐的目的,从而能够用于同步上述输入数据。
[0010] 在一种可能的实施方式中,上述相位插值器在调整上述第一工作时钟和第二中间时钟的相位时,使得第一工作时钟与输入数据时钟的相位差等于输入数据时钟与第二中间时钟的相位差。当第一工作时钟与第二中间时钟的相位差较小时,相位插值器产生的调整后的第一工作时钟能够更好地与输入数据时钟相位对齐。
[0011] 在一种可能的实施方式中,上述相位插值器进一步用于:当输入数据时钟的相位超前于第一工作时钟的相位且落后于第二中间时钟的相位时,上述第二控制信号处于第一状态(例如二进制数10),以指示相位插值器保持第一工作时钟和第二中间时钟的相位;当输入数据时钟的相位落后于第一工作时钟的相位且落后于第二中间时钟的相位,上述第二控制信号处于第二状态(例如二进制数00),以指示相位插值器调整相位,使得输入数据时钟的相位超前于第一工作时钟的相位且落后与第二中间时钟的相位;当输入数据时钟的相位超前于第一工作时钟的相位且超前于第二中间时钟的相位,上述第二控制信号处于第三状态(例如二进制数01),以指示相位插值器调整相位,以使得输入数据时钟的相位超前于第一工作时钟的相位且落后与第二中间时钟的相位。当输入数据时钟发生频率偏移时,第一工作时钟和第二中间时钟同步发生偏移,以使得第一工作时钟能够实时跟随输入数据时钟的相位。
[0012] 在一种可能的实施方式中,上述数字滤波器对第一控制信号和鉴相结果的滤抖为高频滤抖,其中滤抖后的第一控制信号包括与输入数据时钟的低频抖动相对应的相位变化信息。当相位对齐电路对输入数据时钟进行高频滤抖时,时钟携带的低频抖动可以被保留,并伴随同步数据输出至下游的设备,使得跨时钟域处理电路可以支持传输链路中的特定协议或预设的功能,例如开启和关闭SRIS功能。
[0013] 在一种可能的实施方式中,上述相位变化信息包括独立时钟扩频信息、独立时钟非扩频信息或同源时钟信息。
[0014] 在一种可能的实施方式中,上述同步电路包括第一子同步电路和第二子同步电路,其中第一子同步电路用于根据输入数据时钟同步上述输入数据,并将结果输出至第二子同步电路;第二子同步电路根据第一工作时钟同步上述结果,得到上述同步数据。通过两个子同步电路来实现输入数据的同步处理,简化了跨时钟域处理电路的电路结构,节省了硬件面积和功耗。
[0015] 在一种可能的实施方式中,上述第一子同步电路和第二子同步电路均为寄存器,且上述两个子同步电路分别通过输入数据时钟和第一工作时钟对输入数据进行同步。通过寄存器实现子同步电路,使得跨时钟域处理电路的电路复杂程度得到极大的简化,进一步节省硬件面积和功耗。
[0016] 在一种可能的实施方式中,上述跨时钟域处理电路还包括第一时钟电路,用于向上述相位对齐电路提供上述第一工作时钟。该第一时钟电路提供的第一工作时钟抖动和杂波较少,有利于数据的跨时钟域同步。
[0017] 在一种可能的实施方式中,上述跨时钟域处理电路还包括时钟恢复电路,该时钟恢复电路用于受跨时钟域处理电路的工作时钟的驱动,恢复接收到的输入数据以得到输入数据时钟和第一控制信号,并输出上述输入数据、第一控制信号和输入数据时钟。通过时钟恢复电路对输入数据进行时钟恢复,使得恢复出的时钟可以经过相位调整等处理后再次用于同步输入数据,以实现跨时钟域的处理。
[0018] 在一种可能的实施方式中,上述输入数据为串行数据,且上述跨时钟域处理电路还包括串转并电路,该串转并电路用于将输入数据进行串并转换,并输出经过串并转换后的输入数据(即并行的输入数据)至上述同步电路。相应的,同步电路中两个子同步电路之间的数据也为并行数据。当跨时钟域处理电路用于处理并行数据,可以提高数据同步的效率。
[0019] 在一种可能的实施方式中,发送端发送输入数据至跨时钟域处理电路,且同步数据输出至接收端,其中存在以下三种情况:其一、上述发送端和跨时钟域处理电路共用一个参考时钟,接收端使用的时钟与上述共用的参考时钟独立;其二、上述接收端和跨时钟域处理电路共用一个参考时钟,发送端的参考时钟与上述共用的参考时钟独立;其三、上述发送端、接收端和跨时钟域处理电路共用一个参考时钟。跨时钟域处理电路的参考时钟可以独立于接收端和发送端,也可以共用参考时钟,使得其时钟信号的配置更加灵活。
[0020] 第二方面,本申请实施例提供一种重定时器,用于对传输链路中的N路输入数据进行中继。该重定时器包括相位对齐电路和N个同步电路(N≥1且N为正整数),其中相位对齐电路用于根据第一控制信号调整第一工作时钟的相位,以使得上述两个时钟相位对齐,并将输入数据时钟和调整后的第一工作时钟输出至N个同步电路,使得N个同步电路可以根据上述两个时钟对N路输入数据进行跨时钟域同步,以产生N路同步数据,即,将处于输入数据时钟的时钟域的N路输入数据同步至输出数据时钟的时钟域。其中,第一工作时钟的频率与输入数据时钟的频率相等,且该第一工作时钟为重定时器的工作时钟,或者与重定时器使用同一个参考时钟,上述输入数据时钟为根据N路输入数据恢复出的N个恢复时钟时钟中的一个恢复时钟,例如通过时钟恢复电路从N路输入数据中恢复出N个恢复数据时钟,并选择其中一个恢复时钟作为上述输入数据时钟。上述第一控制信号同样为根据N路输入数据恢复出的N个控制信号中的一个控制信号,且该第一控制信号包括输入数据时钟的相位变化信息。
[0021] 由于重定时器将上述N路输入数据恢复出的控制信号作为参考用来调整本地时钟的相位(即第一工作时钟),使得调整后的本地时钟能够实时跟随输入数据时钟的相位,以作为同步电路的时钟,因此节省了弹性缓冲器所占用的硬件资源,使得数据通过重定时器的时间更短,从而降低了重定时器处理数据的延时,提高了数据传输的效率。
[0022] 在一种可能的实施方式中,上述相位对齐电路包括鉴相器、数字滤波器和相位插值器,其中鉴相器用于对输入数据时钟和输出数据时钟进行鉴相,数字滤波器用于将鉴相的结果和第一控制信号进行滤抖,并将滤抖后的结果作为第二控制信号输出,相位插值器用于根据该第二控制信号调整第一工作时钟的相位,使得第一工作时钟和输入数据时钟相位对齐,并将调整后的第一工作时钟作为输出数据时钟输出至N个同步电路和鉴相器。通过对第一工作时钟进行上述处理,使得该第一工作时钟信号的抖动被滤除,并跟踪原输入数据时钟的相位,从而以较少的硬件资源产生相位跟踪输入数据时钟的、用于同步的时钟。
[0023] 在一种可能的实施方式中,上述相位插值器在调整上述第一工作时钟和第二中间时钟的相位时,使得第一工作时钟与输入数据时钟的相位差等于输入数据时钟与第二中间时钟的相位差。当第一工作时钟与第二中间时钟的相位差较小时,相位插值器产生的调整后的第一工作时钟能够更好地与输入数据时钟相位对齐。
[0024] 在一种可能的实施方式中,上述相位插值器进一步用于:根据第一工作时钟产生第二中间时钟,且第一工作时钟与第二中间时钟的相位差为预设的相位差;根据上述第二控制信号调整上述第一工作时钟和第二中间时钟的相位,使得输入数据时钟的相位超前于第一工作时钟的相位且落后于第二中间时钟的相位。其中,鉴相器还进一步用于对上述输入数据时钟、输出数据时钟(即调整后的第一工作时钟)和第二中间时钟进行鉴相,以确定上述三个时钟的相位关系,输出鉴相结果。通过上述相位调整,相位插值器可以使输入数据时钟的上升沿始终保持在第一工作时钟的上升沿和第二中间时钟的上升沿之间,以达到相位对齐的目的,从而能够用于同步上述输入数据。
[0025] 在一种可能的实施方式中,上述相位插值器进一步用于:当输入数据时钟的相位超前于第一工作时钟的相位且落后于第二中间时钟的相位时,上述第二控制信号处于第一状态(例如二进制数10),以指示相位插值器保持第一工作时钟和第二中间时钟的相位;当输入数据时钟的相位落后于第一工作时钟的相位且落后于第二中间时钟的相位,上述第二控制信号处于第二状态(例如二进制数00),以指示相位插值器调整相位,使得输入数据时钟的相位超前于第一工作时钟的相位且落后与第二中间时钟的相位;当输入数据时钟的相位超前于第一工作时钟的相位且超前于第二中间时钟的相位,上述第二控制信号处于第三状态(例如二进制数01),以指示相位插值器调整相位,以使得输入数据时钟的相位超前于第一工作时钟的相位且落后与第二中间时钟的相位。当输入数据时钟发生频率偏移时,第一工作时钟和第二中间时钟同步发生偏移,以使得第一工作时钟能够实时跟随输入数据时钟的相位。
[0026] 在一种可能的实施方式中,上述N个同步电路中的每个同步电路均包括一个第一子同步电路和一个第二子同步电路,其中第一子同步电路用于根据输入数据时钟同步上述N路输入数据中的一路,并将结果输出至第二子同步电路;第二子同步电路根据第一工作时钟同步上述结果,得到上述同步数据中的一路同步数据。通过两个子同步电路来实现输入数据的同步处理,简化了重定时器的电路结构,节省了硬件面积和功耗。
[0027] 在一种可能的实施方式中,上述第一子同步电路和第二子同步电路均为寄存器,且上述两个子同步电路分别通过输入数据时钟和第一工作时钟对输入数据进行同步。通过寄存器实现子同步电路,使得重定时器的电路复杂程度得到极大的简化,进一步节省硬件面积和功耗。
[0028] 在一种可能的实施方式中,上述重定时器还包括第一时钟电路,用于向上述相位对齐电路提供上述第一工作时钟。该第一时钟电路提供的第一工作时钟抖动和杂波较少,有利于数据的跨时钟域同步。
[0029] 在一种可能的实施方式中,上述数字滤波器对第一控制信号和鉴相结果的滤抖为高频滤抖,其中滤抖后的第一控制信号包括与输入数据时钟的低频抖动相对应的相位变化信息。当相位对齐电路对输入数据时钟进行高频滤抖时,时钟携带的低频抖动可以被保留,并伴随同步数据输出至下游的设备,使得重定时器可以支持传输链路中的特定协议或预设的功能,例如开启和关闭SRIS功能。
[0030] 在一种可能的实施方式中,上述相位变化信息包括独立时钟扩频信息、独立时钟非扩频信息或同源时钟信息。
[0031] 在一种可能的实施方式中,上述重定时器还包括N个时钟恢复电路,用于分别受重定时器的第一工作时钟的驱动,恢复接收到的N路输入数据以得到上述N个恢复数据时钟和N个控制信号,并输出上述N路输入数据、N个控制信号和N个恢复数据时钟。通过时钟恢复电路对输入数据进行时钟恢复,使得恢复出的时钟可以经过滤抖等处理后再次用于同步输入数据,以实现跨时钟域的处理。
[0032] 在一种可能的实施方式中,上述N路输入数据为N路串行输入数据,且上述重定时器还包括N个串转并电路,其中上述N个串转并电路用于分别对N路输入数据进行串并转换,并输出转后的结果(即N路并行数据)至上述N个同步电路。通过对数据进行串行转并行的转换,可以将传输链路中的高速串行数据转换为并行数据,提高重定时器对数据处理的效率,节省数据处理时间。
[0033] 在一种可能的实施方式中,上述重定时器还包括N个并转串电路,且上述N路同步数据为N路并行数据,其中上述N个并转串电路用于分别对N路同步数据进行并行转串行的转换,并输出转换后的结果。通过对数据进行并行转串的转换,可以将处理(同步)后的数据重新转换为高速的串行信号,提高重定时器对数据处理的效率,节省数据处理时间。
[0034] 在一种可能的实施方式中,上述重定时器还包括N个数据处理电路和N个数据选择器,其中N个数据处理电路的输入端分别与N个时钟恢复电路的输出端耦合,N个数据处理电路的输出端分别与N个数据选择器的输入端耦合,N个数据处理电路用于分别对接收的N路输入数据进行解码、解扰、同步、加扰和编码;对于每一个相互耦合的数据处理电路、时钟恢复电路和数据选择器,数据选择器的两个输入端分别与时钟恢复电路的输出端和数据处理电路的输出端耦合,而数据选择器的输出端与同步电路的输出端耦合。可以通过额外的控制信号来控制数据选择器,从而选择上述两个输入端中接收的两路数据信号的其中一路作为输出。在重定时器中,数据可以通过数据选择器直接进行跨时钟域的同步,也可以先进过数据处理电路的处理后,再通过数据选择器进行跨时钟域的同步,使得重定时器处理输入数据的方式更加灵活,可以根据不同的传输协议选择是否直通数据,从而提高中继数据的效率。
[0035] 在一种可能的实施方式中,发送端发送输入数据至重定时器,且同步数据输出至接收端,其中存在以下三种情况:其一、上述发送端和重定时器共用一个参考时钟,接收端使用的时钟与上述共用的参考时钟独立;其二、上述接收端和重定时器共用一个参考时钟,发送端的参考时钟与上述共用的参考时钟独立;其三、上述发送端、接收端和重定时器共用一个参考时钟。重定时器的参考时钟可以独立于接收端和发送端,也可以共用参考时钟,使得其时钟信号的配置更加灵活。
[0036] 在一种可能的实施方式中,上述重定时器为多通道的重定时器,其中N≥2,且N为正整数。通过增加重定时器中同步电路、时钟恢复电路等电路的数量,使得重定时器可以同时对多路输入数据进行处理,从而进一步提高重定时器中继数据的效率。附图说明
[0037] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
[0038] 图1为现有技术中的一种重定时器。
[0039] 图2为本申请实施例中一种重定时器。
[0040] 图3为本申请实施例中一种具体的重定时器。
[0041] 图4为本申请实施例中一种更为具体的重定时器。
[0042] 图5(a)为本申请实施例中相位插值器的一种时序图;
[0043] 图5(b)为本申请实施例中相位插值器的另一种时序图;
[0044] 图5(c)为本申请实施例中相位插值器的又一种时序图。
[0045] 图6为本申请实施例中一种同步电路。
[0046] 图7为本申请实施例中一种更为具体的重定时器。
[0047] 图8为本申请实施例中一种数据处理电路。
[0048] 图9为本申请实施例中一种多通道重定时器。
[0049] 主要附图标记:重定时器300;数据接收电路310;时钟恢复电路312;串转并电路314;均衡器316;第二时钟电路318;数据发送电路320;相位对齐电路330;鉴相器332;数字滤波器334;相位插值器336;第一时钟电路335;同步电路340;并转串电路370。

具体实施方式

[0050] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0051] 为解决重定时器延时较大的问题,本申请实施例提供如图2所示的一种重定时器300。该重定时器300设置于第一设备210和第二设备220之间的高速串行通信链路上。该通信链路可以为采用PCIe(Peripheral Component Interface Express,外设总线接口)、以太网(Ethernet)、以及SATA(Serial Advanced Technology Attachment,串行高级技术附件)、SAS(Serial Attached SCSI,串行连接SCSI接口)、USB(Universal Serial Bus,通用串行总线)等协议的通信链路。重定时器300用于中继数据信号,例如通过内部的时钟重构信号,使数据信号的传输能量增加。重定时器300还可以用于滤除上述通信链路中的抖动。
上述数据信号可以是从第一设备210发送给第二设备220的数据信号,也可以是第二设备
220发送给第一设备210的数据信号。上述第一设备和第二设备可以包括终端设备,例如手机、平板电脑;也可以包括服务器设备,或通信基站;或者包括设置于两个独立的PCB(Printed Circuit Board,印制电路板)上的电路。
[0052] 如图3所示的是重定时器300的一种具体的实施方式。重定时器300包括接收电路310和发送电路320,其中接收电路310包括时钟恢复电路312和串转并电路314,该时钟恢复电路312用于根据其参考时钟的驱动,将接收的串行数据(输入数据)进行时钟恢复,以得到输入数据时钟和第一控制信号,同时输出上述串行数据,以及恢复出的输入数据时钟和第一控制信号,上述参考时钟可以是接收电路310的工作时钟,该第一控制信号包括输入数据时钟的相位变化信息。上述串转并电路314用于将该串行数据转换为并行数据并输出该并行数据。其中接收电路310的工作时钟可以根据重定时器300的参考时钟确定。时钟恢复电路312可以通过检测串行数据的相位来实现时钟的恢复,时钟恢复电路312有多种实现方式,例如使用无源滤波器限幅放大器实现,使用窄频再生分频器,使用同步振荡器实现,或者使用相环等。
[0053] 发送电路320用于对接收电路310输出的并行数据进行跨时钟域同步,并将同步后的并行数据转换为串行数据输出至第二设备220。具体来说,发送电路320包括相位对齐电路330、同步电路340和并转串电路370。相位对齐电路330用于接收输入数据时钟和第一工作时钟,根据上述第一控制信号来调整第一工作时钟的相位,使得调整后的第一工作时钟的相位与输入数据时钟的相位对齐,同时将调整后的第一工作时钟作为输出数据时钟输出至同步电路340。其中,上述输入数据时钟为时钟恢复电路312根据输入数据恢复出的时钟,而上述第一控制信号同样为时钟恢复电路312根据输入数据恢复出的信息,该信息可以作为控制信号,控制相位对齐电路330调整第一工作时钟的相位。上述第一工作时钟为与输入数据时钟独立的时钟,为重定时器300中发送电路320的工作时钟,且第一工作时钟的频率与输入数据时钟的频率相等。需要注意的是,上述第一工作时钟,即发送电路320的工作时钟与接收电路310的工作时钟(即下文的第二工作时钟)为独立的工作时钟,但可以采用同一参考时钟(reference clock)或采用的不同参考时钟。
[0054] 同步电路340用于根据上述输入数据时钟,以及上述输出数据时钟,对时钟恢复电路312产生的上述并行数据进行跨时钟域的同步,并产生同步数据,其中该同步数据处于输出数据时钟的时钟域。由于接收电路310中的数据处于输入数据时钟的时钟域,而发送电路320中的数据处于输出数据时钟的时钟域,因此同步电路340将上述并行数据从输入数据时钟的时钟域同步至输出数据时钟的时钟域。并转串电路370用于将接收的上述同步数据转换为串行输出数据,并输出该串行输出数据至第二设备220。上述高频分量的抖动包括高速串行通信链路产生的高频抖动,以及时钟恢复电路312在恢复时钟时产生的高频抖动。
[0055] 需要注意的是,本申请中高频抖动和高频滤抖中的“高频”应为本领域技术人员熟知的概念。对于频率不同的时钟信号,本申请中“高频”的范围会有所不同。例如,对于频率为f=100MHz的时钟信号,其携带的频率大于0.5f的抖动都应该认为是高频抖动;相应的,高频滤抖为滤除频率大于0.5f的抖动。更为具体的,本申请实施例提供的相位对齐电路330可以对100MHz的时钟信号进行高频滤抖,则该时钟信号携带的频率高于500KHz的抖动均会被滤除。相应的,低频抖动为频率小于0.5f的抖动。再比如,对于频率为f=1GHz的时钟信号,其携带的频率大于0.05f的抖动都应该认为是高频抖动,而低于0.05f的抖动都应该认为是低频抖动。此外,本申请中的相位对齐可以理解为,两个时钟信号的上升沿的相位差为一个固定值,例如相位差保持‑1°、保持0°或者保持1°;也可以理解为,两个时钟信号的上升沿的相位差保持在一定范围内。
[0056] 上述第一工作时钟为重定时器的工作时钟,即该时钟为抖动较少的本地时钟。重定时器300将从输入数据恢复出的上述第一控制信号用来调整本地时钟的相位,使得调整后的本地时钟能够实时跟随输入数据时钟的相位,以作为同步电路340的时钟,重定时器300在中继数据时无需通过弹性缓冲器来同步时钟域,使得数据通过重定时器300的时间更短,从而降低了重定时器300处理数据的延时,尤其是数据在跨时钟域时的延迟,提高了数据传输的效率。
[0057] 如图4所示的是上述相位对齐电路330的一种具体的实施方式。相位对齐电路330包括鉴相器(Phase Detector,PD)332、数字滤波器(Digital Filter)334和相位插值器(Phase Interpolator,PI)336。鉴相器332用于将上述输出数据时钟和输入数据时钟进行鉴相,即鉴别出上述两个时钟的相位关系,并输出鉴相的结果。数字滤波器334用于对上述鉴相结果和上述第一控制信号进行滤抖,并将滤抖后的结果作为第二控制信号输出给相位插值器336。数字滤波器334可以先将上述鉴相结果和上述第一控制信号叠加以后,进行滤抖,并作为第二控制信号输出;也可以先将上述鉴相结果和上述第一控制信号滤抖以后,再进行叠加,并作为第二控制信号输出。在一种实施方式中,数字滤波器334对高频抖动不做响应,只对低频抖动进行响应,即只滤除高频抖动,同时保留低频抖动,上述低频抖动可以携带输入数据时钟的频率或相位变化的信息。相位插值器336用于根据第二控制信号调整上述第一工作时钟的相位,使得该第一工作时钟与输入数据时钟相位对齐,并将调整后的第一工作时钟作为上述输出数据时钟输出至同步电路340和鉴相器332。
[0058] 具体来说,相位插值器336先根据第一工作时钟的相位产生第二中间时钟,该第二中间时钟与第一工作时钟的相位差为一预设的固定相位差;其次鉴相器332对上述输出数据时钟、第二中间时钟和输入数据时钟进行鉴相,以确定这三个时钟信号之间的相位关系,并输出经过鉴相的结果,数字滤波器334将该鉴相结果进行滤波,同时将第一控制信号进行滤波,并将上述两个滤波后的结果叠加,将叠加后的信号作为第二控制信号输出至相位插值器336,上述滤波为滤除信号中的抖动;相位插值器336根据上述第二控制信号调整上述第一工作时钟和第二中间时钟的相位,使得输入数据时钟的相位超前于第一工作时钟的相位且落后于所述第二中间时钟的相位,并将调整后的第一工作时钟作为输出数据时钟输出至同步电路340和鉴相器332。
[0059] 上述第一控制信号为时钟恢复电路312恢复出的控制信号。具体来说,时钟恢复电路312在对输入数据进行时钟恢复的同时,恢复出上述第一控制信号,该第一控制信号包括与上述输入数据时钟中包含的抖动相对应的相位变化信息,也就是说,该第一控制信号可以指示输入数据时钟的相位变化的情况。在一种实施方式中,上述第一控制信号包括输入数据时钟的低频抖动信息,该低频抖动也称为低频偏移(wander),通常为扩频时钟(Spread Spectrum Clock,扩频时钟)信息,或称为非同源时钟(Separated Reference Clock)信息,例如独立时钟扩频信息,也可以为独立时钟非扩频信息;上述低频抖动还可以为同源时钟(Common Reference Clock)信息;同时该第一控制信号还包括输入数据时钟的高频抖动信息,该高频抖动信息通常来自时钟恢复电路312产生的、以及链路产生的高频噪声(或高频抖动)。因此,数字滤波器334还用于将第一控制信号和上述鉴相结果进行高频滤抖,以滤除高频噪声,保留与上述输入数据时钟的低频抖动相对应的相位变化信息。
[0060] 如图4所示,上述重定时器300还包括第二时钟电路318和第一时钟电路335,其中第二时钟电路318用于根据参考时钟产生第二工作时钟,并将该第二工作时钟输出至时钟恢复电路312,使得时钟恢复电路312从输入数据中恢复出时钟信号;第一时钟电路335用于根据参考时钟产生第一工作时钟,并将该第一工作时钟输出至相位对齐电路330,以产生输出数据时钟。上述第一工作时钟为发送电路320中的第一时钟电路335产生的工作时钟,且第一时钟电路335产生的第一工作时钟的频率与输入数据时钟的频率相等。需要注意的是,本实施例中的第二时钟电路318和第一时钟电路335为独立的时钟电路,上述两个时钟电路可以为锁相环(Phase Locked Loop,PLL)等。其中,第二时钟电路318和第一时钟电路335可以使用同一个时钟源作为参考时钟,也可以使用独立的两个时钟源作为参考时钟。
[0061] 由于时钟信号通常是具有相同脉宽的矩形脉冲,其频谱成分包含有高次谐波,时钟信号与这些高次谐波共同在某个电路中或不同电路之间产生电磁干扰。为了降低上述电磁干扰,可以采用对时钟进行扩频的方法,即使用预设的调制波形(例如一个较低的频率),在一定频率范围内对上述时钟信号进行频率调制,使得时钟信号的基频和谐波所包含的峰值能量降低。例如,在上述高速串行链路中,上述输入数据时钟可以为携带了扩频时钟SSC信息的时钟。在频域中,SSC信息表现为时钟信号产生一个具有边带谐波的频谱。在对上述第一中间时钟进行高频滤抖的同时,数字滤波器334可以保留完整的低频抖动,从而可以保留第一中间时钟包含的某些时钟信息,或者是输入数据时钟包含的某些时钟信息,例如SSC信息。同时,数字滤波器334滤除来自链路和时钟恢复电路312等的高频抖动。因此,当高速串行链路开启了SRIS功能(Separate Reference‑clock Independent SSC,分离参考时钟独立SSC)后,重定时器300中的上述输入数据时钟和上述输出数据时钟均可以保留时钟信号中的SSC信息,同时滤除高频抖动。
[0062] 由于上述输入数据时钟包含低频抖动,因此输入数据时钟的上升沿的相位通常不是固定的,而是前后漂移的。如图5所示,输入数据时钟在一定的时钟偏移范围内漂移。通过如图5所示的时序图来说明相位插值器336的具体功能。首先相位插值器336用于接收第一工作时钟,以该第一工作时钟的相位为基准,并根据预设的相位差和第二控制信号产生第二中间时钟,该第一工作时钟与第二中间时钟的第二相位差为一个预设的固定值,该第二相位差即图中的对齐窗口。上述相位差也可以理解为,第一工作时钟和第二中间时钟相邻的两个上升沿之间的相位差。其次鉴相器332对上述第一工作时钟、第二中间时钟和输入数据时钟进行鉴相,以确定上述三个时钟之间的相位关系。
[0063] 以图5(a)为例,鉴相器332可以用输入数据时钟的上升沿来采样第一工作时钟和第二中间时钟,即鉴相,以确定上述三个时钟之间的相位关系。如果采样值是2’b10(两位二进制数,低位0表示第二中间时钟的采样值为0,高位1表示第一工作时钟的采样值为1),即表示在输入数据时钟处于上升沿时,第一工作时钟为高电平(1),而第二中间时钟为低电平(0),也就是说采样值为2’b10的情况对应的是输入数据时钟在上述对齐窗口内,输入数据时钟的相位超前于第一工作时钟的相位且落后于第二中间时钟的相位。鉴相器332将采样的结果经过数字滤波器334滤抖后,后作为第二控制信号输出至相位插值器336,因此相位插值器336可以根据上述第二控制信号来判断输入数据时钟是否处于对齐窗口内,即处于第一工作时钟和第二中间时钟之间。
[0064] 在图5(b)中,输入数据时钟偏离了上述对齐窗口,输入数据时钟的相位落后于第一工作时钟的相位且落后于第二中间时钟的相位,此时输入数据时钟的上升沿的采样值为2’b00。相位插值器336接收到数字滤波器334产生的上述第二控制信号(即包含鉴相器332产生的采样值2’b00)后,采用相位插值的方法对第一工作时钟的相位进行调整,同时也对第二中间时钟的相位进行调整,使得输入数据时钟处于调整后形成的对齐窗口内,即调整后采样值重新变为2’b10。
[0065] 在图5(c)中,输入数据时钟同样偏离了上述对齐窗口,输入数据时钟的相位超前于第一工作时钟的相位且超前于第二中间时钟的相位,此时输入数据时钟的上升沿的采样值为2’b11或2’b01。以采样值为2’b11为例,相位插值器336接收到数字滤波器334产生的上述第二控制信号(即包含鉴相器332产生的采样值2’b11)后,采用相位插值的方法对第一工作时钟的相位进行调整,同时也对第二中间时钟的相位进行调整,使得输入数据时钟处于调整后形成的对齐窗口内,即调整后采样值重新变为2’b10。
[0066] 当高速串行链路开启了SRIS功能时,上述输入时钟信号携带SSC信息,即低频抖动,其相位会一直呈周期性变化,即在一定范围内做周期性的漂移。相位插值器336根据输入数据时钟相位变化的周期来调整第一工作时钟的相位,且调整的周期就是输入数据时钟相位变化的周期,即SSC变化周期。因此,输出数据时钟(即调整后的第一工作时钟)的相位始终随着输入数据时钟的相位变化,从而实现保留低频抖动,滤除高频抖动的目的。
[0067] 在一种实施方式中,相位插值器336调整上述第一工作时钟和第二中间时钟,使得输入数据时钟的上升沿始终处于对齐窗口的中心,即第二中间时钟与输入数据时钟的相位差等于输入数据时钟和第一工作时钟的相位差。因此,当对齐窗口较小时,相位插值器336产生的第一工作时钟能够更好地与输入数据时钟相位对齐。
[0068] 如图6所示的是同步电路340一种具体的实施方式。同步电路340包括第一子同步电路342和第二子同步电路344,其中第一子同步电路342用于根据上述输入数据时钟对接收的输入数据进行第一次同步,得到第一临时数据;第二子同步电路344用于根据上述第一工作时钟(即输出数据时钟)对上述第一临时数据进行第二次同步,得到上述同步数据。通过上述两个时钟分别对输入数据进行两次同步处理,使得上述同步数据能够以输出数据时钟的频率传输,且可以防止亚稳态的发生,避免重定时器300受到亚稳态传播的影响。
[0069] 在一种实施方式中,该同步电路340中的第一子同步电路342和第二子同步电路344均为寄存器,且第一子同步电路342使用的时钟为上述输入数据时钟,第二子同步电路的工作使用的时钟为上述第一工作时钟(即输出数据时钟)。上述寄存器可以包括多个并联的D触发器。根据上述两个时钟,可以确保第二子同步电路344可以正确采样到数据。
[0070] 需要注意的是,本申请中重定时器300所包括的上述相位对齐电路330、同步电路340和时钟恢复电路312的任意一个或多个电路的组合也可以用于实现其他跨时钟域处理的电路或场景,本申请中的重定时器300仅为一种场景的示例。此外,本申请实施例中的上述输入数据和同步数据可以是并行数据,也可以是串行数据。例如,本申请实施例还提供一种跨时钟域处理电路,包括上述相位对齐电路330、同步电路340和时钟恢复电路312,其中该跨时钟域处理电路接收的输入数据、产生的同步数据可以均为并行数据,也可以均为串行数据。
[0071] 如图7所示的重定时器300为一种更为具体的实施方式。图7中的重定时器300还包括均衡器316、第二时钟电路318、数据处理电路350和数据选择器360。其中,均衡器316用于将接收电路310接收的串行数据进行均衡处理,例如进行连续时间线性均衡(Continuous Time Linear Equalizer,CTLE),以在输损耗较大的高速串行链路中,改善数据接收电路310眼图(Eye Diagram)的性能,并将均衡处理后的串行数据输出至时钟恢复电路312。第二时钟电路318用于根据重定时器300的参考时钟,向时钟恢复电路312提供第二工作时钟。
[0072] 第一设备210通过重定时器300中继数据,并将中继后的数据发送至第二设备220。在一种实施方式中,第一设备210和重定时器300共用同一个参考时钟,而第二设备220的参考时钟与上述共用的参考时钟独立;在一种实施方式中,第二设备220和重定时器300共用同一个参考时钟,而第一设备210的参考时钟与上述共用的参考时钟独立;在另一种实施方式中,上述第一设备210、第二设备220和重定时器300分别使用独立的参考时钟。
[0073] 数据处理电路350用于对数据进行编解码、加解扰、缓冲、同步等处理。数据处理电路350可以选择性地对接收的数据进行解码、解扰、同步、加扰和编码等处理,且上述多个处理过程的顺序是可变的。例如,可以对接收的数据依次进行解码、解扰、同步、加扰和编码处理,也可以依次进行解码、同步、编码处理,或者依次进行解扰、同步、加扰处理。如图8所示的是数据处理电路350的一种具体的实施方式。具体来说,数据处理电路350包括解码器(De‑coder)351、解扰电路(De‑Scrambler)352、弹性缓冲器(Elastic Buffer)353、链路训练状态机(Link Training and Status State Machine,LTSSM)354、加扰电路(Scrambler)355和编码器(Encoder)356。其中,解码器351用于对接收的数据进行对齐解码,例如寻找接收的数据中的特征字,并根据特征字去除上述数据中的同步头。解扰电路352用于对解码器
351输出的数据进行解扰处理。弹性缓冲器353用于对解扰电路352输出的数据进行缓冲,并将缓冲后的数据输出至链路训练状态机354,该弹性缓冲器353为一种数据缓存量可变的缓冲器,其数据缓存量由重定时器300的参考时钟确定。链路训练状态机354用于接收弹性缓冲器353输出的数据,并对链路进行训练。例如,在使用PCIe接口的链路正常工作之前,需要通过该链路训练状态机354对链路进行训练,以初始化链路并配置链路信息。在完成链路训练并进行正常工作时,弹性缓冲器353产生的数据可以直接输出至加扰电路355,而无需经过链路训练状态机354。加扰电路355用于对链路训练状态机354输出的数据进行加扰处理,其中加扰处理可以采用与解扰相对应的方式。解码器356用于对加扰后的数据进行编码,并输出经过编码的数据。
[0074] 数据选择器360用于同时接收时钟恢复电路312产生的数据,以及数据处理电路350产生的数据,并选择上述两路数据中的其中一路以输出至同步电路340。在一种实施方式中,可以通过一个控制信号来选择数据选择器360输出时钟恢复电路312产生的数据或者输出数据处理电路350产生的数据,该控制信号可以通过寄存器进行配置。由于数据选择器
360具有对两路数据进行二选一的功能,并行数据可以通过两条路径从数据接收电路310到数据发送电路320。其一,并行数据先从时钟恢复电路312输出至数据处理电路350,再从数据处理电路350经过数据选择器360并输入至数据发送电路320。在特定的传输协议下,上述并行数据在数据处理电路350中进行编解码、加解扰等处理。其二,并行数据直接从时钟恢复电路312输出、经过数据选择器360并输入至数据发送电路320,不经过任何的数据处理,这种BSF(Bit Stream Forward,比特流转发)方式可以最大限度地降低数据经过重定时器
300而产生的延时。通过调整数据选择器360的控制信号,可以控制重定时器300在上述两种模式之间切换。
[0075] 如图9所示的是本申请实施例提供的一种多通道的重定时器1000,该重定时器1000包括上行重定时电路1010和下行重定时电路1020。其中,上行重定时电路1010用于在第一设备210至第二设备220的上行高速串行传输链路上实现多路串行信号的中继和滤抖,而下行重定时电路1020用于在第二设备220至第一设备210的下行高速串行传输链路上实现多路串行信号的中继和滤抖。需要注意的是,上述上行和下行的概念均为相对的。以4条上行通道和4条下行通道为例来说明重定时器1000的电路结构,但本申请不对重定时器
1000中的上行通道和下行通道的数量做限定。具体来说,上行重定时电路1010包括4条上行通道,其中每条上行通道包括一个数据接收电路、一个数据处理电路、一个数据选择器和一个数据发送电路,其数据流的方向为从第一设备210至第二设备220;下行重定时电路1020也包括4条下行通道,其中每条下行通道包括一个数据接收电路、一个数据处理电路、一个数据选择器360和一个数据发送电路,其数据流方向与上行重定时电路1010相反,为从第二设备220至第一设备210。与重定时器300类似,对于每一条上行通道或下行通道,串行数据通过数据接收电路n转换成并行数据,通过数据处理电路n进行数据处理并输出至数据选择器360,或者不通过数据处理电路n而直接输出至数据选择器360,最后通过数据发送电路n进行跨时钟域同步,并将同步后的并行数据转换成串行数据。在重定时器1000中,上述n可以为1,2,…,8。
[0076] 如图9所示的重定时器1000中的数据接收电路1、数据接收电路2、数据接收电路3、数据接收电路4、数据接收电路5、数据接收电路6、数据接收电路7、数据接收电路8均可以包括本申请实施例提供的数据接收电路310中的部分电路或全部电路,以及共用数据接收电路310中的部分电路。重定时器1000中的数据发送电路1、数据发送电路2、数据发送电路3、数据发送电路4、数据发送电路5、数据发送电路6、数据发送电路7、数据发送电路8均可以包括本申请实施例提供的数据发送电路320中的部分电路或全部电路,以及共用数据发送电路320中的部分电路。
[0077] 在一种实施方式中,上行重定时电路1010中的4个数据接收电路可以共用一个时钟处理电路1,下行重定时电路1020中的4个数据接收电路也可以共用一个时钟处理电路2,上述时钟处理电路1和时钟处理电路2均可以为本申请实施例中的第二时钟电路318。通过时钟处理电路1将上行重定时电路1010中的4路并行数据恢复分别出4路时钟信号,并选择其中一路时钟信号作为输入时钟信号输出至上述同步电路;下行重定时电路1020同理。
[0078] 在一种实施方式中,上行重定时电路1010中的4个数据发送电路可以共用一个相位对齐电路330,下行重定时电路1020中的4个数据接收电路也可以共用一个相位对齐电路330。上行重定时电路1010中的每个数据发送电路均包括一个同步电路340,下行重定时电路1010中的每个数据发送电路也同样包括一个同步电路340,以同步每个数据发送电路中需要进行同步的输入数据。此外,重定时器1000中的数据处理电路1、数据处理电路2、数据处理电路3、数据处理电路4、数据处理电路5、数据处理电路6、数据处理电路7、数据处理电路8均可以为本申请实施例提供的数据处理电路320。
[0079] 上述多通道的重定时器1000中,多通道共享一个时钟处理电路、一个同步电路340和一个相位对齐电路330,使得重定时器1000在保证低延时的同时进一步减少所需的缓冲器资源,从而减少重定时器1000的硬件面积并降低功耗,提升了重定时器1000的性能。
[0080] 以一个具体的例子来说明多通道重定时器1000的具体结构。该重定时器,用于对传输链路中的N路输入数据进行中继。该重定时器包括相位对齐电路和N个同步电路(N≥1且N为正整数),其中相位对齐电路用于根据第一控制信号调整第一工作时钟的相位,以使得上述两个时钟相位对齐,并将输入数据时钟和调整后的第一工作时钟输出至N个同步电路,使得N个同步电路可以根据上述两个时钟对N路输入数据进行跨时钟域同步,以产生N路同步数据,即,将处于输入数据时钟的时钟域的N路输入数据同步至输出数据时钟的时钟域。其中,第一工作时钟的频率与输入数据时钟的频率相等,且该第一工作时钟为重定时器的工作时钟,或者与重定时器使用同一个参考时钟,上述输入数据时钟为根据N路输入数据恢复出的N个恢复时钟时钟中的一个恢复时钟,例如通过时钟恢复电路从N路输入数据中恢复出N个恢复数据时钟,并选择其中一个恢复时钟作为上述输入数据时钟。上述第一控制信号同样为根据N路输入数据恢复出的N个控制信号中的一个控制信号,且该第一控制信号包括输入数据时钟的相位变化信息。
[0081] 上述相位对齐电路包括鉴相器、数字滤波器和相位插值器,其中鉴相器用于对输入数据时钟和输出数据时钟进行鉴相,数字滤波器用于将鉴相的结果和第一控制信号进行滤抖,并将滤抖后的结果作为第二控制信号输出,相位插值器用于根据该第二控制信号调整第一工作时钟的相位,使得第一工作时钟和输入数据时钟相位对齐,并将调整后的第一工作时钟作为输出数据时钟输出至同步电路。
[0082] 上述相位插值器在调整上述第一工作时钟和第二中间时钟的相位时,使得第一工作时钟与输入数据时钟的相位差等于输入数据时钟与第二中间时钟的相位差。
[0083] 上述相位插值器进一步用于:根据第一工作时钟产生第二中间时钟,且第一工作时钟与第二中间时钟的相位差为预设的相位差;根据上述第二控制信号调整上述第一工作时钟和第二中间时钟的相位,使得输入数据时钟的相位超前于第一工作时钟的相位且落后于第二中间时钟的相位。其中,鉴相器还进一步用于对上述输入数据时钟、输出数据时钟(即调整后的第一工作时钟)和第二中间时钟进行鉴相,以确定上述三个时钟的相位关系,输出鉴相结果。
[0084] 上述相位插值器进一步用于:当输入数据时钟的相位超前于第一工作时钟的相位且落后于第二中间时钟的相位时,上述第二控制信号处于第一状态(例如二进制数10),以指示相位插值器保持第一工作时钟和第二中间时钟的相位;当输入数据时钟的相位落后于第一工作时钟的相位且落后于第二中间时钟的相位,上述第二控制信号处于第二状态(例如二进制数00),以指示相位插值器调整相位,使得输入数据时钟的相位超前于第一工作时钟的相位且落后与第二中间时钟的相位;当输入数据时钟的相位超前于第一工作时钟的相位且超前于第二中间时钟的相位,上述第二控制信号处于第三状态(例如二进制数01),以指示相位插值器调整相位,以使得输入数据时钟的相位超前于第一工作时钟的相位且落后与第二中间时钟的相位。
[0085] 上述N个同步电路中的每个同步电路均包括一个第一子同步电路和一个第二子同步电路,其中第一子同步电路用于根据输入数据时钟同步上述N路输入数据中的一路,并将结果输出至第二子同步电路;第二子同步电路根据第一工作时钟同步上述结果,得到上述同步数据中的一路同步数据。
[0086] 上述第一子同步电路和第二子同步电路均为寄存器,且上述两个子同步电路分别通过输入数据时钟和第一工作时钟对输入数据进行同步。
[0087] 上述重定时器还包括第一时钟电路,用于向上述相位对齐电路提供上述第一工作时钟。
[0088] 上述数字滤波器对第一控制信号和鉴相结果的滤抖为高频滤抖,其中滤抖后的第一控制信号包括与输入数据时钟的低频抖动相对应的相位变化信息。
[0089] 上述相位变化信息包括独立时钟扩频信息、独立时钟非扩频信息或同源时钟信息。
[0090] 上述重定时器还包括N个时钟恢复电路,用于分别受重定时器的第一工作时钟的驱动,恢复接收到的输入数据以得到上述N路恢复数据时钟和N个控制信号,并输出上述输入数据、N个控制信号和N路恢复数据时钟。
[0091] 上述N路输入数据为N路串行输入数据,且上述重定时器还包括N个串转并电路,其中上述N个串转并电路用于分别对N路输入数据进行串并转换,并输出转后的结果(即N路并行数据)至上述N个同步电路。
[0092] 上述重定时器还包括N个并转串电路,且上述N路同步数据为N路并行数据,其中上述N个并转串电路用于分别对N路同步数据进行并行转串行的转换,并输出转换后的结果。
[0093] 上述重定时器还包括N个数据处理电路和N个数据选择器,其中N个数据处理电路的输入端分别与N个时钟恢复电路的输出端耦合,N个数据处理电路的输出端分别与N个数据选择器的输入端耦合,N个数据处理电路用于分别对接收的N路输入数据进行解码、解扰、同步、加扰和编码;对于每一个相互耦合的数据处理电路、时钟恢复电路和数据选择器,数据选择器的两个输入端分别与时钟恢复电路的输出端和数据处理电路的输出端耦合,而数据选择器的输出端与同步电路的输出端耦合。可以通过额外的控制信号来控制数据选择器,从而选择上述两个输入端中接收的两路数据信号的其中一路作为输出。
[0094] 发送端发送输入数据至重定时器,且同步数据输出至接收端,其中存在以下三种情况:其一、上述发送端和重定时器共用一个参考时钟,接收端使用的时钟与上述共用的参考时钟独立;其二、上述接收端和重定时器共用一个参考时钟,发送端的参考时钟与上述共用的参考时钟独立;其三、上述发送端、接收端和重定时器共用一个参考时钟。
[0095] 上述重定时器为多通道的重定时器,其中N≥2,且N为正整数。
[0096] 本申请实施例中的重定时器可以为一种重定时器芯片,用于对高速串行传输链路上的数据信号进行中继,以及滤除抖动。该重定时器芯片可以为ASIC(Application Specific Integrated Circuit,专用集成电路),也可以为FPGA(Field‑Programmable Gate Array,现场可编程阵列),或者其他类型的集成电路。上述重定时器芯片包括根据本申请提供的任意一种重定时器,其中重定时器中的电路被集成在一片晶圆(die)上。
[0097] 本申请实施例还提供一种重定时器装置,包括一个或多个上述重定时器芯片。在一种实施方式中,上述一个或多个重定时器芯片被独立地封装,并设置于一个PCB(Printed Circuit Board,印制电路板)上;在一种实施方式中,上述一个或多个重定时器芯片也可以被独立地封装,并被分立地设置于多个PCB上,并通过PCB之间的连接口或数据连接线进行通信;在另一种实施方式中,上述多个重定时器芯片也可以被封装于一个封装结构中,并设置于PCB上。