首页> 中国专利> 源芯片、目的芯片、数据传输方法及处理器系统

源芯片、目的芯片、数据传输方法及处理器系统

摘要

本申请提供一种源芯片、目的芯片、数据传输方法及处理器系统,包括数据编码模块以及驱动器,数据编码模块与驱动器连接;数据编码模块用于接收串行数据,对串行数据进行编码得到编码数据,并将编码数据传输至驱动器,其中,编码数据的任意相邻两个数据之间均有跳变延;驱动器用于接收编码数据,并将编码数据发往对端的目的芯片,以使对端的目的芯片根据任意相邻两个数据之间均有跳变延的编码数据,将编码数据恢复成串行数据。通过对串行数据的编码,使得编码数据通过跳变延的变化携带有时钟信号,与现有技术中不携带时钟信号,需对端的芯片自适应时钟相比,降低了恢复时钟的难度,减小了数据传输的延迟。

著录项

  • 公开/公告号CN112416848A

    专利类型发明专利

  • 公开/公告日2021-02-26

    原文格式PDF

  • 申请/专利权人 海光信息技术股份有限公司;

    申请/专利号CN202011296358.5

  • 发明设计人 梁岩;王文根;

    申请日2020-11-18

  • 分类号G06F15/163(20060101);

  • 代理机构11463 北京超凡宏宇专利代理事务所(特殊普通合伙);

  • 代理人余菲

  • 地址 100082 北京市海淀区天津华苑产业区海泰西路18号北2-204工业孵化-3-8

  • 入库时间 2023-06-19 10:02:03

说明书

技术领域

本申请涉及计算机领域,具体而言,涉及一种源芯片、目的芯片、数据传输方法及处理器系统。

背景技术

现有技术中,在两个芯片裸片(die)之间进行数据传输时,源芯片往往会将数据以及数据对应的时钟信号均传输到目的芯片,目的芯片可以根据接收到的时钟信号对接收到的数据进行采集。然而,由于传输时需要同时传输数据和时钟信号,需要传输的数据量较大。

现有技术的另一种方式中,源芯片可以只传输数据到目的芯片,目的芯片可以通过反馈电路来调节自身时钟信号的频率,使得时钟的频率能够适应源芯片传输过来的数据,目的芯片根据调节后的时钟的频率对接收到的数据进行采集。然而,由于上述方式需要反馈电路调节自身的时钟,使得时钟恢复电路较为复杂,数据传输延迟较大。

发明内容

本申请实施例的目的在于提供一种源芯片、目的芯片、数据传输方法及处理器系统,用以改善现有技术中芯片裸片之间进行数据传输延迟较大的问题。

第一方面,本申请实施例提供了一种源芯片,包括数据编码模块以及驱动器,所述数据编码模块与所述驱动器连接;所述数据编码模块用于接收串行数据,对所述串行数据进行编码得到编码数据,并将所述编码数据传输至所述驱动器,其中,所述编码数据的任意相邻两个数据之间均有跳变延;所述驱动器用于接收所述编码数据,并将所述编码数据发往对端的目的芯片,以使所述对端的目的芯片根据任意相邻两个数据之间均有跳变延的所述编码数据,将所述编码数据恢复成所述串行数据。

在上述的实施方式中,数据编码模块可以对串行数据进行编码,得到编码数据,以实现编码数据的任意相邻两个数据之间均有跳变延。由于任意相邻两个数据之间均有跳变延,使得对端的芯片在每接收到一个数据时,均能通过跳变延的变化得知,即每个跳变延的变化均对应一个接收到的数据,从而相当于利用编码数据实现了时钟信号的传递。通过对串行数据的编码,使得编码数据通过跳变延的变化携带有时钟信号,与现有技术中不携带时钟信号,需对端的芯片自适应时钟相比,降低了恢复时钟的难度,减小了数据传输的延迟。

在一个可能的设计中,所述数据编码模块用于接收串行数据,对所述串行数据进行编码得到编码数据,具体包括:接收当前数据;判断所述当前数据对应的电平状态与所述当前数据的前一数据对应的电平状态是否一致;若是,将所述当前数据编码为中间电平;若否,将所述当前数据编码为与所述当前数据相一致的电平状态。

在上述的实施方式中,可以将当前数据的电平状态与前一数据的电平状态进行比较,判断两者的电平状态是否一致,若一致,则以中间电平表示当前数据的电平状态,若不一致在保留当前数据原本的电平状态。通过中间电平的引入,可以在相邻两个数据处于相同电平时,改变相邻两个数据中后一数据的电平状态,从而实现令相邻两个数据中不会出现相同电平的情况。

在一个可能的设计中,所述数据编码模块包括第一数字触发器、第二数字触发器、同或运算器以及选择器;所述第一数字触发器的CLK端与传输时钟信号的时钟信号线连接,第一数字触发器的输入端与传输串行数据的串行数据线连接,所述第一数字触发器的输出端与所述同或运算器的第一输入端连接;所述同或运算器的第二输入端与所述串行数据线连接,所述同或运算器的输出端与所述选择器的第一输入端连接;所述选择器的输出端与所述第二数字触发器的输入端连接;所述第二数字触发器的输出端与所述选择器的第二输入端连接,所述第二数字触发器的CLK端与所述时钟信号线连接。

在上述的实施方式中,第一数字触发器可以将串行数据延迟一个时钟周期,串行数据以及延迟了一个时钟周期的串行数据进行同或运算,得到运算结果。根据具体的运算结果以及上一位数据的电平状态,可以决定该位数据的电平状态。

在一个可能的设计中,所述数据编码模块用于接收所述串行数据,对所述串行数据进行编码得到编码数据,具体包括:利用所述同或运算器将所述串行数据与经所述第一数字触发器延迟一个时钟周期的串行数据进行位与位之间的同或运算,得到运算结果;若所述运算结果为0,则利用所述选择的器确定所述串行数据的与所述运算结果对应的位在所述编码数据的对应位的电平为原电平;若所述运算结果为1,根据所述第二数字触发器的输出结果,判断所述串行数据的上一位数据对应的编码数据的电平状态是否为中间电平;若所述上一位数据对应的编码数据的电平状态是中间电平,则确定所述串行数据的与所述运算结果对应的位在所述编码数据的对应位的电平为原电平;若所述上一位数据对应的编码数据的电平状态不是中间电平,则确定所述串行数据的与所述运算结果对应的位在所述编码数据的对应位的电平为中间电平。

在上述的实施方式中,若运算结果为0,则表示当前位数据的电平状态与上一位数据的电平状态不同,则可以直接输出该位数据原本的电平。若运算结果为1,则表示当前位数据的电平状态与上一位数据的实际电平状态相同,需进一步判断:上一位数据的电平状态是否被改为中间电平。若上一位数据的电平状态被改为中间电平,则当前位数据的电平状态不需再进行修改,可以直接输出原本的电平,以与上一位数据的电平状态区分;若上一位数据的电平状态未被改为中间电平,则当前位数据的电平状态需要进行修改为中间电平,以与上一位数据的电平状态区分。

第二方面,本申请实施例提供了一种目的芯片,与第一方面或第一方面的任一种可能的设计的源芯片相配合,包括第一比较器、第二比较器、时钟恢复电路以及数据恢复电路;所述第一比较器用于接收对端的源芯片发送的编码数据,并将所述编码数据与第一参考电平进行比较,将所述编码数据中高于所述第一参考电平的输出为高电平,低于所述第一参考电平的输出为低电平,得到第一波形,其中,所述第一参考电平在中间电平与高电平之间;所述第二比较器用于接收所述编码数据,并将所述编码数据与第二参考电平进行比较,将所述编码数据中高于所述第二参考电平的输出为高电平,低于所述第二参考电平的输出为低电平,得到第二波形,其中,所述第二参考电平在所述中间电平与低电平之间;所述时钟恢复电路用于获取第一波形的波形翻转的脉冲以及第二波形的波形翻转的脉冲,并对获取到的脉冲进行并处理,获得时钟恢复信号;所述数据恢复电路用于根据所述时钟恢复信号采集所述编码数据,并将所述编码数据恢复成串行数据。

在上述的实施方式中,第一比较器可以通过自身的参考电平将中间电平恢复为低电平,得到第一波形;第二比较器可以通过自身的参考电平将中间电平恢复为高电平,得到第二波形。然后时钟恢复电路可以分别获得第一波形波形翻转位置对应的脉冲,以及第二波形波形翻转位置对应的脉冲,然后对两个脉冲进行并处理,便可以得到时钟恢复信号。数据恢复电路可以根据上述的时钟恢复信号采集编码数据,并将编码数据恢复为串行数据。通过第一比较器、第二比较器以及时钟恢复电路的配合,便可以从编码数据中恢复出时钟信号,与现有技术相比,恢复时钟信号的电路结构简单,降低了恢复时钟的难度,减小了数据传输的延迟。

在一个可能的设计中,所述时钟恢复电路包括至少一个第一延时器、第一异或运算器、至少一个第二延时器、第二异或运算器以及或运算器;所述至少一个第一延时器用于对所述第一波形进行延迟;所述第一异或运算器用于对所述第一波形、经过所述至少一个第一延时器延迟的第一波形进行异或运算,得到第一脉冲波形;所述至少一个第二延时器用于对所述第二波形进行延迟;所述第二异或运算器用于对所述第二波形、经过所述至少一个第二延时器延迟的第二波形进行异或运算,得到第二脉冲波形;所述或运算器用于对所述第一脉冲波形和第二脉冲波形进行或处理,得到脉冲融合波形,所述脉冲融合波形为所述时钟恢复信号。

在上述的实施方式中,时钟恢复电路包括第一延时器、第一异或运算器、第二延时器、第二异或运算器以及或运算器。第一延时器用于将第一波形进行延迟,第一异或运算器将进行过延迟的第一波形与第一波形进行异或处理,可以得到第一波形在翻转位置的脉冲信号所组成的波形,该波形可以记为第一脉冲波形。第二异或运算器将进行过延迟的第二波形与第二波形进行异或处理,可以得到第二波形在翻转位置的脉冲信号所组成的波形,该波形记为第二脉冲波形。取第一脉冲波形与第二脉冲波形的或集,得到脉冲融合波形,该脉冲融合波形的相邻两个脉冲之间的时间间隔与编码数据中相邻两个数据之间的时间间隔相同,因此,该脉冲融合波形便是时钟恢复信号。

在一个可能的设计中,所述时钟恢复电路还包括二分频器,所述二分频器的CLK端与所述或运算器的输出端连接;所述二分频器用于对所述时钟恢复信号进行二分频处理,得到占空比为50%的时钟恢复信号。

在上述的实施方式中,在获得时钟恢复信号之后,还可以通过二分频器对时钟恢复信号进行二分频处理,得到占空比为50%的时钟恢复信号。经过二分频处理的时钟恢复信号更加稳定。

在一个可能的设计中,所述数据恢复电路用于根据所述时钟恢复信号采集所述编码数据,并将所述编码数据恢复成串行数据,具体包括:确定接收的当前数据为中间电平状态;获取所述当前数据的上一数据的电平状态,将所述上一数据的电平状态作为所述当前数据的电平状态。

在上述的实施方式中,数据恢复电路在将编码数据恢复成串行数据时,可以根据时钟恢复信号的频率采集编码数据,并根据第一比较器与第二比较器的比较结果,判断接收的当前数据是否为中间电平状态,若不是,则高电平就恢复成高电平对应的1,低电平就恢复成低电平对应的0。若当前数据是中间电平状态,则获取上一数据的电平状态,并根据上一数据的电平状态确定当前数据对应的数值,该恢复过程简单运算量小。

第三方面,本申请提供一种数据传输方法,应用于源芯片,所述方法包括:所述源芯片的数据编码模块接收串行数据,对所述串行数据进行编码得到编码数据,并将所述编码数据传输至所述源芯片的驱动器,其中,所述编码数据的任意相邻两个数据之间均有跳变延;所述驱动器接收所述编码数据,并将所述编码数据发往对端的目的芯片,以使所述对端的目的芯片对所述编码数据进行处理。

在上述的实施方式中,数据编码模块可以对串行数据进行编码,得到编码数据,以实现编码数据的任意相邻两个数据之间均有跳变延。由于任意相邻两个数据之间均有跳变延,使得对端的芯片在每接收到一个数据时,均能通过跳变延的变化得知,即每个跳变延的变化均对应一个接收到的数据,从而相当于利用编码数据实现了时钟信号的传递。通过对串行数据的编码,使得编码数据通过跳变延的变化携带有时钟信号,与现有技术中不携带时钟信号,需对端的芯片自适应时钟相比,降低了恢复时钟的难度,减小了数据传输的延迟。

在一个可能的设计中,所述数据编码模块接收串行数据,对所述串行数据进行编码得到编码数据,包括:接收当前数据;判断所述当前数据对应的电平状态与所述当前数据的前一数据对应的电平状态是否一致;若是,将所述当前数据编码为中间电平;若否,保留所述当前数据对应的电平状态。

在上述的实施方式中,可以将当前数据的电平状态与前一数据的电平状态进行比较,判断两者的电平状态是否一致,若一致,则以中间电平表示当前数据的电平状态,若不一致在保留当前数据原本的电平状态。通过中间电平的引入,可以在相邻两个数据处于相同电平时,改变相邻两个数据中后一数据的电平状态,从而实现令相邻两个数据中不会出现相同电平的情况。

在一个可能的设计中,所述数据编码模块包括第一数字触发器、第二数字触发器、同或运算器以及选择器;所述第一数字触发器的CLK端接收时钟信号,第一数字触发器的输入端用于接收所述串行数据,所述第一数字触发器的输出端与所述同或运算器的第一输入端连接;所述同或运算器的第二输入端用于接收所述串行数据,所述同或运算器的输出端与所述选择器的第一输入端连接;所述选择器的输出端与所述第二数字触发器的输入端连接;所述第二数字触发器的输出端与所述选择器的第二输入端连接,所述第二数字触发器的CLK端用于接收所述时钟信号;所述数据编码模块接收所述串行数据,对所述串行数据进行编码得到编码数据,包括:将所述串行数据与已经延迟一个时钟周期的串行数据进行位与位之间的同或运算,得到运算结果;若所述运算结果为0,则确定所述串行数据的对应位的数据的电平为原电平;若所述运算结果为1,判断上一位数据的电平状态是否为中间电平;若上一位数据的电平状态是中间电平,则确定所述串行数据的对应位的数据的电平为原电平;若上一位数据的电平状态不是中间电平,则确定所述串行数据的对应位的数据的电平为中间电平。

在上述的实施方式中,第一数字触发器可以将串行数据延迟一个时钟周期,串行数据以及延迟了一个时钟周期的串行数据进行同或运算,得到运算结果。根据具体的运算结果以及上一位数据的电平状态,可以决定该位数据的电平状态。若运算结果为0,则表示当前位数据的电平状态与上一位数据的电平状态不同,则可以直接输出该位数据原本的电平。若运算结果为1,则表示当前位数据的电平状态与上一位数据的实际电平状态相同,需进一步判断:上一位数据的电平状态是否被改为中间电平。若上一位数据的电平状态被改为中间电平,则当前位数据的电平状态不需再进行修改,可以直接输出原本的电平,以与上一位数据的电平状态区分;若上一位数据的电平状态未被改为中间电平,则当前位数据的电平状态需要进行修改为中间电平,以与上一位数据的电平状态区分。

第四方面,本申请提供一种数据传输方法,应用于目的芯片,所述方法包括:所述目的芯片的第一比较器接收对端的源芯片发送的编码数据,并将所述编码数据与第一参考电平进行比较,将所述编码数据中高于所述第一参考电平的输出为高电平,低于所述第一参考电平的输出为低电平,得到第一波形,并将所述第一波形传输给所述目的芯片的时钟恢复电路,其中,所述第一参考电平在中间电平与高电平之间;所述目的芯片的第二比较器接收所述编码数据,并将所述编码数据与第二参考电平进行比较,将所述编码数据中高于所述第二参考电平的输出为高电平,低于所述第二参考电平的输出为低电平,得到第二波形,并将所述第二波形传输给所述目的芯片的时钟恢复电路,其中,所述第二参考电平在所述中间电平与低电平之间;所述时钟恢复电路获取所述第一波形的波形翻转的脉冲以及所述第二波形的波形翻转的脉冲,并对获取到的脉冲进行并处理,获得时钟恢复信号,并将所述时钟恢复信号传输给所述目的芯片的数据恢复电路;所述数据恢复电路根据所述时钟恢复信号采集所述编码数据,并将所述编码数据恢复成串行数据。

在上述的实施方式中,第一比较器可以通过自身的参考电平将中间电平恢复为低电平,得到第一波形;第二比较器可以通过自身的参考电平将中间电平恢复为高电平,得到第二波形。然后时钟恢复电路可以分别获得第一波形波形翻转位置对应的脉冲,以及第二波形波形翻转位置对应的脉冲,然后对两个脉冲进行并处理,便可以得到时钟恢复信号。数据恢复电路可以根据上述的时钟恢复信号采集编码数据,并将编码数据恢复为串行数据。通过第一比较器、第二比较器以及时钟恢复电路的配合,便可以从编码数据中恢复出时钟信号,与现有技术相比,恢复时钟信号的电路结构简单,降低了恢复时钟的难度,减小了数据传输的延迟。

在一个可能的设计中,所述时钟恢复电路包括至少一个第一延时器、第一异或运算器、至少一个第二延时器、第二异或运算器以及或运算器;所述时钟恢复电路获取第一波形的波形翻转的脉冲以及第二波形的波形翻转的脉冲,并对获取到的脉冲进行并处理,获得时钟恢复信号,包括:所述至少一个第一延时器对所述第一波形进行延迟;所述第一异或运算器对所述第一波形、经过延迟的第一波形进行异或运算,得到第一脉冲波形,其中,所述第一脉冲波形为所述第一波形的波形翻转对应的脉冲信号所在的波形;所述至少一个第二延时器对所述第二波形进行延迟;所述第二异或运算器对所述第二波形、经过延迟的第二波形进行异或运算,得到第二脉冲波形,其中,所述第二脉冲波形为所述第二波形的波形翻转对应的脉冲信号所在的波形;所述或运算器对所述第一脉冲波形和第二脉冲波形进行或处理,得到脉冲融合波形,所述脉冲融合波形为所述时钟恢复信号。

在上述的实施方式中,时钟恢复电路包括第一延时器、第一异或运算器、第二延时器、第二异或运算器以及或运算器。第一延时器用于将第一波形进行延迟,第一异或运算器将进行过延迟的第一波形与第一波形进行异或处理,可以得到第一波形在翻转位置的脉冲信号所组成的波形,该波形可以记为第一脉冲波形。第二异或运算器将进行过延迟的第二波形与第二波形进行异或处理,可以得到第二波形在翻转位置的脉冲信号所组成的波形,该波形记为第二脉冲波形。取第一脉冲波形与第二脉冲波形的或集,得到脉冲融合波形,该脉冲融合波形的相邻两个脉冲之间的时间间隔与编码数据中相邻两个数据之间的时间间隔相同,因此,该脉冲融合波形便是时钟恢复信号。

在一个可能的设计中,所述时钟恢复电路还包括二分频器,所述二分频器的CLK端与所述或运算器的输出端连接;在所述或运算器对所述第一脉冲波形和第二脉冲波形进行或处理,得到脉冲融合波形之后,所述方法还包括:所述二分频器对所述时钟恢复信号进行二分频处理,得到占空比为50%的时钟恢复信号。

在上述的实施方式中,在获得时钟恢复信号之后,还可以通过二分频器对时钟恢复信号进行二分频处理,得到占空比为50%的时钟恢复信号。经过二分频处理的时钟恢复信号更加稳定。

在一个可能的设计中,所述数据恢复电路根据所述时钟恢复信号采集所述编码数据,并将所述编码数据恢复成串行数据,包括:确定接收的当前数据为中间电平状态;获取所述当前数据的上一数据的电平状态,将所述上一数据的电平状态作为所述当前数据的电平状态。

在上述的实施方式中,数据恢复电路在将编码数据恢复成串行数据时,可以根据时钟恢复信号的频率采集编码数据,并根据第一比较器与第二比较器的比较结果,判断接收的当前数据是否为中间电平状态,若不是,则高电平就恢复成高电平对应的1,低电平就恢复成低电平对应的0。若当前数据是中间电平状态,则获取上一数据的电平状态,并根据上一数据的电平状态确定当前数据对应的数值,该恢复过程简单运算量小。

第五方面,本申请提供一种处理器系统,包括第一方面或第一方面的任一种可能的设计的芯片,以及第二方面或第二方面的任一种可能的设计的芯片。

为使本申请实施例所要实现的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了现有技术中在芯片裸片之间进行数据传输的应用场景图;

图2示出了本申请实施例提供的处理器系统的结构示意图;

图3示出了数据编码模块的结构示意图;

图4示出了数据编码模块工作过程中对应的波形图;

图5a示出了驱动器输出高电平状态的结构示意图;

图5b示出了驱动器输出中间电平状态的结构示意图;

图5c示出了驱动器输出低电平状态的结构示意图;

图6示出了将串行数据编码为编码数据的一种具体实施方式的波形图;

图7示出了时钟恢复电路工作时产生的波形图;

图8示出了时钟恢复电路的结构示意图;

图9示出了本申请实施例提供的数据传输方法的流程示意图;

图10示出了本申请另一实施例提供的数据传输方法的流程示意图;

图11示出了图10中步骤S230的具体步骤的流程示意图。

具体实施方式

请参见图1,图1示出了对照实施例中芯片裸片之间进行数据传输的方式,下面以将源芯片100的数据传输向目的芯片200进行说明。在本申请实施例中,文中所提到的芯片在不做特定说明的情况下,均为die。

传输的数据可以是不归零(Non Return Zero,简称NRZ)码,也可以是脉冲幅度调制(Pulse Amplitude Modulation,简称PAM)码。其中,NRZ通过低电平和高电平分别传输数据0和1,PAM码则用多个电平经过编码传输多个数据。

在源芯片100中,并串转换模块101将四路并行数据转换成一路串行数据,并通过驱动器102将串行数据发出。

在目的芯片200中,通过第一接收器201和第二接收器202分别在不同的时钟跳变延采集数据。例如,不妨设第一接收器201在时钟的上升沿采集数据,第二接收器202在时钟的下降沿采集数据。上述的时钟可以是预先设置的时钟。

第一接收器201和第二接收器202根据预先设置的时钟进行数据采集,并把采集到的数据传输到串并转换模块203进行串并转换,串并转换模块203将采集到的两路数据重新转换为四路并行数据,并把四路并行数据传输到逻辑模块204。

逻辑模块204可以根据接收到的四路并行数据判断数据是超前时钟还是落后时钟。若数据超前时钟,则逻辑模块204可以调节相位内插(Phase Interpolator,简称PI)模块205,使时钟提前;若数据落后时钟,则逻辑模块204可以调节PI模块205,使时钟延后。

其中,PI模块205可以从锁相环(Phase Locked Loop,简称PLL)206获取时钟信号,并根据逻辑模块204的指令,对时钟信号进行调节。

上述的进行数据传输的方式中,需要逻辑模块204根据时钟与数据之间的相位关系对时钟进行调节,导致数据传输延迟较大。

为了解决该问题,本申请通过对串行数据进行编码得到编码数据,使得编码数据的任意相邻两个数据之间均有跳变延,编码数据通过跳变延的变化携带有时钟信号,从而降低恢复时钟的难度。

请参见图2,图2示出了本申请实施例提供的处理器系统,该处理器系统包括源芯片100以及目的芯片200,源芯片100与目的芯片200之间相互通信。

源芯片100包括并串转换模块101、数据编码模块110以及驱动器102,并串转换模块101、数据编码模块110以及驱动器102三者顺次连接。

并串转换模块101用于将四路并行数据转换成一路串行数据,并将串行数据传输给数据编码模块110。

数据编码模块110用于接收串行数据,对串行数据进行编码得到编码数据,并将编码数据传输至驱动器102,其中,编码数据的任意相邻两个数据之间均有跳变延。

可选地,数据编码模块110具体用于:接收当前数据;判断当前数据对应的电平状态与当前数据的前一数据对应的电平状态是否一致;若是,将所述当前数据编码为中间电平;若否,保留当前数据对应的电平状态。

请参见图6,图6示出了将串行数据编码为编码数据的一种具体实施方式,对于串行数据:010 011 000 111,并串转换模块101可以按照时钟信号CLK进行数据的传输:每逢CLK的跳变延,均可以传输一个数据到数据编码模块110,即在CLK的上升沿以及下降沿均可以传输一个数据到数据编码模块110。

数据编码模块110可以将数据0转换为低电平状态L,将数据1转换为高电平状态H,并且在当前数据的电平状态与前一数据的电平状态一致时,将当前数据的电平状态确定为中间电平状态M。

将串行数据中的连续三个相同的数据转换为编码数据的过程,可以采用如下方式进行:

不妨以串行数据:010 011 000 111中的三个连续的0为例。第一个0与前一数据1的电平状态不相同,则第一个0对应的电平状态为L。

第二个0原本对应的电平状态为L,但由于第二个0原本对应的电平状态与第一个0对应的电平状态相同,均为L,因此,可以将第二个0对应的电平状态确定为中间电平状态M。

第三个0原本对应的电平状态为L,由于第二个0对应的电平状态被确定为中间电平状态M,与第三个0原本对应的电平状态不一致,因此,对于第三个0,可以输出原本对应的电平状态L。

综上,串行数据000对应的编码数据为LML。

通过上述处理方式,可以得到串行数据:010 011 000 111对应的编码数据:LHLMHM LML HMH,显然,经编码后的编码数据的相邻两个数据之间均有跳变延。

可选地,在一种具体实施方式中,数据编码模块110也可以将数据0转换为高电平状态H,将数据1转换为低电平状态L,并且在当前数据的电平状态与前一数据的电平状态一致时,将当前数据的电平状态确定为中间电平状态M。数据值与电平状态的对应关系不应该理解为是对本申请的限制。

请参见图3,在一种具体实施方式中,数据编码模块110包括第一数字触发器111、第二数字触发器112、同或运算器113以及选择器114。

第一数字触发器111的CLK端用于接收时钟信号,第一数字触发器111的输入端用于接收串行数据,第一数字触发器111的输出端与同或运算器113的第一输入端连接。

同或运算器113的第二输入端用于接收串行数据,同或运算器113的输出端与所述选择器114的第一输入端连接。

选择器114的输出端与第二数字触发器112的输入端连接;第二数字触发器112的输出端与选择器114的第二输入端连接,第二数字触发器112的CLK端用于接收所述时钟信号。

第一数字触发器111用于将串行数据TxDat延迟一个时钟周期,同或运算器113用于进行串行数据TxDat与已经延迟一个时钟周期的串行数据TxDat_d的同或运算,获得运算结果。

选择器114用于根据上述的运算结果以及上一时钟周期选择器114输出的选择结果Txweak_d,确定本次时钟周期选择器114输出的选择结果Txweak。

可选地,请参见图4,在TxDat与TxDat_d同或处理结果为0时,确定本次时钟周期选择器114输出的选择结果Txweak为0。

在TxDat与TxDat_d同或处理结果为1,且上一时钟周期选择器114输出的选择结果Txweak_d为0时,确定本次时钟周期选择器114输出的选择结果Txweak为1。

在TxDat与TxDat_d同或处理结果为1,且上一时钟周期选择器114输出的选择结果Txweak_d为1时,确定本次时钟周期选择器114输出的选择结果Txweak为0。

其中,Txweak为1,驱动器102输出中间电平;Txweak为0,驱动器102输出串行数据原本对应的电平信号。

若运算结果为0,则表示当前位数据的电平状态与上一位数据的电平状态不同,则可以直接输出该位数据原本的电平。若运算结果为1,则表示当前位数据的电平状态与上一位数据的实际电平状态相同,需进一步判断:上一位数据的电平状态是否被改为中间电平。

若上一位数据的电平状态被改为中间电平,即上一位数据的电平状态对应的上一时钟周期选择器114输出的选择结果Txweak_d为1,则当前位数据的电平状态不需再进行修改,可以直接输出原本的电平(即本次时钟周期选择器114输出的选择结果Txweak为0),以与上一位数据的电平状态区分;若上一位数据的电平状态未被改为中间电平,即上一位数据的电平状态对应的上一时钟周期选择器114输出的选择结果Txweak_d为0,则当前位数据的电平状态需要进行修改为中间电平(即本次时钟周期选择器114输出的选择结果Txweak为1),以与上一位数据的电平状态区分。

驱动器102用于接收编码数据,并将编码数据发往对端的芯片,以使对端的芯片对所述编码数据进行处理。

请参见图5a至图5c,图5a、图5b、以及图5c共同示出了驱动器102的一种具体实施方式的电路图,驱动器102包括第一电阻R1、第二电阻R2、第一开关k1、第二开关k2,其中,电源依次经第一电阻R1、第一开关k1、第二开关k2、第二电阻R2接地。传输线的一端连接于第一开关k1与第二开关k2之间,传输线的另一端与对端芯片的接地电阻R3连接。

若第一开关k1闭合、第二开关k2断开,则传输线传输的为高电平VDD/2,详情请参见图5a;若第一开关k1、第二开关k2均闭合,则传输线传输的为中间电平VDD/4,详情请参见图5b;若第一开关k1断开、第二开关k2闭合,则传输线传输的为低电平0,详情请参见图5c。其中,高电平VDD/2可以与数据1对应,低电平0可以与数据0对应。

源芯片100可以通过控制第一开关k1或第二开关k2的闭合或关断来控制驱动器102输出的电平状态。

对于本申请实施例提供的源芯片100,数据编码模块110可以对串行数据进行编码,得到编码数据,以实现编码数据的任意相邻两个数据之间均有跳变延。由于任意相邻两个数据之间均有跳变延,使得对端的芯片在每接收到一个数据时,均能通过跳变延的变化得知,即每个跳变延的变化均对应一个接收到的数据,相当于利用编码数据实现了时钟信号的传递。通过对串行数据的编码,使得编码数据通过跳变延的变化携带有时钟信号,与现有技术中不携带时钟信号,需对端的芯片自适应时钟相比,降低了恢复时钟的难度,减小了数据传输的延迟。

目的芯片200可以与上述源芯片100配合。目的芯片200包括第一比较器210、第二比较器220、时钟恢复电路230、数据恢复电路240以及串并转换模块203。

第一比较器210用于接收对端的芯片发送的编码数据,并将编码数据与第一参考电平进行比较,将编码数据中高于第一参考电平的输出为高电平,低于第一参考电平的输出为低电平,得到第一波形。其中,第一参考电平在中间电平与高电平之间。

第二比较器220用于接收编码数据,并将编码数据与第二参考电平进行比较,将编码数据中高于第二参考电平的输出为高电平,低于第二参考电平的输出为低电平,得到第二波形。其中,第二参考电平在中间电平与低电平之间。

请参见图6,第一参考电平可以为图6中编码数据位置的D1表示的虚线,第二参考电平可以为图6中编码数据位置的D2表示的虚线。图7示出了第一比较器210对编码数据进行处理得到的第一波形amp_h,以及第二比较器220对编码数据进行处理得到的第二波形amp_l。

接下来对第一比较器210根据编码数据得到第一波形的方式进行详细说明:

不妨以编码数据的前四位数LHLM为例,请参见图6:

第一位数L低于第一比较器210的第一参考电平D1,则输出为0;

第二位数H高于第一比较器210的第一参考电平D1,则输出为1;

第三位数L低于第一比较器210的第一参考电平D1,则输出为0;

第四位数M低于第一比较器210的第一参考电平D1,则输出为0;

因此,编码数据的前四位数LHLM对应的第一波形为0100。

可以根据对编码数据的每个数均进行判断,从而得到完整的编码数据对应的完整的第一波形amp_h。

接下来对第二比较器220根据编码数据得到第二波形的方式进行详细说明:

不妨也以编码数据的前四位数LHLM为例,请参见图6:

第一位数L低于第二比较器220的第二参考电平D2,则输出为0;

第二位数H高于第二比较器220的第二参考电平D2,则输出为1;

第三位数L低于第二比较器220的第二参考电平D2,则输出为0;

第四位数M高于第二比较器220的第二参考电平D2,则输出为1;

因此,编码数据的前四位数LHLM对应的第二波形为0101。

可以根据对编码数据的每个数均进行判断,从而得到完整的编码数据对应的完整的第二波形amp_l。

时钟恢复电路230用于获取第一波形的波形翻转的脉冲以及第二波形的波形翻转的脉冲,并对获取到的脉冲进行并处理,获得时钟恢复信号RXCLK。

请参见图7,时钟恢复电路230包括至少一个第一延时器231、第一异或运算器232、至少一个第二延时器233、第二异或运算器234、或运算器235以及二分频器236。

至少一个第一延时器231顺次连接,用于对第一波形amp_h进行延迟,并将经过延迟的第一波形传输到第一异或运算器232。其中,至少一个第一延时器231对第一波形的延迟时间大于第一波形的上升沿的变化时间与第一波形的下降沿的变化时间之和。

第一异或运算器232用于对第一波形、经过延迟的第一波形进行异或运算,得到第一脉冲波形edge_h。第一延时器231用于将第一波形进行延迟,第一异或运算器232将进行过延迟的第一波形与第一波形进行异或处理,可以得到第一波形在翻转位置的脉冲信号所组成的波形,该波形可以记为第一脉冲波形。

至少一个第二延时器233顺次连接,用于对第二波形amp_l进行延迟,并将经过延迟的第二波形传输到第二异或运算器234。其中,至少一个第二延时器233对第二波形的延迟时间大于第二波形的上升沿的变化时间与第二波形的下降沿的变化时间之和。

第二异或运算器234用于对第二波形、经过延迟的第二波形进行异或运算,得到第二脉冲波形edge_l。第二异或运算器234将进行过延迟的第二波形与第二波形进行异或处理,可以得到第二波形在翻转位置的脉冲信号所组成的波形,该波形记为第二脉冲波形。

或运算器235用于对第一脉冲波形和第二脉冲波形进行或处理,得到脉冲融合波形,脉冲融合波形为时钟恢复信号edge_h|edge_l。

取第一脉冲波形与第二脉冲波形的或集,得到脉冲融合波形edge_h|edge_l,该脉冲融合波形edge_h|edge_l的相邻两个脉冲之间的时间间隔与编码数据中相邻两个数据之间的时间间隔相同,因此,该脉冲融合波形便是时钟恢复信号。

二分频器236用于对所述时钟恢复信号进行二分频处理,得到占空比为50%的时钟恢复信号RXCLK。

时钟恢复信号RXCLK的上升沿与下降沿均可以触发信号采集,由于时钟是从编码数据中恢复出来的,时钟的Jitter特性和编码数据保持一致,并且还降低了数据恢复的难度。

在获得时钟恢复信号之后,还可以通过二分频器236对时钟恢复信号进行二分频处理,得到占空比为50%的时钟恢复信号。经过二分频处理的时钟恢复信号更加稳定。

数据恢复电路240用于根据时钟恢复信号采集编码数据,并将编码数据恢复成串行数据。

数据恢复电路240具体用于:确定接收的当前数据为中间电平状态;获取所述当前数据的上一数据的电平状态,将所述上一数据的电平状态作为所述当前数据的电平状态。

数据恢复电路240在将编码数据恢复成串行数据时,可以根据时钟恢复信号的频率采集编码数据,并根据第一比较器210与第二比较器220的比较结果,判断接收的当前数据是否为中间电平状态,若不是,则高电平就恢复成高电平对应的1,低电平就恢复成低电平对应的0。若当前数据是中间电平状态,则获取上一数据的电平状态,并根据上一数据的电平状态确定当前数据对应的数值,该恢复过程简单运算量小。

串并转换模块203用于将数据恢复电路240恢复出的串行数据转换为四路并行数据。

通过第一比较器210、第二比较器220以及时钟恢复电路230的配合,便可以从编码数据中恢复出时钟信号,与现有技术相比,恢复时钟信号的电路结构简单,降低了恢复时钟的难度,减小了数据传输的延迟。

请参见图9,图9示出了本申请实施例提供的一种数据传输方法,该方法应用于上述的源芯片100,具体包括如下步骤S110至步骤S120:

步骤S110,源芯片的数据编码模块接收串行数据,对所述串行数据进行编码得到编码数据,并将所述编码数据传输至所述源芯片的驱动器,其中,所述编码数据的任意相邻两个数据之间均有跳变延。

步骤S120,驱动器接收所述编码数据,并将所述编码数据发往对端的目的芯片,以使所述对端的目的芯片对所述编码数据进行处理。

数据编码模块110可以对串行数据进行编码,得到编码数据,以实现编码数据的任意相邻两个数据之间均有跳变延。由于任意相邻两个数据之间均有跳变延,使得对端的芯片在每接收到一个数据时,均能通过跳变延的变化得知,即每个跳变延的变化均对应一个接收到的数据,从而相当于利用编码数据实现了时钟信号的传递。通过对串行数据的编码,使得编码数据通过跳变延的变化携带有时钟信号,与现有技术中不携带时钟信号,需对端的芯片自适应时钟相比,降低了恢复时钟的难度,减小了数据传输的延迟。

可选地,在一种具体实施方式中,步骤S110具体包括如下步骤:接收当前数据;判断所述当前数据对应的电平状态与所述当前数据的前一数据对应的电平状态是否一致;若是,将所述当前数据编码为中间电平;若否,保留所述当前数据对应的电平状态。

可以将当前数据的电平状态与前一数据的电平状态进行比较,判断两者的电平状态是否一致,若一致,则以中间电平表示当前数据的电平状态,若不一致在保留当前数据原本的电平状态。通过中间电平的引入,可以在相邻两个数据处于相同电平时,改变相邻两个数据中后一数据的电平状态,从而实现令相邻两个数据中不会出现相同电平的情况。

可选地,在另一种具体实施方式中,步骤S110具体包括如下步骤:将所述串行数据与已经延迟一个时钟周期的串行数据进行位与位之间的同或运算,得到运算结果;若所述运算结果为0,则确定所述串行数据的对应位的数据的电平为原电平;若所述运算结果为1,判断上一位数据的电平状态是否为中间电平;若上一位数据的电平状态是中间电平,则确定所述串行数据的对应位的数据的电平为原电平;若上一位数据的电平状态不是中间电平,则确定所述串行数据的对应位的数据的电平为中间电平。

第一数字触发器111可以将串行数据延迟一个时钟周期,串行数据以及延迟了一个时钟周期的串行数据进行同或运算,得到运算结果。根据具体的运算结果以及上一位数据的电平状态,可以决定该位数据的电平状态。若运算结果为0,则表示当前位数据的电平状态与上一位数据的电平状态不同,则可以直接输出该位数据原本的电平。若运算结果为1,则表示当前位数据的电平状态与上一位数据的实际电平状态相同,需进一步判断:上一位数据的电平状态是否被改为中间电平。若上一位数据的电平状态被改为中间电平,则当前位数据的电平状态不需再进行修改,可以直接输出原本的电平,以与上一位数据的电平状态区分;若上一位数据的电平状态未被改为中间电平,则当前位数据的电平状态需要进行修改为中间电平,以与上一位数据的电平状态区分。

请参见图10,图10示出了本申请实施例提供的一种数据传输方法,该方法应用于上述的目的芯片200,具体包括如下步骤S210至步骤S240:

步骤S210,目的芯片的第一比较器接收对端的源芯片发送的编码数据,并将所述编码数据与第一参考电平进行比较,将所述编码数据中高于所述第一参考电平的输出为高电平,低于所述第一参考电平的输出为低电平,得到第一波形,并将所述第一波形传输给所述目的芯片的时钟恢复电路。

其中,所述第一参考电平在中间电平与高电平之间。

步骤S220,目的芯片的第二比较器接收所述编码数据,并将所述编码数据与第二参考电平进行比较,将所述编码数据中高于所述第二参考电平的输出为高电平,低于所述第二参考电平的输出为低电平,得到第二波形,并将所述第二波形传输给所述目的芯片的时钟恢复电路。

其中,所述第二参考电平在所述中间电平与低电平之间。

步骤S230,时钟恢复电路获取所述第一波形的波形翻转的脉冲以及所述第二波形的波形翻转的脉冲,并对获取到的脉冲进行并处理,获得时钟恢复信号,并将所述时钟恢复信号传输给所述目的芯片的数据恢复电路。

可选地,请参见图11,在一种具体实施方式中,步骤S230可以包括如下步骤S231至步骤S236:

步骤S231,至少一个第一延时器231对所述第一波形进行延迟。

步骤S232,第一异或运算器232对所述第一波形、经过延迟的第一波形进行异或运算,得到第一脉冲波形,其中,所述第一脉冲波形为所述第一波形的波形翻转对应的脉冲信号所在的波形。

步骤S233,至少一个第二延时器233对所述第二波形进行延迟。

步骤S234,第二异或运算器234对所述第二波形、经过延迟的第二波形进行异或运算,得到第二脉冲波形,其中,所述第二脉冲波形为所述第二波形的波形翻转对应的脉冲信号所在的波形。

步骤S235,或运算器235对所述第一脉冲波形和第二脉冲波形进行或处理,得到脉冲融合波形,所述脉冲融合波形为所述时钟恢复信号。

第一异或运算器232将进行过延迟的第一波形与第一波形进行异或处理,可以得到第一波形在翻转位置的脉冲信号所组成的波形,该波形可以记为第一脉冲波形。第二异或运算器234将进行过延迟的第二波形与第二波形进行异或处理,可以得到第二波形在翻转位置的脉冲信号所组成的波形,该波形记为第二脉冲波形。取第一脉冲波形与第二脉冲波形的或集,得到脉冲融合波形,该脉冲融合波形的相邻两个脉冲之间的时间间隔与编码数据中相邻两个数据之间的时间间隔相同,因此,该脉冲融合波形便是时钟恢复信号。

步骤S236,二分频器236对所述时钟恢复信号进行二分频处理,得到占空比为50%的时钟恢复信号。

通过二分频器236对时钟恢复信号进行二分频处理,得到占空比为50%的时钟恢复信号。经过二分频处理的时钟恢复信号更加稳定。

步骤S240,数据恢复电路根据所述时钟恢复信号采集所述编码数据,并将所述编码数据恢复成串行数据。

可选地,步骤S240具体包括如下步骤:确定接收的当前数据为中间电平状态;获取所述当前数据的上一数据的电平状态,将所述上一数据的电平状态作为所述当前数据的电平状态。

数据恢复电路240在将编码数据恢复成串行数据时,可以根据时钟恢复信号的频率采集编码数据,并根据第一比较器与第二比较器的比较结果,判断接收的当前数据是否为中间电平状态,若不是,则高电平就恢复成高电平对应的1,低电平就恢复成低电平对应的0。若当前数据是中间电平状态,则获取上一数据的电平状态,并根据上一数据的电平状态确定当前数据对应的数值,该恢复过程简单运算量小。

在本申请所提供的实施例中,应该理解到,所揭露设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号