一种并行总线数据传输系统、方法及存储介质与流程
- 国知局
- 2024-10-09 15:02:41
本发明属于数据传输,具体涉及一种并行总线数据传输系统、方法及存储介质。
背景技术:
1、串行通信因其成本低廉和结构简单而普遍被采用。然而,随着对高速数据传输需求的增长,串行通信的带宽不足问题日益凸显。为了克服这一限制,人们发展了并行通信技术,该技术通过并行传输机制,在多条信道上同时发送数据,显著提升了数据传输速率。
2、尽管并行通信技术在提高速率方面具有优势,但在向更高速率发展的过程中,它也遇到了包括信号同步在内的多项技术挑战。特别是,信号在不同信道上的传播时间差异会引起时钟和数据偏斜,这些偏斜问题对数据传输的准确性和系统的可靠性构成了潜在威胁。
技术实现思路
1、鉴于上述问题,本技术实施例提供了一种并行总线数据传输系统、方法及存储介质,以便克服上述问题或者至少部分地解决上述问题。
2、本技术实施例第一方面,提供了一种并行总线数据传输系统,包括:数据接收端和数据发送端;
3、所述数据接收端通过状态编码模块产生第一状态编码,并通过心跳链路将所述第一状态编码发送给所述数据发送端;
4、所述数据发送端根据接收到的所述第一状态编码,通过控制寄存器,控制数字编码发生器生成与所述第一状态编码对应的第一训练码型,并将所述第一训练码型、参考时钟信号以及n路数据信号发送给所述数据接收端;
5、所述数据接收端基于所述参考时钟信号,通过时钟分发模块生成n路虚拟时钟信号,并进行时钟对齐处理,以将第n路虚拟时钟信号与第n路数据信号的中心对齐,其中,n的取值范围为从1至n的整数。
6、进一步地,所述数据接收端还包括:校验模块和延时模块;
7、所述校验模块用于根据所述第一训练码型和所述数据接收端输出的第一码型,计算误码率;其中,所述第一码型是所述数据接收端基于所述n路虚拟时钟信号对接收到的所述n路数据信号采样得到的;
8、所述延时模块用于在所述误码率高于预设误码率的情况下,对所述n路虚拟时钟信号分别进行延时调试,直到所述误码率低于所述预设误码率。
9、进一步地,所述对所述n路虚拟时钟信号分别进行延时调试,包括:
10、对所述n路虚拟时钟信号进行增加延时调试,或减少延时调试,以使延时调整后的所述n路虚拟时钟信号与所述n路数据信号采样的中心对齐。
11、进一步地,所述数据接收端在将所述第n路虚拟时钟信号与所述第n路数据信号的中心对齐之后,通过所述状态编码模块产生第二状态编码,并通过所述心跳链路将第二状态编码发送给所述数据发送端;
12、所述数据发送端根据接收到的所述第二状态编码,通过控制所述寄存器,控制所述数字编码发生器生成与所述第二状态编码对应的第二训练码型,并将所述第二训练码型发送给所述数据接收端;
13、所述数据接收端计算所述第n路虚拟时钟信号与所述参考时钟信号的延时误差,根据所述延时误差确定所述第n路数据信号是否存在数据错位,根据所述n路数据信号的数据错位情况,通过所述数据接收端的缓存器进行同步补偿,待所述n路数据信号均传输完毕后,生成并输出第二码型。
14、进一步地,所述根据所述延时误差确定所述第n路数据信号是否存在数据错位,包括:
15、若延时误差大于或者等于半个时钟周期,确定第n路数据信号是否存在数据错位。
16、进一步地,所述根据所述n路数据信号的数据错位情况,通过所述数据接收端的缓存器进行同步补偿,待所述n路数据信号均传输完毕后,生成并输出第二码型,包括:
17、在接收到不存在数据错位的各路数据信号时,将不存在数据错位的各路数据信号存入所述缓存器;
18、在接收到存在数据错位的各路数据信号时,将存在数据错位的各路数据信号与所述缓存器中不存在数据错位的各路数据合并,以生成所述第二码型;
19、在延时误差最大的存在数据错位的一路数据信号传输完成的时钟跳变沿,输出所述第二码型。
20、进一步地,在接收到存在数据错位的各路数据信号时,将存在数据错位的各路数据信号与所述缓存器中不存在数据错位的各路数据合并,以生成所述第二码型之前,还包括:
21、确定存在数据错位的各路数据信号中是否存在目标数据信号;其中,目标数据信号为错位一个时钟周期的数据信号;
22、若存在,则将所述目标数据信号延期一个时钟周期,并将延时完成后的目标数据信号作为不存在数据错位的数据信号存入所述缓存器。
23、进一步地,在接收到存在数据错位的各路数据信号时,将存在数据错位的各路数据信号与所述缓存器中不存在数据错位的各路数据合并,以生成所述第二码型,包括:
24、获取存在数据错位的各路数据信号各自对应的延时误差;
25、基于所述延时误差,将存在数据错位的各路数据信号调整至与不存在数据错位的各路数据信号在时钟周期上对齐,获取对齐后的存在数据错位的各路数据信号;
26、将对齐后的所述存在数据错位的各路数据信号与所述不存在数据错位的各路数据合并,生成所述第二码型。
27、进一步地,在延时误差最大的存在数据错位的一路数据信号传输完成的时钟跳变沿,输出所述第二码型之前,还包括:
28、比较各路数据信号各自对应的延时误差,将延时误差最大的一路数据信号进行标记;
29、所述输出所述第二码型,包括:
30、根据标记的一路数据信号传输完成的时钟跳变沿,输出所述第二码型。
31、进一步地,所述通过时钟分发模块生成n路虚拟时钟信号,并进行时钟对齐处理,以将第n路虚拟时钟信号与第n路数据信号的中心对齐,包括:
32、基于所述n路虚拟时钟信号,控制所述n路数据信号之间的所述延时误差小于半个时钟信号周期。
33、进一步地,所述并行总线数据传输系统包括并行总线,所述并行总线长度相等或不相等。
34、本技术实施例第二方面,提供了一种并行总线数据传输方法,应用于本技术实施例第一方面所述的并行总线数据传输系统中的数据接收端,包括:
35、通过状态编码模块产生第一状态编码,并通过心跳链路将所述第一状态编码发送给数据发送端;
36、接收所述数据发送端,通过控制寄存器,控制数字编码发生器生成与所述第一状态编码对应的第一训练码型、参考时钟信号以及n路数据信号;
37、基于所述参考时钟信号,通过时钟分发模块生成n路虚拟时钟信号,并进行时钟对齐处理,以将第n路虚拟时钟信号与第n路数据信号的中心对齐;其中,n的取值范围为从1至n的整数。
38、进一步地,还包括:
39、基于所述第一训练码型和所述数据接收端输出的第一码型,计算误码率;其中,所述第一码型是所述数据接收端基于所述n路虚拟时钟信号对接收到的所述n路数据信号采样得到的;
40、在所述误码率高于预设误码率的情况下,对所述n路虚拟时钟信号分别进行延时调试,直到所述误码率低于所述预设误码率。
41、进一步地,所述基于所述参考时钟信号,通过时钟分发模块生成n路虚拟时钟信号,并进行时钟对齐处理,以将第n路虚拟时钟信号与第n路数据信号的中心对齐之后,所述方法还包括:
42、通过所述状态编码模块产生第二状态编码,并通过所述心跳链路将第二状态编码发送给所述数据发送端;
43、接收所述数据发送端发送的第二训练码型;
44、获取所述第n路虚拟时钟信号与所述参考时钟信号的延时误差,并基于所述延时误差确定所述第n路数据信号是否存在数据错位;
45、在存在所述数据错位的情况下,基于所述n路数据信号的数据错位情况,进行同步补偿,待所述n路数据信号均传输完毕后,生成并输出第二码型。
46、本技术实施例第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如本技术实施例第二方面所述的并行总线数据传输方法中的步骤。
47、通过本实施例提供的并行总线数据传输系统,该包括:数据接收端和数据发送端;首先数据接收端通过状态编码模块产生第一状态编码,并通过心跳链路将第一状态编码发送给数据发送端;然后数据发送端根据接收到的第一状态编码,通过控制寄存器,控制数字编码发生器生成与第一状态编码对应的第一训练码型,并将第一训练码型、参考时钟信号以及n路数据信号发送给数据接收端;最后数据接收端基于参考时钟信号,通过时钟分发模块生成n路虚拟时钟信号,并进行时钟对齐处理,以将第n路虚拟时钟信号与第n路数据信号的中心对齐,其中,n的取值范围为从1至n的整数。
48、数据接收端通过状态编码模块产生第一状态编码,并通过心跳链路将第一状态编码发送给数据发送端,告知数据发送端需要进行链路训练,然后数据发送端根据第一状态编码,通过控制寄存器,控制数字编码发生器生成与第一状态编码对应的第一训练码型,即实现数据发送端配合数据接收端完成整体链路的训练,确保数据发送端和接收端在数据传输前已经同步,以减少错误并优化链路性能。
49、待链路训练完成后,数据接收端基于参考时钟信号,通过时钟分发模块生成n路虚拟时钟信号,并进行时钟对齐处理,以将第n路虚拟时钟信号与第n路数据信号的中心对齐,解决每路数据信号对应的时钟偏斜与数据偏斜,以确保每路数据信号传输的稳定与可靠。
本文地址:https://www.jishuxx.com/zhuanli/20241009/307388.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表