CN115426066B - 数据同步电路、多端口以太网收发器及数据同步方法 - Google Patents
数据同步电路、多端口以太网收发器及数据同步方法 Download PDFInfo
- Publication number
- CN115426066B CN115426066B CN202211040266.XA CN202211040266A CN115426066B CN 115426066 B CN115426066 B CN 115426066B CN 202211040266 A CN202211040266 A CN 202211040266A CN 115426066 B CN115426066 B CN 115426066B
- Authority
- CN
- China
- Prior art keywords
- read
- pointer
- write
- port
- difference
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000012544 monitoring process Methods 0.000 claims abstract description 25
- 230000008859 change Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 4
- 230000008030 elimination Effects 0.000 claims description 2
- 238000003379 elimination reaction Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 description 21
- 230000001360 synchronised effect Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 101100350613 Arabidopsis thaliana PLL1 gene Proteins 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 3
- 101100082028 Arabidopsis thaliana PLL2 gene Proteins 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0685—Clock or time synchronisation in a node; Intranode synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/38—Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
- H04B1/40—Circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/38—Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
- H04B1/40—Circuits
- H04B1/50—Circuits using different frequencies for the two directions of communication
- H04B1/52—Hybrid arrangements, i.e. arrangements for transition from single-path two-direction transmission to single-direction transmission on each of two paths or vice versa
- H04B1/525—Hybrid arrangements, i.e. arrangements for transition from single-path two-direction transmission to single-direction transmission on each of two paths or vice versa with means for reducing leakage of transmitter signal into the receiver
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本公开提供了一种数据同步电路、多端口以太网收发器及数据同步方法,该数据同步电路包括:缓存器;写指针调整单元,用于在各个写时钟周期调整指向缓存器的写指针;读指针调整单元,用于在各个读时钟周期调整指向缓存器的读指针;读写指针差值监控单元,用于在各个读时钟周期监控写指针与读指针的差值,并根据当前读时钟周期监控到的差值生成下一读时钟周期的指针调整信号;其中,写指针在各个写时钟周期增加1,读指针在当前读时钟周期以当前读时钟周期的指针调整信号指示的步长增加,以使写指针和读指针在当前读时钟周期的差值位于预设范围内。本公开能够解决由于数据同步电路读写时钟频率偏差引起的跨端口串扰消除器无法正常工作的问题。
Description
技术领域
本公开涉及以太网技术领域,具体涉及一种数据同步电路、多端口以太网收发器及数据同步方法。
背景技术
在多端口以太网收发器中,每个端口的信号都会受到来自相邻端口的串扰影响,该串扰包括近端跨端口串扰和远端跨端口串扰。近端跨端口串扰是指相邻端口所发送数据对当前端口所接收数据的干扰。欲消除近端跨端口串扰,相邻端口所发送数据需传递到当前端口所设置的跨端口串扰消除器。
在数据的传递过程中要进行数据的同步。数据同步过程要确保数据传输到当前端口所设置跨端口串扰消除器的延迟处于一个稳定的状态,否则跨端口串扰消除器无法收敛。然而,现有多端口以太网收发器中各端口独立设置时钟源,不同端口的时钟源可能存在频率偏差,该频率偏差作用于数据同步电路即表现为数据同步电路的写时钟和读时钟存在频率偏差,这将导致经数据同步电路同步后的数据以持续增大或持续减小的延迟传输到跨端口串扰消除器,从而致使跨端口串扰消除器无法正常工作。
发明内容
为了解决上述技术问题,本公开提供了数据同步电路、多端口以太网收发器及数据同步方法,能够解决由于数据同步电路读写时钟频率偏差引起的跨端口串扰消除器无法正常工作的问题。
本公开的第一方面提供了一种数据同步电路,包括:
缓存器;
写指针调整单元,用于在各个写时钟周期调整写指针,所述写指针指向所述缓存器中要写入数据的存储单元;
读指针调整单元,用于在各个读时钟周期调整读指针,所述读指针指向所述缓存器中要读出数据的存储单元;
读写指针差值监控单元,用于在各个读时钟周期监控所述写指针与所述读指针的差值,并根据当前读时钟周期监控到的差值生成下一读时钟周期的指针调整信号;
其中,所述写指针在各个写时钟周期增加1,所述读指针在当前读时钟周期以当前读时钟周期的指针调整信号指示的步长增加,以使所述写指针与所述读指针在当前读时钟周期的差值位于预设范围内。
可选地,所述写指针调整单元在各个写时钟周期调整写指针后将调整后的写指针发送到所述读写指针差值监控单元;
所述读指针调整单元在各个读时钟周期调整读指针后将调整后的读指针发送到所述读写指针差值监控单元;
所述读写指针差值监控单元在各个读时钟周期将接收到的写指针和读指针同步到目标时钟域进行差值运算,以得到当前读时钟周期监控到的差值。
可选地,所述目标时钟域为读时钟域,所述读写指针差值监控单元通过执行如下步骤将接收到的写指针同步到读时钟域:
在读时钟落后于写时钟第一相位的情况下,所述读写指针差值监控单元将写指针的指向时间后移所述第一相位;
在读时钟超前于写时钟第二相位的情况下,所述读写指针差值监控单元将写指针的指向时间后移第三相位,所述第三相位和所述第二相位相加为一个读时钟周期的相位变化量。
可选地,所述读写指针差值监控单元在读时钟落后于写时钟第一相位的情况下,通过执行如下步骤生成下一读时钟周期的指针调整信号:
判断当前读时钟周期监控到的差值是否为预设差值,所述预设差值为所述写指针的初始值与所述读指针的初始值的差值;
在当前读时钟周期监控到的差值不为所述预设差值且为所述预设差值减1的情况下,生成指示步长为0的指针调整信号;
在当前读时钟周期监控到的差值不为所述预设差值且为所述预设差值加1的情况下,生成指示步长为2的指针调整信号。
可选地,所述读写指针差值监控单元在读时钟超前于写时钟第二相位的情况下,通过执行如下步骤生成下一读时钟周期的指针调整信号:
判断当前读时钟周期监控到的差值是否为预设差值与1的差,所述预设差值为所述写指针的初始值与所述读指针的初始值的差值;
在当前读时钟周期监控到的差值不为所述预设差值与1的差且为所述预设差值减2的情况下,生成指示步长为0的指针调整信号;
在当前读时钟周期监控到的差值不为所述预设差值与1的差且为所述预设差值的情况下,生成指示步长为2的指针调整信号。
可选地,所述缓存器为环形缓冲器,所述写指针的初始值与所述读指针的初始值的差值为所述环形缓冲器的深度的一半。
本公开的第二方面提供了一种多端口以太网收发器,所述多端口以太网收发器的每个端口包括:
加法器;
数据接收电路,用于将当前端口的接收数据发送至所述加法器;
跨端口串扰消除器和第一方面的任一种数据同步电路,所述数据同步电路用于将相邻端口的发送数据同步至所述跨端口串扰消除器;
其中,所述跨端口串扰消除器用于根据相邻端口的发送数据得到相邻端口对当前端口的跨端口串扰信号并将所述跨端口串扰信号发送至所述加法器,所述加法器用于从当前端口的接收数据中消除所述跨端口串扰信号。
可选地,所述多端口以太网收发器包括一个时钟源,所述多端口以太网收发器的多个端口共用所述时钟源。
可选地,所述叠加电路输出的是当前端口的消除干扰后的接收数据,所述多端口以太网收发器的每个端口还包括:
判决反馈均衡器,用于对当前端口的消除干扰后的接收数据进行接收端均衡处理以得到当前端口的原始接收数据;
维特比译码器,用于对所述原始接收数据进行译码以得到译码信号并将得到的所述译码信号反馈至所述判决反馈均衡器,以便所述判决反馈均衡器基于所述译码信号进行判决反馈均衡系数的校准。
本公开的第三方面提供了一种数据同步方法,包括:
在各个写时钟周期调整写指针,所述写指针指向缓存器中要写入数据的存储单元;
在各个读时钟周期调整读指针,所述读指针指向所述缓存器中要读出数据的存储单元;
在各个读时钟周期监控所述写指针与所述读指针的差值,并根据当前读时钟周期监控到的差值生成下一读时钟周期的指针调整信号;
其中,所述写指针在各个写时钟周期增加1,所述读指针在当前读时钟周期以当前读时钟周期的指针调整信号指示的步长增加,以使所述写指针与所述读指针在当前读时钟周期的差值位于预设范围内。
本公开的有益效果是:
本公开提供的数据同步电路包括:缓存器;写指针调整单元,用于在各个写时钟周期调整指向缓存器的写指针;读指针调整单元,用于在各个读时钟周期调整指向缓存器的读指针;读写指针差值监控单元,用于在各个读时钟周期监控写指针与读指针的差值,并根据当前读时钟周期监控到的差值生成下一读时钟周期的指针调整信号。其中,写指针在各个写时钟周期增加1,读指针在当前读时钟周期以当前读时钟周期的指针调整信号指示的步长增加,以使写指针和读指针在当前读时钟周期的差值位于预设范围内,这样经数据同步电路同步后的数据能够保持以稳定的延迟传输到跨端口串扰消除器,从而解决了由于数据同步电路读写时钟频率偏差引起的跨端口串扰消除器无法正常工作的问题。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚。
图1示出相关技术中单端口以太网收发器的通信示意图;
图2示出相关技术中多端口以太网收发器的通信示意图;
图3示出本公开实施例提供的一种多端口以太网收发器中各端口的结构示意图;
图4示出本公开实施例中多端口以太网收发器的一种通信示意图;
图5示出本公开实施例中多端口以太网收发器的另一种通信示意图;
图6示出本公开实施例中数据同步电路的结构示意图;
图7示出本公开实施例中环形缓冲器的工作示意图;
图8A示出本公开实施例中读写时钟相位相同情况下的读写指针;
图8B示出本公开实施例中读时钟相位落后于写时钟相位的情况下的读写指针;
图8C示出本公开实施例中读时钟相位超前于写时钟相位的情况下的读写指针;
图9示出本公开实施例提供的数据同步方法的流程图。
具体实施方式
为了便于理解本公开,下面将参照相关附图对本公开进行更全面的描述。附图中给出了本公开的较佳实施例。但是,本公开可以通过不同的形式来实现,并不限于本文所描述的实施例。相反的,提供这些实施例的目的是使对本公开内容的理解更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。在本公开的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本公开。
图1所示为单端口以太网收发器的通信示意图。参照图1,收发器A作为单端口以太网收发器,在四对差分双绞线上实现数据的全双工传输,每对差分双绞线同时在进行数据的接收和发送。为了实现上述目标,IEEE 802.3规定了主机(MASTER)和从机(SLAVE)的机制。如图1所示,该机制的时序关系为:作为主机的收发器A参考本地时钟txclk1将数据发送给作为从机的收发器B;收发器B从接收的数据中恢复出收发器A的时钟以得到时钟rxclk2,然后将恢复出的时钟rxclk2作为自己的发送参考时钟txclk2以用于将数据发送给收发器A;收发器A接收到收发器B的数据后也会从接收的数据中恢复出收发器B的时钟以得到时钟rxclk1。上述机制保证了两收发器的数据收发时钟频率是相等的,因为时钟源只有一个(即收发器A设置的时钟源PLL1)且两收发器的时钟恢复电路一直在进行时钟的相位和频率的跟踪。
图2所示为多端口以太网收发器的通信示意图。参照图2,收发器A作为多端口以太网收发器,包括端口A1和端口A2,端口A1和收发器B1进行通信,端口A2和收发器B2进行通信,其中,相互通信的各对设备中主机和从机的设置是不固定的,但需保证一个为从机一个为主机,从而满足以上所述的主机和从机的机制并按照上述过程进行数据的接收和发送。如图2所示,端口A1和收发器B1进行通信时数据收发的时钟来源于时钟源PLL1,端口A2和收发器B2进行通信时数据收发的时钟来源于时钟源PLL2,即各对通信设备使用独立的时钟源。
图2示出收发器A存在端口A1和端口A2之间的跨端口串扰,该串扰包括近端跨端口串扰和远端跨端口串扰。以图2中点划线所示的端口A1对端口A2的串扰为例,近端跨端口串扰是指端口A1所发送数据对端口A2所接收数据的干扰。欲消除该近端跨端口串扰,端口A2需设置跨端口串扰消除器且端口A1所发送数据需经端口A2设置的数据同步电路同步到端口A2设置的跨端口串扰消除器中。然而,由于多端口收发器的时钟源有多个,IEEE 802.3规定收发器的时钟频率最大可以有100ppm的偏差,因而不同时钟源之间可以存在高达200ppm的频率偏差,该频率偏差作用于上述数据同步电路即表现为数据同步电路的写时钟和读时钟存在频率偏差,这将导致经数据同步电路同步后的数据以持续增大或持续减小的延迟传输到跨端口串扰消除器,从而导致跨端口串扰消除器无法收敛。
鉴于此,本公开对多端口以太网收发器的结构进行了改进,以解决由于数据同步电路读写时钟频率偏差引起的跨端口串扰消除器无法正常工作的问题。
图3所示为本公开实施例提供的一种多端口以太网收发器中各端口的结构示意图。参照图3,多端口以太网收发器中各端口包括:数据发送电路310、线驱动和混合电路320、数据接收电路330、加法器340和跨端口串扰消除电路350。
数据发送电路310与线驱动和混合电路320连接,用于将当前端口要发送的数据发送到线驱动和混合电路320。数据发送电路310可以包括依次连接PCS编码器311、波形调整器312和数模转换器313,这样PCS编码器311编码后的待发送数据经波形调整器312进行滤波调整后传输到数模转换器313而转换为模拟信号输出到线驱动和混合电路320。
线驱动和混合电路320用于将从数模转换器313输出的模拟信号输出到当前端口的收发端子(图3中未示出),以通过和收发端子连接的差分双绞线传输到远端的以太网收发器。由于以太网收发器采用发送和接收共用端子的架构,因此线驱动和混合电路320也将从收发端子上接收远端的以太网收发器发送的模拟信号,该接收到的模拟信号即为当前端口的接收数据,其中带有来自相邻端口的跨端口串扰信号。
数据接收电路330分别与线驱动和混合电路320以及加法器340连接,用于将当前端口的接收数据发送至加法器340。数据接收电路330可以包括依次连接的AFE(全称Analogfront End,即模拟前端)电路331、模数转换器332和FFE(全称Feed ForwardEqualization,即前向反馈均衡器)333,其中,AFE电路331将上述接收到的模拟信号进行初步处理(例如针对差分双绞线较长造成的信号衰减进行模拟信号的放大处理)后送入模数转换器332以转换为数字输入信号,FFE 333将根据信号特征从数字输入信号中消除信号间的干扰(例如在传输信号的差分双绞线较长的情况下,对数字输入信号进行高频补偿以对抗码间串扰)。消除信号间干扰后的数字输入信号由加法器340接收。
跨端口串扰消除电路350包括相互连接的数据同步电路351和跨端口串扰消除器352,其中,数据同步电路351用于将相邻端口的发送数据同步至跨端口串扰消除器352;跨端口串扰消除器352用于根据相邻端口的发送数据得到相邻端口对当前端口的跨端口串扰信号并将得到的跨端口串扰信号发送至加法器340,以便加法器340从当前端口的接收数据中消除所述跨端口串扰信号。
一些示例中,多端口以太网收发器中各端口还可以包括本地噪声消除电路380。具体地,本地噪声消除电路380包括数据同步电路381、本地端口串扰消除器382和回波消除器383,其中,数据同步电路381分别与PCS编码器311以及本地端口串扰消除器382和回波消除器383连接,从而将PCS编码器311编码后的待发送数据同步至本地端口串扰消除器382和回波消除器383;本地端口串扰消除器382还连接加法器340,从而将根据编码后的待发送数据确定的本地端口串扰信号发送到加法器340;同样,回波消除器383也连接加法器340,从而将根据编码后的待发送数据确定的回波信号发送到加法器340。这样,加法器340能够通过加法运算从当前端口的接收数据中还消除本地端口串扰信号和回波信号。
加法器340从当前端口的接收数据中消除跨端口串扰信号、本地端口串扰信号和回波信号后,输出当前端口的消除干扰后的接收数据。在一些示例中,多端口以太网收发器中各端口还可以包括判决反馈均衡器(Decision Feedback Equalier,简称DFE)360和维特比(Viterbi)译码器370,其中,判决反馈均衡器360用于对当前端口的消除干扰后的接收数据进行接收端均衡处理,接收端均衡处理主要作用在于消除时间上超前和滞后的码间干扰(inter-symbol interference,简称ISI),最终得到当前端口的原始接收数据;维特比译码器370用于对所述原始接收数据进行译码以得到译码信号并将得到的译码信号反馈至判决反馈均衡器360,以便判决反馈均衡器360基于该译码信号进行判决反馈均衡系数的校准。进一步,多端口以太网收发器中各端口还包括PCS解码器390,所述原始接收数据输入到PCS解码器390得以解码,从而得到远端以太网收发器发送的要当前端口接收的数据。
接下来,由于跨端口串扰消除电路350是存在本公开技术问题的模块,因而着重介绍跨端口串扰消除电路350。
在跨端口串扰消除电路350中,跨端口串扰消除器352包括一滤波器,该滤波器的输入为相邻端口的发送数据,滤波器系数的值代表了相邻端口的发送数据和当前端口的接收数据之间的相关性,因此滤波器输出相邻端口的发送数据对当前端口的接收数据所造成的干扰信号,即输出以上所述的相邻端口对当前端口的跨端口串扰信号。实践中,在相邻端口的发送数据传输到跨端口串扰消除器352的延迟处于一个稳定的状态时,相邻端口的发送数据和当前端口的接收数据之间的相关性稳定,因而通过最小化判决反馈均衡器360的平均误差即可确定滤波器系数的值,且确定的滤波器系数的值可持续用于得到后续的相邻端口对当前端口的跨端口串扰信号。
上述判决反馈均衡器360的平均误差,是指判决反馈均衡器360判决得到上述原始接收数据所依据的数据与上述原始接收数据所对应标准依据值之间的绝对差的平均值。例如,判决反馈均衡器360依据数据129得到上述原始接收数据为2,但2对应的标准依据值是128,误差即是129与128的差的绝对值,多个这样绝对值的平均则为判决反馈均衡器360的平均误差。
然而,若相邻端口的发送数据传输到跨端口串扰消除器352的延迟不稳定,则跨端口串扰消除器352所包括的滤波器的系数无法收敛,这样跨端口串扰消除器352则无法正常工作。
在一些实施例中,多端口以太网收发器包括一个时钟源,多端口以太网收发器的多个端口共用该时钟源。如图4所示,收发器A作为一个多端口收发器,设置一个时钟源PLL,此情况下若收发器A的各个端口皆为主机模式,则收发器A的各个端口的数据收发时钟皆来源于该时钟源PLL(如图中虚线和点线所分别标示)。基于此,图中指向数据同步电路351的虚线表示端口A1的发送数据以端口A1的数据收发时钟写入数据同步电路351;指向数据同步电路351的点线表示数据同步电路351中的数据采用端口A2的数据收发时钟读出,从而数据同步电路351具有完全同频的读时钟和写时钟,这样有效确保了任一端口的相邻端口的发送数据以稳定的延迟同步到当前端口的跨端口串扰消除器352。
根据IEEE802.3的规定,多端口以太网收发器在进行自协商时被优先设置为主机,因此多端口收发器的各端口皆为主机模式有以下两种场景:(1)多端口以太网收发器的各个端口均和单端口以太网收发器链接;(2)多端口以太网收发器的各个端口均被强制设置为主机模式。这两种场景下,多端口以太网收发器只设置一个时钟源即可使得跨端口串扰消除器352正常工作,而且还有利于多端口以太网收发器的电路面积小型化和成本降低。
一些应用中,多端口以太网收发器中可能出现至少有一个端口是从机模式的情况,例如和多端口以太网收发器中一端口通信的是另一多端口以太网收发器的一个端口,又例如用户手动设置多端口以太网收发器的某一端口为从机模式。如图5所示,收发器A作为一个多端口收发器,其两个端口中端口A1是从机模式。该情况下,端口A1的数据收发时钟如图中虚线所示来源于收发器B1设置的时钟源PLL2,端口A2的数据收发时钟如图中点线所示来源于收发器A设置的时钟源PLL1。基于此,图中指向数据同步电路351的虚线表示端口A1的发送数据参考时钟txclkA1写入数据同步电路351;指向数据同步电路351的点线表示数据同步电路351中的数据参考时钟rxclkA2读出,这样即使收发器A只设置一个时钟源PLL1,数据同步电路351的读写时钟还是可能存在200ppm的时钟频率偏差。若同时考虑时钟恢复电路的非理想性,数据同步电路351的读写时钟的频率偏差更可能超过200ppm。
为了使得多端口以太网在各种应用中都能确保跨端口串扰消除器352正常工作,本公开实施例提供了一种新型的数据同步电路351。
图6所示为本公开实施例提供的数据同步电路351的结构示意图。参照图6,数据同步电路351包括:缓存器3511;写指针调整单元3512,用于在各个写时钟周期调整写指针,写指针指向缓存器中要写入数据的存储单元;读指针调整单元3513,用于在各个读时钟周期调整读指针,读指针指向缓存器中要读出数据的存储单元;读写指针差值监控单元3514,用于在各个读时钟周期监控写指针与读指针的差值,并根据当前读时钟周期监控到的差值生成下一读时钟周期的指针调整信号;其中,写指针在写指针调整单元3512的调整下,各个写时钟周期增加1,即各个写时钟周期写指针都会在缓存器3511中后移一个存储单元以在后移后所指存储单元中写入一笔数据;读指针在读指针调整单元3512的调整下,在当前读时钟周期以当前读时钟周期的指针调整信号指示的步长增加,以使写指针与读指针在当前读时钟周期的差值位于预设范围内。
具体地,若读写指针差值监控单元3514在前一读时钟周期监控到写指针与读指针的差值位于预设范围内,则生成的当前读时钟周期的指针调整信号所指示的步长为1;若读写指针差值监控单元3514在前一读时钟周期监控到写指针与读指针的差值不位于预设范围内,则生成的当前读时钟周期的指针调整信号所指示的步长不为1,此情况下,由于读写指针差值监控单元3514会在各个读时钟周期监控写指针与读指针的差值,因而指针调整信号所指示步长只需相较于1稍作增减(例如为0或2)即可使写指针与读指针在当前读时钟周期的差值恢复到预设范围内。
本公开实施例所提供的数据同步电路351中,缓存器351在硬件上可以为一个诸如静态随机存取存储器的易失性存储设备,然后通过软件的方式通过配置读指针和写指针而构建成环形缓冲器。环形缓冲器是一种用于表示一个固定尺寸、头尾相连的缓冲区的数据结构,一个有用特性是当一个数据元素被用掉后,其余数据元素不需要移动其存储位置,因而适合实现先进先出。写操作能够覆盖环形缓冲器中已被处理的数据,因而环形缓冲器可以用于数据先进先出的循环缓冲。
图7所示为环形缓冲器的工作示意图。参照图7中的(a)图,写指针的初始值和读时针的初始值的差值可以为环形缓冲器的深度的一半,例如在环形缓冲器的深度为2h个存储单元的情况下,读指针的初始值为第0个存储单元,而写指针的初始值为第h个存储单元。这样能够保证缓冲区具有充足的缓存裕量,从而读指针很大概率上不会超过写指针而指向没有写入数据的存储单元,同时写指针也在很大概率上不会超过读指针而在没有被读出数据的存储单元中写入新数据。上述读指针的初始值是指在第一个读时钟周期读指针所指向的存储单元,写指针的初始值是指在第一个写时钟周期写指针所指向的存储单元。
参照图7,在写指针的初始值和读时针的初始值的差值为环形缓冲器的深度的一半的情况下,环形缓冲器要一直维持在半满的附近状态,这样方可使得跨端口串扰消除器352的滤波器系数稳定在相邻的一个抽头(tap)内,从而不至于滤波器出现巨大晃动而无法收敛。因此,若读时钟频率等于写时钟频率,则写指针与读指针的差值不变,读时针在各个读时钟周期都增加1;若读时钟频率大于写时钟频率,从而在一个读时钟周期出现如图7中(b)图所示的情形,则读时针在下一个读时钟周期的步长可以为0,即读指针重复读出同一存储单元的数据;若读时钟频率小于写时钟频率,从而在一个读时钟周期出现如图7中(c)图所示的情形,则读时针在下一个读时钟周期的步长可以为2,即读指针丢弃一个存储单元的数据。
如此,在写时钟来源于相邻端口而读时钟来源于当前端口的情况下,若读写时钟频率相同,则各个写时钟周期写指针增加1,各个读时钟周期读指针增加1;若读写时钟频率不相同,则各个写时钟周期写指针仍然增加1,而读指针通过重复读取一存储单元或丢弃一存储单元的数据来纠正与写指针的间隔变化,从而相邻端口的发送数据以相对稳定的延迟同步至跨端口串扰消除器352。
在一个可选的实施例中,写指针调整单元3512在各个写时钟周期调整写指针后将调整后的写指针发送到读写指针差值监控单元3514;读指针调整单元3513在各个读时钟周期调整读指针后将调整后的读指针发送到读写指针差值监控单元3514;读写指针差值监控单元3514在各个读时钟周期将接收到的写指针和读指针同步到目标时钟域进行差值运算,以得到当前读时钟周期监控到的差值,这样得到的差值较为准确,后续输出到读指针调整单元3513后使得读指针调整单元3513准确纠正读指针与写指针的间隔变化。
具体地,目标时钟域可以为写时钟域也可以为读时钟域。由于读写指针差值监控电路3514是在各个读时钟周期监控写指针与读指针的差值,因而通常在各个读时钟周期将接收到的写指针同步到读时钟域来和读指针比较,这样读时钟周期不移动,该读时钟周期的读指针是既定的,只需确定该读时钟周期的同步后的写指针即可,读写指针间隔的计算过程以一个不移动的读时钟周期为参考进行。图8A所示为读时钟和写时钟相位相同的情况,即如图中所示读时钟的初始时刻t0r和写时钟的初始时刻t0w重合;图8B所示为读时钟相位落后于写时钟相位的情况,即如图中所示读时钟的初始时刻t0r在写时钟的初始时刻t0w之后;图8C所示为读时钟相位超前于写时钟相位的情况,即如图中所示读时钟的初始时刻t0r在写时钟的初始时刻t0w之前。
在目标时钟域为读时钟域的情况下,读写指针差值监控单元3514可以通过执行如下步骤将接收到的写指针同步到读时钟域:参照图8B,在读时钟落后于写时钟第一相位w1的情况下,读写指针差值监控单元3514将写指针的指向时间后移第一相位w1来得到同步到读时钟域后的写指针;照图8C,在读时钟超前于写时钟第二相位w2的情况下,读写指针差值监控单元3514将写指针的指向时间后移第三相位w3来得到同步到读时钟域后的写指针,第三相位w3和第二相位w2相加为一个读时钟周期的相位变化量。
为了更清楚地理解相位,图8A、图8B和图8C中读时钟和写时钟的频率设置为相同。该情况下,任一读时钟周期内,读指针都对应有指向时间和读时针指向时间严格一致的同步到读时钟域的写指针,通过计算同一读时钟周期中读时针所对应的同步到读时钟域的写指针与该读指针的差值,即得到该读时钟周期内写指针与读指针的差值。以图8B中第三个读时钟周期为例,该读时钟周期读指针的值为2,该读指针所对应的同步到读时钟域的写指针取值10,因而第三个读时钟周期内写指针与读指针的差值为8。本公开实施例中,读指针的值即读指针所指地址,体现为读指针所指存储单元的排列序号;同样地,写指针的值为写指针所指地址,体现为写指针所指存储单元的排列序号。
在读时钟和写时钟的频率不相同的情况下,任一读时钟周期内,读指针都不对应有指向时间和读时针指向时间严格一致的同步到读时钟域的写指针。该种情况下,一读时钟周期内读时针所对应的同步到读时钟域的写指针,为指向时间的相位移动较小而可以完全位于该读时钟周期或完全包括该读时钟周期的同步到读时钟域的写指针。然后,同样通过计算同一读时钟周期中读时针所对应的同步到读时钟域的写指针与该读指针的差值,即得到该读时钟周期内写指针与读指针的差值。
进一步,读写指针差值监控单元3514在读时钟落后于写时钟第一相位w1的情况下,通过执行如下步骤生成下一读时钟周期的指针调整信号:判断当前读时钟周期监控到的差值是否为预设差值,预设差值为写指针的初始值与读指针的初始值的差值;在当前读时钟周期监控到的差值不为所述预设差值且为预设差值减1的情况下,生成指示步长为0的指针调整信号;在当前读时钟周期监控到的差值不为所述预设差值且为预设差值加1的情况下,生成指示步长为2的指针调整信号。
例如,图8B中写指针的初始值为8,读指针的初始值为0,预设差值为8,若当前读时钟周期监控到的差值为7,则生成指示步长为0的指针调整信号,即下一读时钟周期重复读取当前读时钟周期所读取的存储单元;若当前读时钟周期监控到的差值为9,则生成指示步长为2的指针调整信号,即下一读时钟周期隔一个存储单元来读取数据。
进一步,读写指针差值监控单元3514在读时钟超前于写时钟第二相位w2的情况下,通过执行如下步骤生成下一读时钟周期的指针调整信号:判断当前读时钟周期监控到的差值是否为预设差值与1的差,预设差值为写指针的初始值与读指针的初始值的差值;在当前读时钟周期监控到的差值不为所述预设差值与1的差且为预设差值减2的情况下,生成指示步长为0的指针调整信号;在当前读时钟周期监控到的差值不为所述预设差值与1的差且为预设差值的情况下,生成指示步长为2的指针调整信号。
例如,图8C中写指针的初始值为8,读指针的初始值为0,预设差值为8,预设差值与1的差为7,若当前读时钟周期监控到的差值为6,则生成指示步长为0的指针调整信号,即下一读时钟周期重复读取当前读时钟周期所读取的存储单元;若当前读时钟周期监控到的差值为8,则生成指示步长为2的指针调整信号,即下一读时钟周期读指针隔一个存储单元来读取数据。
基于上述过程生成的指针调整信号,使得读写指针的间隔变化不超过一个存储单元,因而跨端口串扰消除器352所包括的滤波器的系数稳定在相邻的一个抽头内。示例性地,跨端口串扰消除器352所包括的滤波器的系数为(1,2,-3,5,4),输入该滤波器的相邻端口的发送数据为(A,B,C,D,E),其中,数据“A”、“B”、“C”、“D”和“E”顺次写入缓存器3511内相继排列的五个存储单元中。由于数据同步电路351内读写指针的间隔变化不超过一个存储单元,因而本应作用于数据“C”的系数“-3”通常作用于数据“B”、“C”和“D”上,几乎不会作用于数据“A”和“E”。应当理解的是,这里的示例只是为了理解,并不表示对本公开的限定。
需要说明的是,在多端口以太网的实际应用中,读写时钟之间约200ppm的频差使得上述重复读取数据和舍弃数据的情况不是常常发生,这样对跨端口串扰消除器352得到跨端口串扰信号的准确性的影响并不明显,但跨端口串扰消除器352因数据同步电路351的读写时钟频率偏差而导致的无法正常工作的问题得以有效解决。
本公开实施例提供的数据同步电路351,只需调整读指针的位置即可纠正读写指针的间隔变化,因而只需增加读写指针的监控和调整电路即可,而无需要额外增加频率偏移的估计电路来计算频率偏差,这样电路复杂度低、面积小。
相应于上述数据同步电路3512,本公开实施例还提供了一种数据同步方法。图9所示为本公开实施例提供的数据同步方法的流程图。参照图9,本公开提供的数据同步方法包括:
步骤S910,在各个写时钟周期调整写指针,写指针指向缓存器中要写入数据的存储单元;
步骤S920,在各个读时钟周期调整读指针,读指针指向缓存器中要读出数据的存储单元;
步骤S930,在各个读时钟周期监控写指针与读指针的差值,并根据当前读时钟周期监控到的差值生成下一读时钟周期的指针调整信号以指示读指针在下一读之中周期调整的步长,从而使得写指针与读指针在下一读时钟周期的差值位于预设范围内。
需要说明的是,数据同步方法进一步的执行过程可以参照以上数据同步电路3512的相关描述,这里不再赘述。
本公开实施例提供的数据同步方法通过控制读指针在各个读时钟周期调整的步长,实现了对写指针与读指针间隔变化的纠正,从而能够解决由于数据同步电路读写时钟频率偏差引起的跨端口串扰消除器无法正常工作的问题。并且由于无需要额外增加频率偏移的估计过程来计算频率偏差,因而纠正读写指针间隔变化的复杂度较低,计算量较少。
此外,在本文中,所含术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
最后应说明的是:显然,上述实施例仅仅是为清楚地说明本公开所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本公开的保护范围之中。
Claims (10)
1.一种数据同步电路,其特征在于,包括:
缓存器;
写指针调整单元,用于在各个写时钟周期调整写指针,所述写指针指向所述缓存器中要写入数据的存储单元;
读指针调整单元,用于在各个读时钟周期调整读指针,所述读指针指向所述缓存器中要读出数据的存储单元;
读写指针差值监控单元,用于在各个读时钟周期监控所述写指针与所述读指针的差值,并根据当前读时钟周期监控到的差值生成下一读时钟周期的指针调整信号;
其中,所述写指针在各个写时钟周期增加1,所述读指针在当前读时钟周期以当前读时钟周期的指针调整信号指示的步长增加,以使所述写指针与所述读指针的差值相较于预设差值的变化不大于1,所述预设差值为所述写指针的初始值与所述读指针的初始值的差值。
2.根据权利要求1所述的数据同步电路,其特征在于,
所述写指针调整单元在各个写时钟周期调整写指针后将调整后的写指针发送到所述读写指针差值监控单元;
所述读指针调整单元在各个读时钟周期调整读指针后将调整后的读指针发送到所述读写指针差值监控单元;
所述读写指针差值监控单元在各个读时钟周期将接收到的写指针和读指针同步到目标时钟域进行差值运算,以得到当前读时钟周期监控到的差值。
3.根据权利要求2所述的数据同步电路,其特征在于,所述目标时钟域为读时钟域,所述读写指针差值监控单元通过执行如下步骤将接收到的写指针同步到读时钟域:
在读时钟落后于写时钟第一相位的情况下,所述读写指针差值监控单元将写指针的指向时间后移所述第一相位;
在读时钟超前于写时钟第二相位的情况下,所述读写指针差值监控单元将写指针的指向时间后移第三相位,所述第三相位和所述第二相位相加为一个读时钟周期的相位变化量。
4.根据权利要求3所述的数据同步电路,其特征在于,所述读写指针差值监控单元在读时钟落后于写时钟第一相位的情况下,通过执行如下步骤生成下一读时钟周期的指针调整信号:
判断当前读时钟周期监控到的差值是否为所述预设差值;
在当前读时钟周期监控到的差值不为所述预设差值且为所述预设差值减1的情况下,生成指示步长为0的指针调整信号;
在当前读时钟周期监控到的差值不为所述预设差值且为所述预设差值加1的情况下,生成指示步长为2的指针调整信号。
5.根据权利要求3所述的数据同步电路,其特征在于,所述读写指针差值监控单元在读时钟超前于写时钟第二相位的情况下,通过执行如下步骤生成下一读时钟周期的指针调整信号:
判断当前读时钟周期监控到的差值是否为所述预设差值与1的差;
在当前读时钟周期监控到的差值不为所述预设差值与1的差且为所述预设差值减2的情况下,生成指示步长为0的指针调整信号;
在当前读时钟周期监控到的差值不为所述预设差值与1的差且为所述预设差值的情况下,生成指示步长为2的指针调整信号。
6.根据权利要求1所述的数据同步电路,其特征在于,所述缓存器为环形缓冲器,所述写指针的初始值与所述读指针的初始值的差值为所述环形缓冲器的深度的一半。
7.一种多端口以太网收发器,其特征在于,所述多端口以太网收发器的每个端口包括:
加法器;
数据接收电路,用于将当前端口的接收数据发送至所述加法器;
跨端口串扰消除器和权利要求1-6任一项的数据同步电路,所述数据同步电路用于将相邻端口的发送数据同步至所述跨端口串扰消除器;
其中,所述跨端口串扰消除器用于根据相邻端口的发送数据得到相邻端口对当前端口的跨端口串扰信号并将所述跨端口串扰信号发送至所述加法器,所述加法器用于从当前端口的接收数据中消除所述跨端口串扰信号。
8.根据权利要求7所述的多端口以太网收发器,其特征在于,包括一个时钟源,所述多端口以太网收发器的多个端口共用所述时钟源。
9.根据权利要求7所述的多端口以太网收发器,其特征在于,所述加法器输出的是当前端口的消除干扰后的接收数据,所述多端口以太网收发器的每个端口还包括:
判决反馈均衡器,用于对当前端口的消除干扰后的接收数据进行接收端均衡处理以得到当前端口的原始接收数据;
维特比译码器,用于对所述原始接收数据进行译码以得到译码信号并将得到的所述译码信号反馈至所述判决反馈均衡器,以便所述判决反馈均衡器基于所述译码信号进行判决反馈均衡系数的校准。
10.一种数据同步方法,其特征在于,包括:
在各个写时钟周期调整写指针,所述写指针指向缓存器中要写入数据的存储单元;
在各个读时钟周期调整读指针,所述读指针指向所述缓存器中要读出数据的存储单元;
在各个读时钟周期监控所述写指针与所述读指针的差值,并根据当前读时钟周期监控到的差值生成下一读时钟周期的指针调整信号;
其中,所述写指针在各个写时钟周期增加1,所述读指针在当前读时钟周期以当前读时钟周期的指针调整信号指示的步长增加,以使所述写指针与所述读指针的差值相较于预设差值的变化不大于1,所述预设差值为所述写指针的初始值与所述读指针的初始值的差值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211040266.XA CN115426066B (zh) | 2022-08-29 | 2022-08-29 | 数据同步电路、多端口以太网收发器及数据同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211040266.XA CN115426066B (zh) | 2022-08-29 | 2022-08-29 | 数据同步电路、多端口以太网收发器及数据同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115426066A CN115426066A (zh) | 2022-12-02 |
CN115426066B true CN115426066B (zh) | 2024-03-29 |
Family
ID=84201007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211040266.XA Active CN115426066B (zh) | 2022-08-29 | 2022-08-29 | 数据同步电路、多端口以太网收发器及数据同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115426066B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115622679B (zh) * | 2022-12-19 | 2023-02-28 | 惠每数科(北京)医疗科技有限公司 | 多端口同步通信管理系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101296217B (zh) * | 2007-04-24 | 2011-07-06 | 中芯国际集成电路制造(上海)有限公司 | 弹性缓冲装置 |
CN205176827U (zh) * | 2014-10-07 | 2016-04-20 | 意法半导体股份有限公司 | 具有突发指示符的双同步电子设备 |
CN112887773A (zh) * | 2021-01-22 | 2021-06-01 | 昆腾微电子股份有限公司 | 一种音频设备的同步方法及装置 |
CN112965689A (zh) * | 2021-02-26 | 2021-06-15 | 西安微电子技术研究所 | 一种基于源同步的分布式异步fifo数据交互方法及fifo结构 |
CN113110821A (zh) * | 2021-04-19 | 2021-07-13 | 中国电子科技集团公司第五十八研究所 | 一种延迟可配置的异步fifo电路 |
WO2021256206A1 (ja) * | 2020-06-15 | 2021-12-23 | Nttエレクトロニクス株式会社 | データ転送回路及び通信装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8767762B2 (en) * | 2012-06-22 | 2014-07-01 | Texas Instruments Incorporated | Physical transceiver gearbox |
-
2022
- 2022-08-29 CN CN202211040266.XA patent/CN115426066B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101296217B (zh) * | 2007-04-24 | 2011-07-06 | 中芯国际集成电路制造(上海)有限公司 | 弹性缓冲装置 |
CN205176827U (zh) * | 2014-10-07 | 2016-04-20 | 意法半导体股份有限公司 | 具有突发指示符的双同步电子设备 |
WO2021256206A1 (ja) * | 2020-06-15 | 2021-12-23 | Nttエレクトロニクス株式会社 | データ転送回路及び通信装置 |
CN112887773A (zh) * | 2021-01-22 | 2021-06-01 | 昆腾微电子股份有限公司 | 一种音频设备的同步方法及装置 |
CN112965689A (zh) * | 2021-02-26 | 2021-06-15 | 西安微电子技术研究所 | 一种基于源同步的分布式异步fifo数据交互方法及fifo结构 |
CN113110821A (zh) * | 2021-04-19 | 2021-07-13 | 中国电子科技集团公司第五十八研究所 | 一种延迟可配置的异步fifo电路 |
Also Published As
Publication number | Publication date |
---|---|
CN115426066A (zh) | 2022-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4811360A (en) | Apparatus and method for adaptively optimizing equalization delay of data communication equipment | |
US6240128B1 (en) | Enhanced echo canceler | |
US7245686B2 (en) | Fast skew detector | |
US7447262B2 (en) | Adaptive blind start-up receiver architecture with fractional baud rate sampling for full-duplex multi-level PAM systems | |
JP4455015B2 (ja) | キャンセラ回路及び制御方法 | |
US7747292B2 (en) | Techniques for adaptive interference cancellation | |
US20070009017A1 (en) | Residual Echo Reduction for a Full Duplex Transceiver | |
US11212071B2 (en) | Receiver | |
WO2008026289A1 (fr) | Circuit de transmission de données et procédé de transmission | |
CN115426066B (zh) | 数据同步电路、多端口以太网收发器及数据同步方法 | |
US7688968B1 (en) | Adaptive analog echo/next cancellation | |
EP2634985A2 (en) | Extension of ethernet PHY to channels with bridged tap wires | |
TW201312981A (zh) | 時序恢復模組與時序恢復方法 | |
US7782929B2 (en) | Multiple transmission protocol transceiver | |
US7920649B2 (en) | Recovering precoded data using a Mueller-Müller recovery mechanism | |
US7236463B2 (en) | Transceiver for echo and near-end crosstalk cancellation without loop timing configuration | |
US8345583B2 (en) | Method for enhancing ethernet channel impairment and apparatus using the same | |
US7106753B2 (en) | Interpolated timing recovery system for communication transceivers | |
US5121415A (en) | Adjusting filter coefficients | |
US20080240412A1 (en) | Maintaining convergence of a receiver during changing conditions | |
CN118101396B (zh) | 信息接收方法及基于ADC的SerDes系统 | |
TWI718808B (zh) | 干擾消除器與干擾消除方法 | |
JP2888174B2 (ja) | 干渉補償器 | |
CN118694439A (zh) | 信号处理方法和装置 | |
CN112803959A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |