一种收发器和收发器的数据传输方法与流程
- 国知局
- 2024-12-06 12:20:31
本发明涉及数据传输,特别是涉及一种收发器和收发器的数据传输方法。
背景技术:
1、在传统应用场景中,使用串行收发器进行数据传输时,确保并行时钟和串行时钟的频率一致性至关重要,在数据传输开始之前,发送端和接收端应协商并确定一个共同的时钟频率,并在整个传输过程中严格保持该频率的稳定性。然而,传统的串行收发器不能在数据传输过程中切换数据传输速率,因为这会导致pll(phase-locked loop,锁相环)时钟频率波动,从而引发数据错乱、毛刺等问题,最终导致数据收发错误。
技术实现思路
1、鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种收发器和收发器的数据传输方法。
2、为了解决上述问题,本发明实施例公开了一种收发器,包括控制模块、发送模块和接收模块;
3、所述控制模块用于,在本端改变数据传输频率时,确定第一频率更改信息,并向所述发送模块发送所述第一频率更改信息;在对端改变数据传输频率时,确定第二频率更改信息,并向所述发送模块发送所述第二频率更改信息;
4、所述发送模块用于,根据所述第一频率更改信息对应的时钟频率,向所述对端发送数据,并根据所述第一频率更改信息向所述对端发送第一频率识别码,所述第一频率识别码指示本端更新后的时钟频率;根据所述第二频率更改信息对应的时钟频率,向所述对端发送数据;
5、所述接收模块用于,接收所述对端发送的数据,接收所述对端发送的第二频率识别码,所述第二频率识别码指示对端更新后的时钟频率。
6、可选的,所述收发器还包括发送数据缓存模块,所述发送模块包括数据发送控制模块和频率码生成模块,所述第一频率更改信息包括第一时钟频率切换指示信号、第一更新后的串行时钟频率、第一时钟频率切换系数和第一频率码发送指示;
7、所述发送数据缓存模块用于缓存需要发送的并行数据;
8、所述发送控制模块用于在接收到所述第一时钟频率切换指示信号后,根据所述第一更新后的串行时钟频率,从所述发送数据缓存模块中读取需要发送的并行数据,并将所述需要发送的并行数据转换为串行数据后,向所述对端发送;
9、所述频率码生成模块用于在接收到所述第一频率码发送指示后,根据所述第一时钟频率切换系数,确定所述第一频率识别码,并向所述对端发送所述第一频率识别码。
10、可选的,所述第一时钟频率切换系数包括倍频系数和分频系数,所述发送模块用于,
11、从所述发送数据缓存模块中读取需要发送的n位并行数据,n为正整数将所述n位并行数据转换为1位的串行数据逐位向所述对端发送;从所述发送数据缓存模块中读取下一个n位并行数据;在所述n位并行数据转换成1位的串行数据进行逐位发送完成后,将所述下一个n位并行数据转换为1位的串行数据进行逐位发送;在接收到所述第一时钟频率切换指示信号后,基于计数器判断当前并串转换计数值是否为n;若所述当前并串转换计数值为n,则确定所述n位并行数据已完成串行化;若所述并串转换计数值小于n,则确定所述n位并行数据未完成串行化;在确定所述n位并行数据未完成串行化的情况下,根据所述第一时钟频率切换系数中的倍频系数和分频系数,确定所述时钟频率变化信息;若所述时钟频率变化信息表示时钟频率增加至预设倍数及以上,则暂停从所述发送数据缓存模块中读取需要发送的下一个n位并行数据,并根据所述时钟频率切换系数确定更新后的传输速率,在所述更新后的传输速率下,重新将所述n位并行数据转换为1位的串行数据逐位向所述对端发送;若所述时钟频率变化信息表示时钟频率未增加至所述预设倍数及以上,则继续对所述n位并行数据中未发送的数据进行发送。
12、可选的,所述接收模块包括频率码识别模块,所述第二频率更改信息包括第二时钟频率切换指示信号和第二时钟频率切换系数;
13、所述频率码识别模块用于接收对端发送的所述第二频率识别码,根据所述第二频率识别码确定第二时钟频率切换系数,所述第二时钟频率切换系数包括时钟频率调整方向和调整值,向所述控制模块发送所述第二时钟频率切换系数,以使所述控制模块根据所述第二时钟频率切换系数向所述发送模块发送所述第二频率更改信息。
14、可选的,所述数据发送控制模块用于在接收到所述第二时钟频率切换指示信号后,根据所述第二时钟频率切换系数,从所述发送数据缓存模块中读取需要发送的并行数据,并将所述需要发送的并行数据转换为串行数据后,向所述对端发送。
15、可选的,所述接收模块用于向所述频率码生成模块发送第二频率码发送指示,以使所述频率码生成模块在接收到所述第二频率码发送指示后,根据所述第二时钟频率切换系数确定第三频率识别码,并向所述对端发送所述第三频率识别码。
16、可选的,所述收发器还包括接收数据缓存模块;
17、所述接收数据缓存模块用于缓存接收到的并行数据;
18、所述接收模块用于接收所述对端发送的串行数据,并将所述串行数据转换成并行数据后,写入所述接收数据缓存模块。
19、可选的,所述接收模块还包括数据对齐模块,所述数据帧包括预设值的帧头;
20、所述控制模块用于在向所述发送模块发送所述第二频率更改信息后,向所述数据对齐模块发送数据对齐使能信号;
21、所述数据对齐模块用于在接收到所述数据对齐使能信号后,在并行窗口中检测所述预设值的帧头,所述并行窗口为将收到的串行数据按位移入的并行窗口,直至检测到所述预设值的帧头,确定数据已对齐,将所述检测到所述预设值的帧头和后续的数据写入所述接收数据缓存模块,并向所述控制模块数据对齐完成信号。
22、相应的,本发明实施例公开了一种收发器的数据传输方法,应用于上述收发器,所述方法包括:
23、通过所述控制模块,在本端改变数据传输频率时,确定第一频率更改信息,并向所述发送模块发送所述第一频率更改信息;在对端改变数据传输频率时,确定第二频率更改信息,并向所述发送模块发送所述第二频率更改信息;
24、通过所述发送模块,根据所述第一频率更改信息对应的时钟频率,向所述对端发送数据,并根据所述第一频率更改信息向所述对端发送第一频率识别码,所述第一频率识别码指示本端更新后的时钟频率;根据所述第二频率更改信息对应的时钟频率,向所述对端发送数据;
25、通过所述接收模块,接收所述对端发送的数据,接收所述对端发送的第二频率识别码,所述第二频率识别码指示对端更新后的时钟频率。
26、可选的,所述收发器还包括发送数据缓存模块,所述发送模块包括数据发送控制模块和频率码生成模块,所述第一频率更改信息包括第一时钟频率切换指示信号、第一更新后的串行时钟频率、第一时钟频率切换系数和第一频率码发送指示,所述通过所述发送模块,根据所述第一频率更改信息对应的时钟频率,向所述对端发送数据,并根据所述第一频率更改信息向所述对端发送第一频率识别码,包括:
27、通过所述发送控制模块在接收到所述第一时钟频率切换指示信号后,根据所述第一更新后的串行时钟频率,从所述发送数据缓存模块中读取需要发送的并行数据,并将所述需要发送的并行数据转换为串行数据后,向所述对端发送;
28、通过所述频率码生成模块在接收到所述第一频率码发送指示后,根据所述第一时钟频率切换系数,确定所述第一频率识别码,并向所述对端发送所述第一频率识别码。
29、可选的,所述第一时钟频率切换系数包括倍频系数和分频系数,所述通过所述发送控制模块在接收到所述第一时钟频率切换指示信号后,根据所述第一更新后的串行时钟频率,从所述发送数据缓存模块中读取需要发送的并行数据,并将所述需要发送的并行数据转换为串行数据后,向所述对端发送,包括:
30、通过所述发送控制模块从所述发送数据缓存模块中读取需要发送的n位并行数据,n为正整数将所述n位并行数据转换为1位的串行数据逐位向所述对端发送;从所述发送数据缓存模块中读取下一个n位并行数据;在所述n位并行数据转换成1位的串行数据进行逐位发送完成后,将所述下一个n位并行数据转换为1位的串行数据进行逐位发送;在接收到所述第一时钟频率切换指示信号后,基于计数器判断当前并串转换计数值是否为n;若所述当前并串转换计数值为n,则确定所述n位并行数据已完成串行化;若所述并串转换计数值小于n,则确定所述n位并行数据未完成串行化;在确定所述n位并行数据未完成串行化的情况下,根据所述第一时钟频率切换系数中的倍频系数和分频系数,确定所述时钟频率变化信息;若所述时钟频率变化信息表示时钟频率增加至预设倍数及以上,则暂停从所述发送数据缓存模块中读取需要发送的下一个n位并行数据,并根据所述时钟频率切换系数确定更新后的传输速率,在所述更新后的传输速率下,重新将所述n位并行数据转换为1位的串行数据逐位向所述对端发送;若所述时钟频率变化信息表示时钟频率未增加至所述预设倍数及以上,则继续对所述n位并行数据中未发送的数据进行发送。
31、可选的,所述接收模块包括频率码识别模块,所述第二频率更改信息包括第二时钟频率切换指示信号和第二时钟频率切换系数;所述方法还包括:
32、通过所述频率码识别模块接收对端发送的所述第二频率识别码;根据所述第二频率识别码确定第二时钟频率切换系数,所述第二时钟频率切换系数包括时钟频率调整方向和调整值;向所述控制模块发送所述第二时钟频率切换系数,以使所述控制模块根据所述第二时钟频率切换系数向所述发送模块发送所述第二频率更改信息。
33、可选的,所述根据所述第二频率更改信息对应的时钟频率,向所述对端发送数据,包括:
34、通过所述数据发送控制模块在接收到所述第二时钟频率切换指示信号后,根据所述第二时钟频率切换系数,从所述发送数据缓存模块中读取需要发送的并行数据,并将所述需要发送的并行数据转换为串行数据后,向所述对端发送。
35、可选的,所述根据所述第一频率更改信息向所述对端发送第一频率识别码,包括:
36、通过所述数据发送控制模块向所述频率码生成模块发送第二频率码发送指示,以使所述频率码生成模块在接收到所述第二频率码发送指示后,根据所述第二时钟频率切换系数确定第三频率识别码,并向所述对端发送所述第三频率识别码。
37、可选的,所述收发器还包括接收数据缓存模块,所述方法还包括:
38、通过所述接收数据缓存模块缓存接收到的并行数据;
39、通过所述接收模块接收所述对端发送的串行数据,并将所述串行数据转换成并行数据后,写入所述接收数据缓存模块。
40、可选的,所述接收模块还包括数据对齐模块,所述数据帧包括预设值的帧头,所述方法还包括:
41、通过所述控制模块在向所述发送模块发送所述第二频率更改信息后,向所述数据对齐模块发送数据对齐使能信号;
42、通过所述数据对齐模块在接收到所述数据对齐使能信号后,在并行窗口中检测所述预设值的帧头,所述并行窗口为将收到的串行数据按位移入的并行窗口,直至检测到所述预设值的帧头,确定数据已对齐,将所述检测到所述预设值的帧头和后续的数据写入所述接收数据缓存模块,并向所述控制模块数据对齐完成信号。
43、本发明实施例包括以下优点:
44、本发明实施例提供的一种收发器,包括控制模块、发送模块和接收模块;控制模块用于,在本端改变数据传输频率时,确定第一频率更改信息,并向发送模块发送第一频率更改信息;在对端改变数据传输频率时,确定第二频率更改信息,并向发送模块发送第二频率更改信息;发送模块用于,根据第一频率更改信息对应的时钟频率,向对端发送数据,并根据第一频率更改信息向对端发送第一频率识别码,第一频率识别码指示本端更新后的时钟频率;根据第二频率更改信息对应的时钟频率,向对端发送数据;接收模块用于,接收对端发送的数据,接收对端发送的第二频率识别码,第二频率识别码指示对端更新后的时钟频率。通过在本端数据传输频率时向对端发送第一频率识别码,以及在对端改变数据传输频率时,接收对端发送的第二频率识别码,通过频率识别码机制来实现通信双方的时钟频率握手识别,实现了串行收发器在数据传输过程中切换数据传输速率时,能够保证数据传输的准确性。
本文地址:https://www.jishuxx.com/zhuanli/20241204/340751.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表