一种信号倾斜补偿装置及方法与流程

文档序号:32247901发布日期:2022-11-19 00:09阅读:41来源:国知局
一种信号倾斜补偿装置及方法与流程

1.本发明涉及数据通信技术领域,尤其涉及一种信号倾斜补偿装置及方法。


背景技术:

2.在数据通信中,pcb板卡线路质量是影响数据通信质量的最主要因素。而为了减小外在因素对数据传输质量的影响,通常需要在芯片内部嵌入倾斜补偿机制以提高数据通信鲁棒性。
3.现有技术中倾斜补偿通常是通过硬件电路和软件计算协同完成,以消除线长失配等板卡线路质量问题导致的时钟与数据信号倾斜。上述倾斜补偿硬件电路内部通常包含一组延迟单元(线延单元),然后结合软件一起完成信号倾斜程度计算,从而来补偿线延时,但是该类方式会有以下问题:
4.1)由于需要cpu完成信号倾斜程度等的计算,需要占用cpu计算资源。
5.2)线延单元的延时有限,只能微调,因而信号倾斜补偿量通常是固定不可调的,在实际应用时可能即便采用最大延时量依然无法正确采集到数据。
6.现有技术中芯片设计常用的信号倾斜补偿量通常为32tap,流片成芯片后精度是固定的。例如频率300m、精度是0.1ns的情况下,流片后能调节的信号周期只有3.2ns;而当输入频率变成100m时,信号周期为10ns,该情况下会导致信号有6.8ns的区域无法涵盖;当信号质量较差时,例如:信号的稳定区只有30%,此时很大概率将无法采集到正常数据。


技术实现要素:

7.本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种实现简单、成本低、信号倾斜补偿量动态可调,灵活性强且实时性与效率高的信号倾斜补偿装置及方法。
8.为解决上述技术问题,本发明提出的技术方案为:
9.一种信号倾斜补偿装置,包括:
10.时钟检测模块,用于检测输入时钟信号的频率输出;
11.delay模块,用于接入数据信号并进行延时,其中根据所述时钟检测模块检测到的频率以及数据解析控制模块输出的delay值控制所述延时量,输出延时后数据;
12.数据解析控制模块,用于接收所述延时后数据并解析其中的ping报文,根据解析结果调整输出的delay值。
13.进一步的,所述delay模块包括相互连接的delay控制单元以及delay延时单元,所述delay控制单元根据所述时钟检测模块检测到的频率计算控制值,输出给所述delay延时单元,所述delay延时单元根据所述控制值、所述delay值控制产生对应时长的延时。
14.进一步的,所述delay延时单元包括线延子单元以及选择子单元,所述线延子单元包括多个依次连接的延时电路,每个所述延时电路的输出端与所述选择子单元连接,所述选择子单元根据所述控制值、所述delay值控制选择接入一个目标延时电路,以将数据信号
通过目标延时电路输出。
15.进一步的,所述控制值为所需使用的延时电路中相邻延时电路之间的跳变值,所述选择子单元根据所述跳变值从所述线延子单元中确定出所需使用的所有延时电路,并根据所述delay值从确定出的延时电路中选取出目标延时电路。
16.进一步的,所述跳变值按照300/fre_det计算得到,其中fre_det为所述检测得到的频率值;。
17.进一步的,所述选择子单元从确定出所需使用的所有延时电路中选取与所述delay值对应的延时电路作为目标延时电路。
18.进一步的,所述选择子单元为多选一选择器,所述多选一选择器的控制端分别接入所述控制值、所述delay值。
19.进一步的,所述数据解析控制模块包括解析电路单元以及存储单元,所述解析电路单元用于解析所述延时后数据中的ping报文,并不断调整delay值,将能够解析成功的最小delay值以及开始解析失败所对应的最大delay值保存在所述存储单元中。
20.进一步的,所述数据解析控制模块还包括最佳采样点计算单元,用于根据所述存储单元中存储的所述最小delay值、最大delay值计算出最佳采样点对应的所述delay值输出。
21.一种信号倾斜补偿方法,包括:
22.检测输入时钟信号的频率;
23.接收数据信号并进行延时,其中根据检测到的频率以及delay值控制所述延时量,输出延时后数据;
24.接收所述延时后数据并解析其中的ping报文,根据解析结果调整输出所述delay值。
25.进一步的,所述根据检测到的频率以及delay值控制所述延时量包括:
26.根据检测到的频率计算控制值;
27.根据所述控制值、所述delay值控制从多个依次连接的延时电路中选择接入一个目标延时电路,以将数据信号通过目标延时电路输出产生对应时长的延时。
28.进一步的,所述控制值为所需使用的延时电路中相邻延时电路之间的跳变值,根据所述跳变值从多个依次连接的延时电路中确定出所需使用的所有延时电路,并根据所述delay值从确定出的延时电路中选取出目标延时电路。
29.进一步的,所述跳变值按照300/fre_det计算得到,其中fre_det为所述检测得到的频率值;从确定出所需使用的所有延时电路中选取与所述delay值对应的延时电路作为目标延时电路。
30.进一步的,所述接收所述延时后数据并解析其中的ping报文时,还包括根据各所述delay值对应的解析结果捕获最佳采样点对应的所述delay值,步骤包括:
31.获取能够解析成功的最小delay值以及开始解析失败所对应的最大delay值;
32.根据所述最小delay值、最大delay值计算得到最佳采样点对应的所述delay值。
33.进一步的,若数据解析控制模块上电后不能解析出ping报文,所述根据各所述delay值对应的解析结果捕获最佳采样点对应的所述delay值的步骤包括:
34.按照预设步长增加当前delay值,并判断在当前delay值时是否能够成功解析ping
报文,如果解析错误则继续增加delay值,直至初次解析成功,并根据初次解析正确所对应的delay值得到所述最小delay值;
35.继续按照预设步长增加当前delay值,并判断在当前delay值时是否能够成功解析ping报文,如果解析正确则继续增加delay值,直至解析错误,并根据解析错误所对应的delay值得到所述最大delay值;
36.根据所述最小delay值、最大delay值计算得到最佳采样点对应的所述delay值。
37.进一步的,若数据解析控制模块上电后能够解析出ping报文,所述根据各所述delay值对应的解析结果捕获最佳采样点对应的所述delay值的步骤包括:
38.获取所述最小delay值的配置值;
39.按照预设步长增加当前delay值,并判断在当前delay值时是否能够成功解析ping报文,如果解析错误则按照预设步长减小当前delay值,直至初次解析错误,并根据初次解析错误所对应的delay值得到所述最大delay值;
40.根据所述最大delay值、所述最小delay值的配置值计算得到最佳采样点对应的所述delay值。
41.进一步的,所述最佳采样点对应的所述delay值按照(a+b)/2得到,其中a为所述最小delay值,b为所述最大delay值。
42.一种芯片,包括芯片本体,所述芯片本体的内部设置有如上述所述的信号倾斜补偿装置,或设置有用于执行如上述方法的模块。
43.一种存储有计算机程序的计算机可读存储介质,所述计算机程序执行时实现如上述的方法。
44.一种数据通信方法,包括:
45.上电后复位接收设备,并进行初始化设置,其中接收设备中设置有上述信号倾斜补偿装置或设置有用于执行如上述方法的模块;
46.控制接收设备与发送设备进行同步,其中通过控制按照权利要求14~17中任意一项所述的方法捕获最佳采样点对应的所述delay值,根据所述最佳采样点对应的所述delay值设置所述delay值,完成同步;
47.同步完成后接收设备开始接收发送端发送的数据流。
48.与现有技术相比,本发明的优点在于:
49.1、本发明通过检测输入时钟信号的频率,结合时钟频率与delay值控制对输入的数据信号进行延时,同时根据ping报文的解析结果调整delay值,使得可以利用数据解析完成信号调整,实时、高效的完成信号倾斜补偿,且数据信号的延时量是根据时钟频率与delay值动态确定的,可以实现信号倾斜补偿量的动态可调,从而确保经过补偿后能够正确采集到数据。
50.2、本发明通过对数据信号进行倾斜补偿,不仅可以弥补线长度失配和电子元器件带来的影响,而且可以使时钟采集的数据更准确、更稳健,还能够释放大量的cpu资源。
51.3、本发明利用多线延单元实现线延可调,能够涵盖信号大部分区域,使得即使信号质量差的环境下,也可以可靠的采集到正确的数据,在高温和低温等情况下仍然能够保持正常工作。
附图说明
52.图1是本实施例信号倾斜补偿装置的结构示意图。
53.图2是本实施例中时钟检测模块的具体结构示意图。
54.图3是本实施例中delay模块的结构示意图。
55.图4是本实施例中delay延时单元的具体结构示意图。
56.图5是本实施例中信号倾斜补偿的实现流程示意图。
57.图6是本实施例中第一种情况(上电不能够解析出ping报文)时的最佳采样点捕获的流程示意图。
58.图7是本实施例中第二种情况(上电能够解析出ping报文)时的最佳采样点捕获的流程示意图。
59.图8是本实施例数据通信过程中信号倾斜补偿装置的工作流程示意图。
60.图9是在具体应用实施例中得到的信号倾斜补偿前后结果示意图。
61.图例说明:1、时钟检测模块;2、delay模块;201、delay控制单元;202、delay延时单元;221、线延子单元;222、选择子单元;3、数据解析控制模块。
具体实施方式
62.以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
63.如图1所示,本实施例信号倾斜补偿装置包括:
64.时钟检测模块1,用于检测输入时钟信号的频率输出,输入时钟信号即为接入的数据信号的时钟信号;
65.delay模块2,用于接入数据信号并进行延时,其中根据时钟检测模块检测到的频率以及数据解析控制模块3输出的delay值控制延时量,输出延时后数据;
66.数据解析控制模块3,用于接收延时后数据并解析其中的ping报文,根据解析结果调整输出的delay值。
67.本实施例通过时钟检测模块1检测输入时钟信号的频率,delay模块2结合时钟频率与delay值控制对输入的数据信号进行延时,同时由数据解析控制模块3根据ping报文的解析结果调整delay值,使得可以利用数据解析完成信号调整,实时、高效的完成信号倾斜补偿,且数据信号的延时量是根据时钟频率与delay值动态确定的,可以实现信号倾斜补偿量的动态可调,从而确保经过补偿后能够正确采集到数据,且整个补偿过程中无需占用cpu资源。
68.在具体应用实施例中,时钟检测模块1可通过在一定个数的待测时钟周期内统计基准时钟(系统时钟)个数,进而得出待测时钟的频率。如图2所示,时钟检测模块1可以采用两个计数器以及一个比较器实现,由两个计数器分别对待测时钟与系统时钟进行计数,然后经过比较器的比较后得到时钟频率输出,具体可按照下式计算出时钟频率:
[0069][0070]
其中,fre_sys为系统时钟,num_sys为系统时钟的计数器计数值,fre_det为待测时钟的时钟频率,num_det为待测时钟的计数器计数值。
[0071]
例如,系统时钟fre_sys为50m,计数器计数值num_sys为1000,待测时钟信号fre_det的计数器数值num_det为100,则待测时钟信号的时钟频率为5m。
[0072]
可以理解的是,时钟检测模块1也可以采用其他的结构实现时钟频率的检测,具体可以根据实际需求选取。
[0073]
delay模块2作为整个倾斜补偿电路的核心,通过根据输入的时钟检测模块1检测得到的时钟频率、数据解析控制模块3输出的delay值确定延时量,以实现延时量的动态调整。如图3所示,本实施例中delay模块2具体包括相互连接的delay控制单元201以及delay延时单元202,delay控制单元201根据时钟检测模块1检测到的频率计算控制值,输出给delay延时单元202,delay延时单元202根据控制值、delay值控制产生对应时长的延时。delay控制单元201先根据时钟检测模块1检测到的频率计算一个控制值,将该控制值输出至delay延时单元202的一个控制端,数据解析控制模块3输出的delay值输入至delay延时单元202的另一个控制端,delay延时单元202按照控制值、delay值确定出最终的延时量。
[0074]
如图4所示,本实施例中delay延时单元202具体可采用线延子单元221以及选择子单元222实现,线延子单元221包括多个依次连接的延时电路,每个延时电路的输出端与选择子单元222连接,延时电路具体为延时器,具体由delay1~delay512延时器依次连接构成线延子单元221。选择子单元222根据控制值、delay值控制选择接入一个目标延时电路,以将数据信号通过目标延时电路输出,控制产生所需的延时量。
[0075]
可以理解的是,在其他实施例中,上述delay延时单元202也可以采用其他的延时结构,如采用rc结构构成的延时电路或者由运放电路或者由晶闸管电路构成的延时电路等,还可以采用结合软件控制单片机、mcu等微处理器的方式实现可调延时功能,具体可以根据实际需求选取。
[0076]
本实施例中,控制值具体为所需使用的延时电路中相邻延时电路之间的跳变值(steup),如果跳变值为整数时,按照跳变值选取延时电路,相邻延时电路之间的序号间隔即为该跳变值,如果跳变值为小数时,则采取四舍五入取整的方式,且取上一个时向下取整、取下一个时向下取整。例如跳变值为1.5时,则跳变值先向下取整(即取1),再向上取整(即取2)依次交替。选择子单元222根据跳变值从线延子单元221中确定出所需使用的所有延时电路,以初步确定出延时量的选取范围,然后根据delay值从确定出的延时电路中选取出目标延时电路,以根据delay值确定出最终的延时量。即选择子单元222根据输入的delay值和steup值来选择输出经过哪个延时电路后得到延迟数据,从而控制产生所需的延时量。上述延时电路具体为一个具有固定延迟时间的电路,每个延时电路的延时时间具体可以根据实际需求配置。
[0077]
本实施例中跳变值具体根据时钟检测模块1检测得到的频率值计算得到。在具体应用实施例中,跳变值可按照下式计算得到:
[0078][0079]
其中,fre_det为时钟检测模块1检测得到的频率值。
[0080]
举例来说,当输入频率为300m时,数据周期即为3.33ns,分32tap,单精度为0.104ns,delay线延为0.1ns,在此频率下的steup值为1,利用steup值从线延单元中选取31个延时电路,则使用的延时电路为delay1-delay2-delay3
‑‑‑‑‑‑
delay29-delay30。
[0081]
当输入频率为150m时,数据周期即为6.66ns,分32tap,单精度为0.208ns,由于设
计的delay线延最小精度为0.1ns,则此时的steup为2,则确定需要使用的延时电路为delay2-delay4-delay6
‑‑‑‑‑‑
delay60-delay62。
[0082]
当输入频率为200m时,数据周期即为5ns,分32tap,单精度为0.156ns,steup为1.5,对于1.5先向下取整再向上取整交替,则确定需要使用的线延电路为deay1-delay3-delay4-delay6
‑‑‑‑‑‑
delay43-delay45-delay48。
[0083]
可以理解的是,上述跳变值还可以根据实际需求采用其他的计算方式。控制值也可以根据实际所需的选择规则采用除跳变值以外的其他参数值。
[0084]
本实施例中,选择子单元222具体从确定出所需使用的所有延时电路中选取与delay值对应的延时电路作为目标延时电路,例如从确定出所需使用的所有延时电路,选取排列序列值与delay值对应的延时电路作为目标延时电路。选择子单元222具体可采用多选一选择器,多选一选择器的控制端分别接入控制值、delay值,输出经过延时后的数据。
[0085]
以输入的delay值为0-31为例,如上述示例,当输入频率为300m时,steup值为1,确定需要使用的延时电路为delay1-delay2-delay3
‑‑‑‑‑‑
delay29-delay30,此时若delay值为3时,则最终选取的延时电路为delay3,即接入的数据信号通过delay3输出延时后数据。当输入150m时,如上述,steup为2,确定所需使用的延时电路为delay2-delay4-delay6
‑‑‑‑‑‑
delay60-delay62,如果此时delay值为3时,则最终选取的延时电路为delay6,即接入的数据信号通过delay6输出延时后数据。当输入200m时,如上述,steup为1.5,确定需要使用的线延电路为deay1-delay3-delay4-delay6
‑‑‑‑‑‑
delay43-delay45-delay48,此时delay值为3时,则最终选择的延时电路为delay4,即接入的数据信号通过delay4输出延时后数据。
[0086]
可以理解的是,上述选择子单元222也可以采用除选择器以外的其他选择电路结构,如可采用开关结构,通过在每个延时电路的输出端设置一个控制开关,通过控制各个延时电路输出端的控制开关来控制选择由哪个延时电路输出延时后信号,还可以结合软件控制单片机、mcu等微处理器实现选择控制,通过微处理器发送控制信号控制选择由哪个延时电路输出延时后信号,具体均可以根据实际需求选取与配置。
[0087]
本实施例通过结合频率检测确定steup以及多线延单元,可以实现可调线延精度,实现线延可调,使得可以涵盖信号的90%甚至100%的区域,即便在信号质量差的环境下,也可以有效的采集到信号。
[0088]
本实施例中,数据解析控制模块3包括解析电路单元以及存储单元,解析电路单元用于解析延时后数据中的ping报文,并不断调整delay值,将能够解析成功的最小delay值以及开始解析失败所对应的最大delay值保存在存储单元中。ping报文的主要目的配合信号倾斜补偿装置完成信号的最佳采样。上述存储单元具体可以采用寄存器实现。
[0089]
本实施例中,ping报文具体包含共24位,如表1所示,包含前置(pre)、帧开始(sof)、帧类型(f_type)、帧标签(f_tag)、帧结束(eof)和后置(pos)共六个域。每个域的数值如表1所示,且在1根数据线上传输和多根数据线上传输的内容是相同的。即多根数据线时,通过调整delay值,同时解析多根数据线,每条数据线均解析ping报文。解析电路通过不断调整delay值来解析ping报文,当解析电路能够解析出ping报文时,则认为此时的delay值是成功的。本实施例通过使用硬件结构实现是否解析成功的判断,结合多delay线延和频率检测辅助实现数据解析,无需占用cpu资源即可高效的实现信号倾斜补偿。
[0090]
表1 ping报文格式
[0091]
typepresoff_typef_tageofposping111110010000000001101111
[0092]
本实施例中,数据解析控制模块3还包括最佳采样点计算单元,用于根据存储单元中存储的最小delay值、最大delay值计算出最佳采样点对应的delay值输出,以捕获最佳采样点,使得按照最佳采样点采集数据,确保数据采集效果。
[0093]
本实施例中,数据解析控制模块3根据各delay值对应的解析结果捕获最佳采样点对应的delay值包括:
[0094]
获取能够解析成功的最小delay值以及开始解析失败所对应的最大delay值;
[0095]
根据最小delay值、最大delay值计算得到最佳采样点对应的delay值。
[0096]
本实施例中,解析电路调整delay值时,先从左侧不能正确解析ping报文开始,直到第一次可以正确解析ping报文,解析成功的最左侧delay值(a),也即为所需获取的最小delay值,保存在delaya寄存器中;然后调整delay值,先从左侧一直能正确解析ping报文开始,逐步调整delay值,直到第一次不能解析ping报文,解析失败的最左侧delay值(b),也即为所需获取的最大delay值,保存在delayb寄存器中。
[0097]
在具体应用实施例中,最佳采样点对应的delay值按照(a+b)/2得到,其中a为所述最小delay值,b为最大delay值。可以理解的是,最佳采样点对应的delay值也可以根据实际delay值的调整情况进行相适应的调整。
[0098]
在具体应用实施例中,解析电路具体可以采用芯片内部逻辑电路实现,如使用verilog语言设计数据解析电路实现。
[0099]
如图5所示,本实施例信号倾斜补偿方法的步骤包括:
[0100]
s01.检测输入时钟信号的频率;
[0101]
s02.接收数据信号并进行延时,其中根据检测到的频率以及delay值控制延时量,输出延时后数据;
[0102]
s03.接收延时后数据并解析其中的ping报文,根据解析结果调整输出所述delay值。
[0103]
在具体应用实施例中,上述步骤s01可采用如上述的时钟频率检测模块1实现,步骤s02可采用如上述的delay模块2实现,步骤s03可采用如上述的数据解析控制模块3实现。
[0104]
本实施例中,步骤s02中根据检测到的频率以及delay值控制延时量包括:
[0105]
s201.根据检测到的频率计算控制值;
[0106]
s202.根据控制值、delay值控制从多个依次连接的延时电路中选择接入一个目标延时电路,以将数据信号通过目标延时电路输出产生对应时长的延时。
[0107]
上述控制值具体为所需使用的延时电路中相邻延时电路之间的跳变值,根据跳变值从多个依次连接的延时电路中确定出所需使用的所有延时电路,并根据delay值从确定出的延时电路中选取出目标延时电路。跳变值按照式300/fre_det计算得到,其中fre_det为检测得到的频率值;从确定出所需使用的所有延时电路中选取与delay值对应的延时电路作为目标延时电路。
[0108]
本实施例步骤s02中接收所述延时后数据并解析其中的ping报文时,还包括根据各所述delay值对应的解析结果捕获最佳采样点对应的delay值,步骤包括:
[0109]
s211.获取能够解析成功的最小delay值以及开始解析失败所对应的最大delay值;
[0110]
s212.根据最小delay值、最大delay值计算得到最佳采样点对应的delay值。
[0111]
本实施例信号倾斜补偿方法与上述信号倾斜补偿装置对应,不再一一赘述。
[0112]
对于捕获最佳采样点对应的delay值,本实施例具体分为以下两种情况进行不同处理:
[0113]
第一种:上电不能解析ping报文
[0114]
s211.若数据解析控制模块3上电后不能解析出ping报文,根据各delay值对应的解析结果捕获最佳采样点对应的delay值的步骤包括:
[0115]
s212.按照预设步长增加当前delay值,并判断数据解析控制模块3在当前delay值时是否能够成功解析ping报文,如果解析错误则继续增加delay值,直至初次解析成功,并根据初次解析正确所对应的delay值得到最小delay值;
[0116]
s213.继续按照预设步长增加当前delay值,并判断数据解析控制模块3在当前delay值时是否能够成功解析ping报文,如果解析正确则继续增加delay值,直至解析错误,并根据解析错误所对应的delay值得到最大delay值;
[0117]
s214根据最小delay值、最大delay值计算得到最佳采样点对应的delay值。
[0118]
上述步骤s214中最佳采样点对应的delay值按照(a+b)/2得到,其中a为最小delay值,b为最大delay值。
[0119]
在具体应用实施例中,调整步长设置为1,如图6所示,上电无法解析出ping报文时捕获最佳采样点的delay值详细步骤为:
[0120]
(1)操作delay+1。
[0121]
(2)数据解析ping报文。
[0122]
(3)初次解析正确,将此时的delay值(最小delay值a)写入delaya寄存器中,执行步骤s214;如果解析错误,则循环执行步骤s211、s212。
[0123]
(4)操作delay+1。
[0124]
(5)数据解析ping报文。
[0125]
(6)如果解析正确,循环执行步骤s214、s215;如果解析错误,将此时的delay值减1得到delay值(最大delay值b)写入delayb寄存器中。
[0126]
(7)得出最佳采样点对应的delay值为(a+b)/2(取整)。
[0127]
第二种情况:上电能够解析ping报文
[0128]
若数据解析控制模块3上电后能够解析出ping报文,根据各delay值对应的解析结果捕获最佳采样点对应的所述delay值的步骤包括:
[0129]
s221.获取最小delay值的配置值;
[0130]
s222.按照预设步长增加当前delay值,并判断数据解析控制模块(3)在当前delay值时是否能够成功解析ping报文,如果解析错误则按照预设步长减小当前delay值,直至初次解析错误,并根据初次解析错误所对应的delay值得到最大delay值;
[0131]
s223.根据最大delay值、最小delay值的配置值计算得到最佳采样点对应的delay值。
[0132]
上述步骤s223中最佳采样点对应的delay值按照(a+b)/2得到,其中a为最小delay
值,b为最大delay值。
[0133]
在具体应用实施例中,delay值的调整步长取1,如图7所示,上电就能够解析出ping报文,捕获最佳采样点的delay值的详细流程为:
[0134]
(1)将delaya寄存器中delaya最小值a设置为0。
[0135]
(2)操作delay加1。
[0136]
(3)数据解析ping报文。
[0137]
(4)如果解析正确,则循环执行2)和3);如果解析错误,将此时的delay值减1记录为n(0<n<32),写入delayb寄存器中。
[0138]
(5)得出最佳采样点对应的delay值为n/2(取整)。
[0139]
上述(1)中delaya最小值a也可以根据实际需求设置为其他值,设置为其他值时,相应的最佳采样点对应的delay值计算公式需要进行调整,即为(a+n)/2。
[0140]
本实施例还包括芯片,芯片包括芯片本体,芯片本体的内部设置有如上述信号倾斜补偿装置,或设置有用于执行如上述信号倾斜补偿方法的模块。
[0141]
本实施例还包括存储有计算机程序的计算机可读存储介质,计算机程序执行时实现如上述的信号倾斜补偿方法。
[0142]
如图8所示,本实施例还包括数据通信方法,步骤包括:
[0143]
上电后复位接收设备,并进行初始化设置,其中接收设备中设置有上述号倾斜补偿装置或设置有用于执行如上述信号倾斜补偿方法的模块;
[0144]
控制接收设备与发送设备进行同步,其中通过控制按照上述倾斜补偿方法捕获最佳采样点对应的delay值,根据最佳采样点对应的所述delay值设置delay值,完成同步;
[0145]
同步完成后接收设备开始接收发送端发送的数据流。
[0146]
由于在发送端和接收端完成上电初始化后,必须进行同步操作以确定接收端能够正常解析数据,然后发送端再开始发送数据流。本实施例设备之间的同步操作由ping报文来完成(如表1所示),在自动线延调整开启后,由接收端的倾斜补偿装置反复解析ping报文,直到获取到时钟和数据最佳采样关系,捕获到最佳采样点对应的delay值,配置delay值后即完成同步,设备之间即可开始进行数据传输、通信。
[0147]
在具体应用实施例中,数据通信过程中倾斜补偿装置按照上电初始化、自动捕获最佳采样点和delay参数设置流程工作,详细流程为:
[0148]
上电初始化:上电后复位发送设备和接收设备,配置相关寄存器,初始化链路时钟和数据信号为低。
[0149]
自动捕获最佳采样点:设备之间的同步操作由ping报文来完成,在自动线延调整开启后,接收端会反复解析ping报文,直到算出时钟和数据最佳采样关系。
[0150]
delay参数设置:根据delaya寄存器的值(a)和delayb寄存器的值(b),设置最佳采样点值为((a+b))/2(取整)。
[0151]
为验证本发明的有效性,输入如下数据信号:最大时钟频率为150m,双边沿数据速率最大为300m,数据周期为3.33ns,周期分32tap,单tap精度为0.104ns,delay线延精度取0.10ns,使用上述倾斜补偿装置调整之前通信的理想状态如图9中(a)所示,由图中可知,在高温或低温实验中,时钟有时会采集到数据的抖动区,出现数据错误;经过倾斜补偿电路自动调整后的状态如图9中(b)所示,由图中可知,在高温或低温实验中,对数据向左或向右抖
动都具有很强的兼容性,使通信链路更加稳健。
[0152]
本发明通过对数据信号进行倾斜补偿,不仅可以弥补线长度失配和电子元器件带来的影响,而且可以使时钟采集的数据更准确、更稳健,也能够释放大量的cpu资源;同时利用多线延单元实现线延可调,能够涵盖信号的90%甚至100%的区域,使得即使信号质量差的环境下,也可以可靠的采集到正确的数据。此外,由于在高温和低温的情况下,信号的质量也会受影响,本发明可以涵盖信号大部分区域,因此可以更加可靠的获得信号稳定区,从而确保在高温(持续工作,芯片温度上升)或低温(高原寒冷地区冷启动)下仍然能够正常工作。
[0153]
如本发明公开中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。同样,“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
[0154]
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1