串行总线数据传输方法和装置的制作方法

文档序号:7639127阅读:335来源:国知局
专利名称:串行总线数据传输方法和装置的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种串行总线数据传输方法和装置。
背景技术
随着计算机科学技术的飞速发展,总线带宽成为衡量系统性能的重要指标之一。 按照数据传输形式的不同,总线分为两种串行总线与并行总线。并行总线是指数据的各位同时进行传送,对数据同步的要求很高,也成为制约并行总线带宽提升的瓶颈之一。在传输速度到达极限之后,并行总线信号线长度无法延长,信号同步性难以保持,信号线耗电较大的缺点也显现出来。此时串行总线作为一种数据被分配到高速串行通道上进行传输的总线形式,它高频率,高带宽,数据易同步的优势开始凸显,得到广泛应用。当多个串行通道同时工作时,不可避免的带来了通道之间串扰问题,从而导致通道的延迟增大,信号完整性降低,噪声增大等等问题,影响了数据传输,成为制约串行总线发展的一大难题。

发明内容
本发明提供了一种串行总线数据传输方法和装置,解决了串扰影响数据传输的问题。一种串行总线数据传输方法,包括为多个串行通道中的各串行通道分配象限值和位偏移量值,同一象限值对应的多个串行通道构成象限,象限值相同的不同串行通道的位偏移量值不同;根据各串行通道的象限值和位偏移量值,进行位编码,将各串行通道匹配到对应物理链路,相邻的串行通道匹配至不相邻的物理链路;通过匹配后的串行通道传输数据。优选的,各象限包含的串行通道数量相同。优选的,在具有20个串行通道时,将该20个串行通道划分为4个象限,各象限的象限值分别为0、1、2和3,每一象限中的5个串行通道的位偏移量值分别为0、1、2、3和4。优选的,所述进行位编码,将各串行通道匹配到对应物理链路具体为当串行通道的象限值小于2时,根据如下表达式确定该串行通道对应的物理链路
编号物理链路编号N =(系统所支持的最大串行通道数/4)*(1+象限值)_位偏移量值-1 ;当串行通道的象限值大于或等于2时,根据如下表达式确定该串行通道对应的物理链路编号物理链路编号N =(系统所支持的最大串行通道数/4)*(5+象限值)+位偏移量值。优选的,所述通过匹配后的串行通道传输数据具体为
将待传输的数据帧划分成数据块,为各数据块编号;交叉发送编号为奇数的数据块和编号为偶数的数据块,将所述数据块的各位交叉均勻分布到各个串行通道上传输,所述数据块的位数等于串行通道数。优选的,方法还包括当一个或多个串行通道出现不可修复性错误时,根据当前正常工作的串行通道数量调整数据块大小。本发明还提供了一种串行总线数据传输装置,包括象限划分模块,用于为多个串行通道中的各串行通道分配象限值和位偏移量值, 同一象限值对应的多个串行通道构成象限,象限值相同的不同串行通道的位偏移量值不同;物理链路匹配模块,用于根据各串行通道的象限值和位偏移量值,进行位编码,将各串行通道匹配到对应物理链路,相邻的串行通道匹配至不相邻的物理链路;数据传输模块,用于通过匹配后的串行通道传输数据。优选的,所述数据传输模块包括数据块划分单元,用于将待传输的数据帧划分成数据块,为各数据块编号;数据块发送单元,用于交叉发送编号为奇数的数据块和编号为偶数的数据块,将所述数据块的各位交叉均勻分布到各个串行通道上传输,所述数据块的位数等于串行通道数。优选的,所述数据块划分单元,还用于当一个或多个串行通道出现不可修复性错误时,根据当前正常工作的串行通道数量调整数据块大小。本发明提供了一种串行总线数据传输方法和装置,为多个串行通道中的各串行通道分配象限值和位偏移量值,同一象限值对应的多个串行通道构成象限,象限值相同的不同串行通道的位偏移量值不同,根据各串行通道的象限值和位偏移量值,进行位编码,将各串行通道匹配到对应物理链路,相邻的串行通道匹配至不相邻的物理链路,通过匹配后的串行通道传输数据,相邻串行通道匹配至不同的物理链路,减少了相邻物理链路间的串扰, 解决了串扰影响数据传输的问题。


图1为本发明的实施例一提供的一种串行总线数据传输方法的流程图;图2为本发明的实施例三中所使用的位混合模式原理图;图3为串行通道与物理通道匹配关系的示意图;图4为奇偶交叉选择策略原理图;图5为本发明的实施例四提供的一种串行总线数据传输装置的结构示意图;图6为图5中数据传输模块503的结构示意图。
具体实施例方式当多个串行通道同时工作时,不可避免的带来了通道之间串扰问题,从而导致通道的延迟增大,信号完整性降低,噪声增大等等问题,成为制约串行总线发展的一大难题。 再者由于串行通道采用高速信号传输数据,需采取一种校验方法来对高速串行通道上传输的数据进行侦错和纠正。但各种校验方式都存在所能检测的数据的最大范围,超过该范围则无法检测到通道上的错误。因此当串行总线上某通道出现突发性的且长度超过校验最大范围的错误时,数据校验无能为力。如需解决上述问题,除了从PCB板级电路设计方面进行考虑外,若能从高速串行互联总线的源头,即芯片设计的并串转换阶段采取一种方法,降低高速串行通道间串扰程度,降低通道上出现连续突发性错误的风险,将极大的提高串行总线的工作效率和容错性, 从而带来数据传输带宽上的提高和系统性能的提升。为了解决上述问题,本发明的实施例提供了一种串行总线数据传输方法和装置, 下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。首先结合附图,对本发明的实施例一进行说明。本发明实施例一提供了一种串行总线数据传输方法,使用该方法完成数据传输的流程如图1所示,包括步骤101、为多个串行通道中的各串行通道分配象限值和位偏移量值,同一象限值对应的多个串行通道构成象限,象限值相同的不同串行通道的位偏移量值不同;其中,所述串行通道为逻辑通道。步骤102、根据各串行通道的象限值和位偏移量值,进行位编码,将各串行通道匹配到对应物理链路,相邻的串行通道匹配至不相邻的物理链路;步骤103、通过匹配后的串行通道传输数据。下面,对本发明的实施例二进行说明。本发明实施例提供了一种串行总线数据传输方法,主要考虑高速串行通道串扰问题对串行总线传输质量的影响,放弃了传统的串行通道与物理链路匹配一一对应的设计, 通过板级布线延迟的数学模型,计算出从串行通道到物理链路的最佳位混合模式,从而减轻串扰程度。其中计算延迟模型的核心在于分析和计算互联中电容耦合任意点的到达和转换时间,该过程可采用HSpice等模拟工具进行计算。在延迟模型计算过程中,延迟量和转换点的计算是一个反复迭代的过程,该过程以首个输入的到达时间和转换时间为基准作为开始,通过迭代对互联的延迟和转换时间以时间等分段为单位进行更新,重复该过程直到两次迭代之间所有通道的延迟之和改变程度降低到5%以下。最佳位混合模式需满足以下特性(1)所有可能的邻接关系,均为双倍。即位混合模式下每组差分信号到其他信号的长度相同。( 任意相邻两组物理链路的距离相同。传统的高速互联总线所采用的8比特循环冗余校验方式,具有以下特点(1)能够检测3位和3位以下的任意错误。(2)能够检测任意错误个数为奇数的错误。(3)任意突发性连续的长度为8比特或8比特以下的错误。⑷当连续性错误长度为9比特时,有1/1 的几率错误不可测。( 当连续性错误长度大于9比特时,有1/256的几率错误不可测。因此当总线的某个高速串行通道出现连续的不可修复错误时,即突发性连续错误长度大于或等于9比特时,循环冗余校验有失效的风险,导致错误信息被传送到应用层次,带来更严重的系统错误。为了防止这种情况的出现,本发明实施例采用了一种奇偶块交叉选择策略,将数据帧划分成长度更小的块,交叉均勻分布到各个高速串行通道上。接收方收到数据后再按照该策略将数据块组合成数据帧的格式,进行循环冗余校验。当某个通道上出现不可修复的连续性错误时,该策略已将通道上的数据重新组合,与其他通道上的数据进行交叉,保证了校验阶段数据帧的错误形式为间断性的可测错误,而不是存在不可测风险的8比特以上连续性错误。采用上述策略成功校验出通道上的不可修复错误后,总线进行传输宽度重新协商,即弃用不可用的高速串行通道,以收发双方重新商定的高速串行通道个数进行传输,此时奇偶块交叉策略按照总线宽度(通道个数)进行变化,保证数据帧发生错误的可测性。本发明实施例提供的串行总线数据传输方法,改善了高速信号传输质量,主要是指芯片设计阶段采用位混合方法依据最佳混合模式将串行通道对应到物理链路,减小了各通道间由于串扰带来的互联延迟和噪声,改善信号完整性;增强了系统的容错性,主要是指奇偶块交叉选择策略的应用,将串行通道上出现错误而带来的错误的不可测风险降低到最小。在错误可测的前提下,根据通道的传输情况协商传输宽度,即使某些通道出现物理故障,也有相应的应对策略,即按照通道数重新交叉分配各个数据块,总线仍然能够继续正常工作。下面结合附图,对本发明的实施例三进行说明。本发明实施例中分别描述了位混合匹配物理链路和奇偶块交叉选择传输数据的实现过程。本发明实施例中,依据延迟模型和仿真工具计算出的最佳位混合模式,如图2所示,将串行通道上的数据对应到物理链路上,同时串行通道上的数据格式在数据帧中是连续的,按照象限和偏移进行位编码。以20个串行通道为例,将高速互连总线划分为4个象限,每个象限占5位偏移量,而物理链路则直接对应到印制电路板上的芯片之间连接端口的走线。位混合模式通过直接对应关系将串行通道与物理链路进行匹配,不需要增加额外的逻辑。串行通道的每一位通过<象限,偏移>的形式进行描述,物理链路则通过1-20的排列顺序进行描述,其中,由最佳位混合模式推导出的匹配规律如下当串行通道的象限值小于2时,根据如下表达式确定该串行通道对应的物理链路编号物理链路编号N =(系统所支持的最大串行通道数/4)*(1+象限值)_位偏移量值-I ;当串行通道的象限值大于或等于2时,根据如下表达式确定该串行通道对应的物理链路编号物理链路编号N =(系统所支持的最大串行通道数/4) * (5+象限值)+位偏移量值。如图3所示,发送方按照上述规律计算出物理链路的排列顺序,将串行通道对应到物理通道。同时,接收方按照上述规律反推出串行通道的排列顺序,将物理链路对应到串行通道。如图4所示,以并行数据帧数据长度为80比特为例描述高速互联总线的奇偶交叉选择策略数据帧被按段等分成4个数据块,大小为20比特,编号为0,1,2,3,其中0,2为偶块,1,3为奇块,每个数据块中相邻的位在数据帧中同样是相邻的关系。当系统所支持的串行通道总数为20时,数据块长度与串行通道长度相等,奇块和偶块交叉占用串行通道, 每个时钟周期都有一个数据块被发出,发送一个完整的数据帧需要4个时钟周期。数据块按照位混合模式对应到通道上,数据块中相邻的位被分配到了不同的物理通道上,从而避免了单个物理通道上出现连续错误造成数据帧错误不可测的情况。当一个或多个通道出现不可修复性错误,双方重新协商传输宽度。当系统所支持的串行通道总数为10时,一个时钟周期所能传输的数据长度为数据块长度的一半。此时奇偶交叉策略改为相邻的数据块交叉发送,每个数据块中相邻的位也进行交叉发送,如第一个周期发送奇数块的奇数位,第二个周期发送偶数块的奇数位,第三个周期发送奇数块的偶数位,第四个周期发送偶数块的偶数位,直到所有数据块发送完毕,再进行下一个数据帧的交叉选择。当系统所支持的串行通道总数为5时,一个时钟周期所能传输的数据长度为数据块长度的四分之一。此时奇偶交叉策略再次作出相应的变化,相邻的数据块进行交叉发送,每个数据块每4位之内的数据位也进行交叉发送,如第一个周期发送奇数块的第0,4,8,12,16位,第二个周期发送偶数块的第0,4,8,12,16位,第三个周期发送奇数块的1,5,9,13,17位,持续该过程直到所有数据块发送完毕,再进行下一个数据帧的交叉选择。下面结合附图,对本发明的实施例五进行说明。本发明实施例提供了一种串行总线数据传输装置,其结构如图5所示,包括象限划分模块501,用于为多个串行通道中的各串行通道分配象限值和位偏移量值,同一象限值对应的多个串行通道构成象限,象限值相同的不同串行通道的位偏移量值不同;物理链路匹配模块502,用于根据各串行通道的象限值和位偏移量值,进行位编码,将各串行通道匹配到对应物理链路,相邻的串行通道匹配至不相邻的物理链路;数据传输模块503,用于通过匹配后的串行通道传输数据。优选的,所述数据传输模块503的结构如图6所示,包括数据块划分单元5031,用于将待传输的数据帧划分成数据块,为各数据块编号;数据块发送单元5032,用于交叉发送编号为奇数的数据块和编号为偶数的数据块,将所述数据块的各位交叉均勻分布到各个串行通道上传输,所述数据块的位数等于串行通道数。优选的,所述数据块划分单元5031,还用于当一个或多个串行通道出现不可修复性错误时,根据当前正常工作的串行通道数量调整数据块大小。本发明实施例提供的一种串行总线数据传输装置,能够与本发明的实施例提供的一种串行总线数据传输方法相结合,为多个串行通道中的各串行通道分配象限值和位偏移量值,同一象限值对应的多个串行通道构成象限,象限值相同的不同串行通道的位偏移量值不同,根据各串行通道的象限值和位偏移量值,进行位编码,将各串行通道匹配到对应物理链路,相邻的串行通道匹配至不相邻的物理链路,通过匹配后的串行通道传输数据,相邻串行通道匹配至不同的物理链路,减少了相邻物理链路间的串扰,解决了串扰影响数据传输的问题。本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现, 它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。
权利要求
1.一种串行总线数据传输方法,其特征在于,包括为多个串行通道中的各串行通道分配象限值和位偏移量值,同一象限值对应的多个串行通道构成象限,象限值相同的不同串行通道的位偏移量值不同;根据各串行通道的象限值和位偏移量值,进行位编码,将各串行通道匹配到对应物理链路,相邻的串行通道匹配至不相邻的物理链路; 通过匹配后的串行通道传输数据。
2.根据权利要求1所述的串行总线数据传输方法,其特征在于,各象限包含的串行通道数量相同。
3.根据权利要求1或2所述的串行总线数据传输方法,其特征在于,在具有20个串行通道时,将该20个串行通道划分为4个象限,各象限的象限值分别为0、1、2和3,每一象限中的5个串行通道的位偏移量值分别为0、1、2、3和4。
4.根据权利要求1所述的串行总线数据传输方法,其特征在于,所述进行位编码,将各串行通道匹配到对应物理链路具体为当串行通道的象限值小于2时,根据如下表达式确定该串行通道对应的物理链路编号物理链路编号N=(系统所支持的最大串行通道数/4)*(1+象限值)-位偏移量值-1 ; 当串行通道的象限值大于或等于2时,根据如下表达式确定该串行通道对应的物理链路编号物理链路编号N =(系统所支持的最大串行通道数/4)* (5+象限值)+位偏移量值。
5.根据权利要求1所述的串行总线数据传输方法,其特征在于,所述通过匹配后的串行通道传输数据具体为将待传输的数据帧划分成数据块,为各数据块编号;交叉发送编号为奇数的数据块和编号为偶数的数据块,将所述数据块的各位交叉均勻分布到各个串行通道上传输,所述数据块的位数等于串行通道数。
6.根据权利要求5所述的串行总线数据传输方法,其特征在于,该方法还包括当一个或多个串行通道出现不可修复性错误时,根据当前正常工作的串行通道数量调整数据块大小。
7.—种串行总线数据传输装置,其特征在于,包括象限划分模块,用于为多个串行通道中的各串行通道分配象限值和位偏移量值,同一象限值对应的多个串行通道构成象限,象限值相同的不同串行通道的位偏移量值不同;物理链路匹配模块,用于根据各串行通道的象限值和位偏移量值,进行位编码,将各串行通道匹配到对应物理链路,相邻的串行通道匹配至不相邻的物理链路; 数据传输模块,用于通过匹配后的串行通道传输数据。
8.根据权利要求7所述的串行总线数据传输装置,其特征在于,所述数据传输模块包括数据块划分单元,用于将待传输的数据帧划分成数据块,为各数据块编号; 数据块发送单元,用于交叉发送编号为奇数的数据块和编号为偶数的数据块,将所述数据块的各位交叉均勻分布到各个串行通道上传输,所述数据块的位数等于串行通道数。
9.根据权利要求8所述的串行总线数据传输装置,其特征在于,所述数据块划分单元,还用于当一个或多个串行通道出现不可修复性错误时,根据当前正常工作的串行通道数量调整数据块大小。
全文摘要
本发明提供了一种串行总线数据传输方法和装置。涉及通信领域;解决了串扰影响数据传输的问题。该方法包括为多个串行通道中的各串行通道分配象限值和位偏移量值,同一象限值对应的多个串行通道构成象限,象限值相同的不同串行通道的位偏移量值不同;根据各串行通道的象限值和位偏移量值,进行位编码,将各串行通道匹配到对应物理链路,相邻的串行通道匹配至不相邻的物理链路;通过匹配后的串行通道传输数据。本发明提供的技术方案适用于多串行通道并行工作的数据传输过程中,实现了低串扰的数据传输。
文档编号H04L1/00GK102164024SQ20111009331
公开日2011年8月24日 申请日期2011年4月14日 优先权日2011年4月14日
发明者周恒钊 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1