使用共模抑制和SSO恢复的功率和引脚高效的芯片到芯片通信的制作方法

文档序号:12917255阅读:376来源:国知局
使用共模抑制和SSO恢复的功率和引脚高效的芯片到芯片通信的制作方法与工艺

本申请是申请号为201180063509.5,申请日为2012年7月19日,发明名称为“使用共模抑制和sso恢复的功率和引脚高效的芯片到芯片通信”的专利申请的分案申请。

交叉引用

以下在先申请通过引用通用地全部结合于此:

-2010年5月20日提交的美国专利申请12/784,414、发明人为harmcronie和aminshokrollahi、题为“orthogonaldifferentialvectorsignaling(正交差分向量信令)”(本文中称为“croniei”);以及

-2010年6月4日提交的美国临时专利申请61/351,845、发明人为harmcronie和aminshokrollahi、题为“errorcontrolcodingfordifferentialsignaling(用于差分信令的误差控制编码)”(本文中称为“cronieii”)。

以下参考文献在本申请中是使用括号中示出的标记来引用的。

[slepian]slepian,d.,“permutationmodulation(置换调制)”,ieeeproceedings,第53卷,第3篇,第228-236页(1965年3月);

[cornelius]授予williamcornelius和williamalthas的美国专利6,661,355、题为“methodsandapparatusforconstant-weightencoding&decoding(用于恒定权重编码和解码的方法和装置)”(2003);

[stan-burelson]stan,m.和burelson,w.,“bus-invertcodingforlow-poweri/o(用于低功率i/o的总线反相编码)”,《关于vlsi系统的ieeetransactions》,第3卷第1篇,第49-50页(1995年3月);以及

[tallini]tallini,l.和bose,b.,“transmissiontimeanalysisfortheparallelasynchronouscommunicationscheme(并行异步通信方案的传输时间分析)”,《关于计算机的ieeetransactions》,第52卷,第5篇,第558-571页(2003)。

本发明一般涉及通信,并且具体而言,涉及能够在集成电路之间传达信息的信号的传输。



背景技术:

在电子设备包含超过一个集成电路(“ic”)时,通常需要通过通信总线将信号从一个芯片发送到另一芯片。通信还可在作为两个不同设备的一部分的两个ic之间的通信总线上发生。在任一情况下,通信总线都可包括一条或多条线路。ic可被安装在印刷电路板(“pcb”)上,其中线路是带状线或微带状线。对于设备或板之间的通信,线路可以是连接这些设备/板的电缆的铜线或光纤。如所公知的,通信需要电能并且可生成电噪声且在通信条件不理想时会发生误差。

对于数量日益增长的应用而言,通信总线的速度是一个限制因素。提高速度的一种方式是增加组成总线的线路的数量。然而,这也增加了ic的所需引脚的数量,并且在许多情况下,ic引脚是稀有资源。另一限制因素是总线和驱动该总线的电路的功耗。简单地提高发送功率可能不会导致更好的总线性能,因为这可能增加噪声的量和更低的性能。

在通信总线上发送的信号遭受若干类型的噪声。一个噪声源是可被建模为独立高斯噪声的热噪声。可通过增加信号摆幅或通过使用设计良好的信令方案来改进对高斯噪声的恢复力。另一类型的噪声是可得自通信总线的相邻线路的干扰。一些噪声和干扰具有对总线的若干线路而言相同的分量,并且这一噪声被称为共模噪声。又一噪声源是由随时间变化的总线驱动器电流所造成的同步开关输出(“sso”)噪声。在现代高速总线通信系统中,sso噪声可造成主要问题。还有一噪声源是串扰噪声,这是由同一总线的不同线路上的信号的干扰造成的。串扰噪声是高频总线的主要噪声源之一并且难以通过只提高总线上的信号的能量来消除,因为能量提高直接导致对该总线上的邻近线路的干扰提高并且将造成甚至更差的串扰噪声。

存在着可解决以上约束中的一个或多个的、用于芯片到芯片通信的信令的若干方法。

一种方法是单端信令,其中携带信息的信号相对于共同基准在单条线路上发送。虽然单端信令在使用的线路数量方面是高效的,但它易受共模噪声影响并且它引入了sso噪声。此外,对于单端信号的检测,在接收机处需要基准。该基准信号的生成中的不准确性导致通信系统的更高的误码率。因此,与需要基准的信令方法相比,不需要基准的信令方法是更优选的。单端信令在达到特定高斯噪声恢复力所需的传输功率方面也不是非常高效,并且它在串扰噪声方面也不高效。

另一信令方法是差分信令。在差分信令中,携带信息的信号在一对线路上发送。原始的携带信息的信号被编码在该对线路上传输的信号之差之中。差分线路的优点是它抑制了在这两条线路上共模的噪声。

对于芯片到芯片通信,携带信息的信号通常是不归零(“nrz”)编码的信号,并且如此,差分线路不引入sso。另一优点是差分线路对干扰和串扰不敏感。其原因是干扰和串扰主要耦合到共模中并且在接收机处内消除。此外,在对高斯噪声的恢复力方面,差分信令与单端信令相比是更加功率高效的。差分信令的主要缺点是与差分信令相比,它使用两倍数量的引脚。

在一个时间周期t中发送的位数与总线线路的数量之间的比率被称为该总线的引脚效率。尽管基于差分信令的通信总线提供了良好的噪声恢复力,但它们的引脚效率是低的。差分信令比单端信令的更为功率高效,但总线通信系统的功耗中的相当大的量被用在了总线线路的驱动器中。

解决这一问题的一种方法在croniei中解释,它描述了一种用于总线通信的方法,它在使用更少的发送功率的同时达到了比差分信令更高的引脚效率并提供对共模噪声和sso噪声的恢复力。在线路的数量很大时,本文描述的一种方法,称为“正交差分向量信令”(即“odvs”),达到接近1的引脚效率。在一些应用中,优选地如上所述地以引脚效率为代价来提高通信系统的噪声恢复力。

cronieii教导了一种称为“编码差分向量信令”(即“covecs”)的方法,它使用前向纠错方法来使用odvs所节省的引脚中的一些以提高噪声恢复力。

尽管croniei和cronieii的方法与其他方法相比提供了与引脚效率和噪声恢复力的折中有关的显著改进,但存在着其中可能进行附加的改进的一些应用。例如,因为odvs的各实施例可使用2的幂数量的线路,所以不是方便数量的线路的应用可能需要另一方法。

使用cronieii的方法,改进系统的噪声恢复力可能用尽odvs所节省的大量引脚,并且根据cronieii的教导的编码和解码所需的电路可能是复杂的并且可能不适用于数据传输是非常高的速率的情况,从而需要另一方法。

另一应用是引脚效率需要超过1的情况。需要一种方法,该方法提供更广范围的可能的引脚效率和噪声恢复力对,允许非常高效的编码和解码,并带来引脚效率与噪声恢复力之间的新的折中。



技术实现要素:

在根据本发明的各方面的用于总线通信的方法和装置中,提供了表示要通过该总线传达的信息的第一组物理信号并将其映射到球面码的码字,其中码字能表示具有为多个分量的向量并且该总线至少使用与被使用的向量的分量一样多的信号线,将该码字映射到第二组物理信号,其中第二组物理信号的诸个分量可具有来自一组分量值的值,其中对于至少一个分量,该组分量值具有至少三个不同的值,以及提供该第二组物理信号以供在该数据总线上以物理形式传输。

在一具体实施例中,球面码是稀疏置换调制码,并且将第一组物理信号映射到该置换调制码的码字的操作还包括访问一存储位置来寻找生成向量,选择该置换调制码的生成向量的已区分位置,将第一组物理信号映射到第一位序列,将第一位序列细分成第二位序列和第三位序列,将第二序列与第三序列进行比较并且如果第二序列和第三序列满足预定关系则将第一预定值置于生成向量的已区分位置中且将第二预定值置于生成向量的与已区分位置不同的第二位置中,其中第二位置是使用预定过程从第二序列获得的,在第二序列和第三序列不满足预定关系时,将第一预定值置于生成向量的从第二序列获得的第一位置中且将第二预定值置于生成向量的从第三序列获得的第二位置中,以及将第三预定值置于生成向量的不等于第一位置或第二位置的所有位置中。

以下详细描述与附图一起将提供对本发明的特性和优点的更好的理解。

附图说明

图1示出了其中可使用本发明的环境。

图2是更详细地示出图1的通信总线的示意图。

图3是示出图1的环境的示意图,其中使用了向量信号编码器和向量信号解码器。

图4是示出可被用在图3的总线线路上的信令方案的信号图。

图5是更详细地示出图3的向量信号解码器的框图。

图6是更详细地示出图3的向量信号编码器的框图。

图7是示出图6的码映射单元的功能的框图。

图8是示出可被用于图6的向量信号编码器中的可替换的码映射单元的功能的框图。

图9提供可由图7的码映射单元所使用的球面码的示例;图9a给出了三维的且大小为8的球面码的示例;图9b给出了三维的且大小为16的球面码的示例。

图10是示出图6的变换单元的功能的框图。

图11是可由图10的传输单元使用的示例hadamard矩阵的图示。

图12是更详细地示出图3的向量信号编码器的实施例的框图。

图13是用于将输入位编码成可用在通信总线上的向量信号的示例编码过程的流程图。

图14是用于将输入位编码成可用在通信总线上的向量信号的另一示例编码过程的流程图。

图15是用于将输入位编码成可用在通信总线上的向量信号的较低引脚效率编码过程的示例的流程图。

图16是用于将输入位编码成可用在通信总线上的向量信号的较低引脚效率编码过程的另一示例的流程图。

图17是示出用于pm码的编码过程的流程图。

图18是针对各示例输入的、可被存储在存储器中、或在图17中示出的过程的各步骤中所生成的值的图。

图19是示出用于pm码的解调过程的流程图。

图20是示出用于pm码的解码过程的流程图。

图21是可在图20的解码过程期间发生的值的表。

图22示出用于稀疏pm码的编码过程;在图22a的过程中,数字n不是2的幂,并且选择m以使得2m-1<n<2m;在图22b的过程中,数字n是2的幂且选择m以使得n=2m+1。

图23示出用于稀疏pm码的解码过程,其中数字n被假定不是2的幂,且选择m以使得2m-1<n<2m。

图24示出用于稀疏pm码的解码过程,其中数字n被假定是2的幂,且选择m以使得n=2m+1。

图25是可被用于稀疏pm编码的值的表。

图26是示出使用多级pm码的图3的向量信号编码器的实施例的框图。

具体实施方式

图1示出了其中可使用本发明的环境。如在此所示,信息源110例如以t秒的时间间隔周期性地提供一系列k个信息码元。不失一般性,假定这些信息码元是诸个位(bit)。这些位要通过通信总线130由总线发射机120发送到目的地150处的总线接收机140。通信总线130包括n条物理线路135。

在其中容易地允许n条物理线路并且在每一条线路上以每秒k/tn位的传输不会造成噪声问题的情况下,不需要特殊电路——每t秒,k/n位将被置于一线路上并从源发送到目的地。然而,存在着其中需要保持很少的物理线路的数量和/或简单地发送源处存在的任何位会造成足以向该特定使用所需的k/t的值引入误差的噪声的许多情况。

通信总线130的示例可包括处理器与存储器之间的总线,其中物理线路采取印刷电路板(“pcb”)上的带状线或微带状线的形式并且处理器是一些信息位的源(同时存储器是目的地)且存储器是其他信息位的源(同时处理器是目的地)。通信总线130的另一示例是连接两个设备的一组线路。一般而言,本文公开的方法适用于各种各样的通信总线。一些总线使用通过控制电压变化而被添加到线路的电子信号来操作,而其他总线是通过控制电流变化来添加的,并且在又一些实施例中,线路传导光(且可能不是电)且信号是施加在光纤或其他光导介质上的光信号。带状线或微带状线通常使用电子信号来操作。

在操作中,源110的各信息位被馈送到总线发射机120,总线发射机承担将这些位变换成可在这些130上发送的一组物理信号的任务。在总线130的另一端,总线接收机140将接收到的信号映射回信息位以供在目的地150处使用。

图2是更详细地示出通信总线130的示意图。如在此所示,总线130包括l条线路220。总线发射机120生成一组n个波形240,被标记为x1(t)到xn(t)(且统称为x(t))且可表示电压信号、电流信号和/或光学信号。在该示例中,n是大于5的整数,但应当理解,它可以是4、8、64、256或不是2的完整幂的某一整数,例如3。在总线接收机140处接收到的波形240可能由于信号漂移、放大、偏移、噪声以及其他影响而与波形240并不是完全相同的。接收到的信号在此被标记为y1(t)到yn(t)(且统称为y(t))。总线接收机的主任务是基于波形y1(t)到yn(t)来恢复原始信息位。为便于这一过程,总线发射机120和总线接收机140可执行若干任务,如放大、滤波、解调、同步、均衡、以及总线终止。

噪声影响

如在此解释的,描述了用于解决共模噪声抑制、对sso噪声的恢复、对高斯噪声的恢复、以及对于串扰噪声的有利属性的问题的新颖技术。

共模噪声:在存在干扰x(t)使得每一线路被相同地影响的噪声信号的情况下,接收到的信号可被表示为yi(t)=xi(t)+c(t),i=1,2,…,n,其中c(t)表示共模噪声信号。当然,假定总线接收机没有确切地知道c(t)。

sso噪声:同步开关输出(“sso”噪声)通常是在驱动总线线路的电路具有随时间变化的功耗时引起的。驱动器电路的瞬时功耗p(t)通常与每一单独线路上的信号的振幅的平方和成比例。

解决共模噪声和sso噪声的向量信号编码器的模型

如在此解释的,获得要传达的信息位中的一些并生成用于多条线路的信号(即,向量信号)的向量信号编码器通常可通过使得向量信号的各分量的总和加起来为零(即,通过满足方程1)来提供共模噪声恢复力。

在向量信号对sso噪声有贡献时,这可通过维持总线驱动器的恒定总功耗来降低,这可如方程2所示地表达的,其中p0是与信号的能量相关的常数。

示例向量信号编码器

图3是示出对向量信号编码器和向量信号解码器的使用的示意图。总线发射机120可包括向量信号编码器310和总线驱动器320,而总线接收机140可包括向量信号解码器340和总线接收机330。向量信号编码器310优选地编码由源110提供的信息,使得方程1和2成立。

在一个示例中,向量信号编码器310使用向量脉冲振幅调制的形式,其中定义具有t秒有限持续时间的基脉冲波形p(t)并且根据一信令方案来调制这一脉冲的振幅。脉冲波形的两个示例在图4中示出。图4的左手侧示出了持续时间t的矩形脉冲410。脉冲410通常被用作近似以用于建模目的。更实际的脉冲420在图4的右手侧示出。脉冲420具有有限的上升时间tr。在一个优选实施例中,向量信号编码器310为持续时间t的每一第i码元时间段生成信号xi(t)=cip(t),其中ci是定义该码元时间段的脉冲的实数。在此,标记“c”指的是包含ci值的向量且所有可能的这样的c的集合被表示为c。在此,集合c被称为信号星群。在使用这一形式的脉冲振幅调制的实施例中,方程1和方程2分别简化为方程3和方程4。

图5示出了包括共模消除单元510并有效地满足方程1的向量信号解码器340的示例。一组信号520进入向量信号解码器340且加法器530计算它们的和。该和被馈送到一组减法器540(它可以是差分电路),减法器540从进入向量信号解码器的信号520中的每一个信号中“减去”该和信号(或该和信号的一部分)。结果,如果共模噪声在总线的整个带宽上是共同的,则它被消除。

除共模噪声和sso噪声(这可通过特定电路来解决)之外,还存在着高斯噪声(它被独立地加到总线上的信号)和外部干扰(它被加到穿过该总线的信号)。如在此解释的,可通过正确地选择总线上的信令来使得总线对这些类型的噪声具有恢复力。如所公知的,可通过确保向量c的可能的值彼此具有大欧几里得距离来获得恢复力。为此,向量信号解码器340可包括将该组接收到的信号解码成对应的原始信息位的附加处理单元550,同时具有带良好最小距离(同时满足方程1和2)的信号星群c。

向量信号编码器310的一个优选实施例在图6中示出。向量信号编码器310的输入是要在具有l条线路的总线上在t秒时间间隔内发送的k个源位的序列。向量信号编码器310可包括码映射单元610、变换单元620以及调制器630。

码映射单元610将这k个源位作为它的输入并生成n个值(它可以是实数或复数),使得这些数的绝对值的平方和是给定常数、或属于一小组可能的值。

变换单元620将来自码映射单元的n个值作为输入并将这些值变换成另一组n个值,其中该变换如下进一步解释。调制器630对变换单元620的输出进行调制以创建用于总线线路的信号。一个示例可以是根据预定义脉冲波形p(t)的脉冲幅度调制,它造成与x1(t)到xn(t)相对应的信号,它们被发送到总线驱动器320以在总线上发送。

在总线上发送的值是仔细选择的,以便最大化或增加它们对上述各种类型的噪声的稳健性。这可通过正确地选择码映射单元610和变换单元来实现。例如,码映射单元610可按如下方式生成各个值:所生成的向量具有与欧几里得距离相关的良好的互距离属性以提供对高斯噪声和热噪声的恢复力。此外,码映射单元620可被配置成确保每一向量的欧几里得模是相等的,使得满足方程2。变换单元620可以是:在变换之后,输入向量的互距离属性被保留并且方程1被满足。

现在将参考图7-12来描述码映射单元610和变换单元620的示例和优选实施例。

码映射单元

示例码映射单元在图7中示出,包括用于将二进制纠错码的生成矩阵g应用于来自源的输入位向量s以获得位向量c的机制,如方程5所示。

c=gs(方程5)

结果向量c被提供给单元720,它将映射f应用于向量c的各单独分量。这一映射有许多选择,并且取决于底层应用,一个选择可能优选于另一个。

例如,如果在通信总线130上发送的信号属于集合{-1,+1},则对于位x,映射f可被定义为f(x)=(-1)x。如果通信总线130允许传输属于大小大于2的集合的信号,则映射f可具有不同的形式;例如,它可以取诸个位对(pairsofbits)并将它们映射到预定义的四元素集合的各元素之一,或者它可以取诸个三个位(triplesofbits)并将它们映射到预定义的八元素集合的各元素之一,等等。在f是以上形式的情况下,向量信号编码器610的输出是由v=f(c)给出的向量v,其中f(c)被理解为以下向量:其第i项是f应用于c的第i项。在直接计算之后,应当显而易见的是,v的各分量满足方程2,其中p0的值等于向量c的项数。此外,由各种可能性来选择g,使得结果向量具有良好的互距离属性。对于k=4且n=7,矩阵g的示例由方程6示出,它是二进制[7,4,3]汉明码的生成矩阵。其他选项是可能的。

一般而言,如果使用长度为n、维度为k且最小汉明距离为d的码的生成矩阵,则信号编码器610所生成的任何两个不同向量之间的最小欧几里得距离是汉明距离的平方根的两倍,而所生成的每一向量的能量(即,欧几里得模)是n的平方根,并且因此,所生成的向量的最小距离与欧几里得模之间的比率如方程7所示。

因此,如果需要很小的最小距离,则所选码应当具有与n相比较大的最小汉明距离。

图8是示出可被用于向量信号编码器中的可替换的码映射单元的功能的框图。它包括球面码单元820和球面编码器l。输入位的向量被给到球面编码器810,球面编码器基于输入向量和球面码820来输出球面码的各元素之一。如本领域技术人员公知的,球面码是n维欧几里得空间中相等模的向量的有限集。通常,球面码的各元素之间的最小欧几里得距离需要较大,使得所述元素的微扰不会造成将一个码混淆成另一个码。本领域技术人员公知有许多球面码的示例。例如,三维单位球面上的正四面体的四个顶点(vertices)是方程8给出的球面码。这些向量之间的最小欧几里得距离是8的平方根,它被认为是非常大的。

图9a和9b分别给出大小为8和16的三维球面码的进一步示例。图9a中的元素全部具有大约等于1.16342285的模。图9b中的那些具有大约等于0.942858的模。这些球面码具有向量之间的最小欧几里得距离相对大的属性。这些球面码对与在有噪声信道(如无线通信、卫星通信、调制解调器线路上的通信,等等)上传输信息相关的领域中的研究人员而言是公知的。其他球面码是可能的。

当将球面码用在各应用中时,对于所使用的各个位的每一给定向量,一个过程需要确定与各位的该特定向量相关联的唯一球面码元素。在此,“球面码编码过程”被用于指该过程。

球面编码是图7的编码器所执行的编码的一般情况。在该情况下,函数f的可能的输出形成了球面码。在图7的情况下,球面码编码过程使用用于底层码的编码过程。在一般球面码的情况下,编码过程可更精致并且可依赖于所使用的特定球面码。这样的过程可包括将指定长度的各个位的每一可能的数组与球面码的各元素之一相匹配的表。例如,对于以上正四面体,映射可如表1所示(其中“s”表示3的平方根)。

表1.

使用在此的教导,也可为其他球面码(如图9a和9b所示的那些)创建表。一些编码方法的缺点之一是它们用来储存输入位的每一可能序列的球面码元素的指示的存储器量。在球面码中的元素的数量很小时,例如4、8、或16,可能使用这样的编码方法,而不牺牲诸如区域、存储、或速度等资源。在其他情况下,使用配备有快速编码器以及快速解码器的球面码是明智的。如下所述,置换调制码提供这样一类,并且可被用在根据本发明的总线系统的各实施例中。

差分信令、单端信令以及球面码

差分信令和单端信令是公知的并且可被看做使用球面码的信令的特殊情况,如下所述。在n条线路上单端信令的情况下,在这些线路上发送的信号是(a1,…,al)的形式,其中这一向量的各个项独立地取两个可能的值之一。这些元素的集合构成了根据以上定义的球面码,并且在此,这一特定球面码被称为“超立方”码。

在2n条线路上的差分信令的情况下,在这些线路上发送的信号是(a1,-a1,a2,-a2,…,an,-an)的形式,其中项aj中的每一个是来自集合{b,-b}的元素。这些元素的集合构成了根据以上定义的球面码,并且在此,这一特定球面码被称为“反射超立方”码。

变换单元

示例变换单元在图10中给出。变换单元620可包括执行由矩阵t所定义的变换的电路或元件。矩阵t可具有以下属性:它的列的欧几里得模全是1且相互正交,并且该矩阵的各行的和具有比非零充分多的零,如至少与非零一样多的零或至少有两倍或三倍或更多倍的零。例如,矩阵t可具有以下属性:它的行的和在所有坐标位置上是零,除了可能第一个位置之外。croniei包含这样的矩阵的示例。一类示例由hadamard矩阵来提供。这样的矩阵的示例在图11中给出。

如果矩阵t具有以下属性:它的行的和全是零,除可能在第一位置之外,则在一个实施例中,变换单元620可从向量v形成向量v',如方程9所示。

在这一实施例中,变换单元620会将矩阵t直接应用于v'以获得x1(t)到xn(t)。

经组合的码映射单元和变换单元

在若干情况下,二进制纠错码或适当的球面码与变换的组合造成信号星群,其中每一向量是某一基向量x0的置换。例如,考虑使用二进制[7,4,3]汉明码作为其码映射单元并使用图11的大小为8的hadamard矩阵作为其变换单元的向量信号编码器。码映射单元和变换单元定义图12中示出的信号集。结果信号向量是向量[-7,1,1,1,1,1,1,1]和–[-7,1,1,1,1,1,1,1]的置换。

其中所有元素均是单个基元素的置换的球面码被称为“置换调制码”。这些码在[slepian]中进一步解释,并且因为它们是已知的,所以在此不必描述它们的一些细节。因而,上述汉明码和hadamard变换定义了置换调制码。在一个实施例中,码映射单元和变换单元被组合到单个置换编码器1210中,如图12所示。在以上示例中,置换编码器1210可应用表2中所示的映射来从一组四个位生成单个向量。

表2

用于有效地执行这一编码的过程在图13中示出。在那里,输入位x[0]、x[1]、x[2]、x[3]被读入(来自从存储器或某一其他收入)(步骤1310)。在步骤1320,计算变量s,其中如果x[0]=1则s=-1,否则s=0。此后,在步骤1330计算指数t。这一指数是0和7之间的数,且其位表示由(x[1],x[2],x[3])给出。在步骤1340,输出向量的具有指数t的项被设为-7,并且所有其他指数被设为1。最后,在步骤1350,返回向量s*(v[0],v[1],…,v[7])。

在又一实施例中,码向量信号编码器可以采用由四面体的诸个顶点以及大小为4的hadamard变换所定义的码映射单元。这一组合造成置换调制码,其中x0=[-3,1,1,1]的各元素基于输入位来置换。在一实施例中,置换编码器1210可通过将诸个位对(pairsofbits)映射到表3所定义的诸个信号向量来直接生成信号向量。

表3

用于有效地执行这一编码的过程在图14中示出。在此,输入位x[0],x[1]在步骤1410被提供给该过程。在步骤1420,计算作为0和3之间的数的指数t,并且它具有由(x[0],x[1])给出的位表示。在步骤1430,输出向量的具有指数t的项被设为-3,并且所有其他指数被设为1。最后,在步骤1440,返回向量(v[0],v[1],v[2],v[3])。

以上给出的两个示例造成具有0.5引脚效率的编码向量信令方法。可使用这一过程来获得其他类似的编码向量信令方法,但以较低的引脚效率为代价。参考图15和16描述这样的过程。对图15的中的过程的输入1510是被表示为x[0],…,x[n-1]的一系列n个位。在步骤1520,这些位被解释为整数t的二进制展开且计算这一整数。在步骤1530,输出向量v的项t被设为值-2n+1且所有其他值被设为1。在步骤1540输出这一向量。这一过程的引脚效率是n/2n。对于n=2,这造成图14的四面体映射,引脚效率为0.5。

对图16的中的过程的输入是被表示为x[0],…,x[n]的一系列n+1个位。在步骤1620,计算变量s,其中如果x[0]=1则s=-1,否则s=1。在步骤1630,序列x[1],x[2],…,x[n]被解释为整数t的二进制展开,并计算这一整数。在步骤1640,输出向量v的项t被设为值-(2n)+1且所有其他值被设为1。在步骤1650输出这一向量。这一过程的引脚效率是(n+1)/2n。对于n=3,这造成图13的汉明映射,引脚效率为0.5。

在各具体应用中,所获得的球面码的向量可以被乘以考虑了信号的发射能量的相同缩放因子。在一些应用中,图13-16中的过程的输出因而可经历又一步骤,在该步骤中,输出向量的所有项都乘以共同的常数值。

置换调制码

使用码映射单元和变换单元造成了满足方程1和2的若干信号集合。此外,这些信号集合具有良好的噪声性能。这些方案中的若干造成置换调制码。如上所述,置换调制码(此后简称为“pm码”)是球面码,其中所有元素都是基向量x0的置换。基向量x0被称为pm码的“生成元(generator)”,且pm码被称为是由x0生成的。因为这一属性,对于pm码的元素而言,上述方程2总是被满足。此外,x0的坐标的和是0,则对于pm码的元素而言,方程1也总被满足。在优选实施例中,向量x0具有图10中示出的形状,其中n0,n1,…,nt是总计为x0的坐标数n的正整数,并且其中a0,a1,…,at是实数,a0>a1>…>at使得满足方程11。

n0a0+n1a1,+…+ntat=0(方程11)

阅读了本公开内容应当显而易见的是,x0所生成的pm码的各元素可由集合{1,2,…,n}的不同部分枚举到大小为n0,n1,…,nt的子集中。因此,x0所生成的pm码具有n!/(n0!n1!…nt!)个元素。

以此方式描述的pm码的编码过程是相当简单的,并且将参考图17和18来描述。为便于演示,函数mult(n;n0,n1,…,nt)被定义为在ni中的没有一个是负的情况下等于n!/(n0!n1!…nt!),在ni中的至少一个等于0的情况下等于0。给定位序列x[0],….,x[m]使得m小于或等于mult(n;n0,n1,…,nt)的二进制对数,通过将该位序列解释成像整数l的二进制表示l=x[0]+2x[1]+…+2mx[m]那样来开始这一序列的编码。对图17中描述的过程的输入是要编码的整数l以及整数n0,n1,…,nt。附加输入n是冗余的,因为它是n0,n1,…,nt的和。然而,它被添加作为输入以简化该演示。图18中的过程的输出是一组标志flag[0],flag[1],…,flag[n-1]。这一输出的解释如下:该向量的第i元素等于as,其中s=flag[i]。

在步骤1710,变量e被设为0。在步骤1720,作出关于n是否是正数的判定。如果否,则该过程在步骤1730处停止并输出值flag[0],flag[1],…,flag[n-1]。如果n仍然是正数,则在步骤1740,则使用上述函数mult()来计算量a0,…,at。此后,在步骤1750,找出集合{0,1,…,t-1}中的整数i,使得满足方程12的表达式。

a0+a1+…+ai-1≤l<a0+a1+…+ai(方程12)

随后,在步骤1755,标志flag[e]被设为i,且计数器e递增1。在步骤1760,l的值被减掉a0+a1+…+ai-1,n和ni都减1。此时,该过程再次回到步骤1720。

现在参考图18描述图17中的过程的示例。在该示例中,对该过程的输入由l=198,n=8,n0=2,n1=4且n2=2给出。在图18的每一行,变量l,n,n0,n1,n2,e以及flag[e]的值在图17的步骤1755结束后给出。输出是flag向量(1,1,1,0,1,0,2,2),对应于元素(a1,a1,a1,a0,a1,a0,a2,a2).

pm码的解调器实现将pm码的给定元素映射到其对应的位表示的过程,其中对应的位表示是如下的一系列位:在使用图17的过程后,该一系列位产生该子集。

现在参考图19来描述pm码的解调器。在步骤1950给出的对该过程的输入是整数n,n0,n1,…,nt以及向量flag,其中flag[e]是坐标位置e所属的子集的指数。这一过程的输出是整数l,整数l大于等于0且小于mult(n;n0,n1,…,nt)。在步骤1910,计数器e被设为0,变量l的当前值也一样被设为0。在步骤1920,作出n是否仍然是正数的判定。如果否,则该过程在步骤1930处停止并输出值l。如果n仍然是正数,则在步骤1940,则使用上述函数mult()来计算量a0,…,at。此后,在步骤1950,整数i被设为flag[e]的值并且l递增a0+a1+…+ai-1。在步骤1960,n和ni的值都减1且计数器e的值递增1。此时,该过程返回步骤1920。

解码pm码

使用pm码的一个原因是存在着在这些码遭受各种类型的噪声的情况下用于解码这些码的各元素的简单过程。现在参考图20来描述pm码的解码过程。对这一过程的输入(在步骤2005示出)是实数向量(y0,y1,…,yn-1)。在一些实施例中,这一向量可以是在线路135上传输了pm码的一元素后由图1的单元140接收到的。在这样的实施例中,这一向量构成了由发射机120发送的pm码的该元素的被干扰版本。图20中的解码过程的任务是确定所发送的元素的位表示,其中该元素的位表示是造成图17中的过程的输入l的表示。

如本文所使用的,应当理解,在执行解码过程或其他过程或具有任务时,该执行或任务由硬件电路来执行、由专用或通用处理器所执行的软件来执行,但在小型快速电路的情况下,这一过程可能有专用硬件元件来执行。在此并未示出或描述每一可能的硬件元件的所有元素。在许多情况下,一旦完全描述了过程的功能或各元素,则对电路设计者而言,用硬件实现是直接的。

在图20的解码过程的步骤2010中,储存元素y0,y1,…,yn-1,且获得集合{0,1,…,n-1}的置换pi,使得满足方程13。

ypi(0)≥ypi(1)≥…≥ypi(n-1)(方程13)

此后,在步骤2020,获得包括n个项的向量flag,其中满足方程14(0)-14(t)。

flag[pi(0)]=…=flag[pi(n0-1)]=0(方程14(0))

flag[pi(n0)]=…=flag[pi(n0+n1-1)]=1(方程14(1))

flag[pi(n0+n1+…+nt-1)]=…=flag[pi(n-1)]=t(方程14(t))

在步骤2030,向量flag被用来恢复整数l。恢复l的过程类似于图19的过程。图20的过程的输出是l的二进制表示。

优化的pm码

在线路135上发送的pm码元素的各单独的项遭受均值为0和给定方差的高斯噪声的假定下,计算图20中的过程的误码率是直接的。基于这一计算,可以确定对应于给定t值的最佳基向量。图21中的表给出了这些优化的pm码中的一些。在t=3或其他值的情况下,其他示例是可能的。在这些示例中,基向量x0是方程15中示出的形式。

该表中的第一条目是向量[n0,n1,n2,n3]。第二和第三条目分别是数字δ和a。第四条目是可用该pm码发送的位数,且第五条目等于数字n(它是n0,n1,n2,n3的和)。在所选实施例中,这是线路135的数量。该表的最后一列是与相同数量的位的差分信令(可能要通过更多数量的线路)相比的以db为单位的功率改进。

如可从这些示例中看到的,使用造成比差分信令的引脚效率(它是0.5)更大的引脚效率并且更加功率高效的pm码是可能的。例如,通过8条线路发送6个位是可能的,并且只使用了用差分信令发送相同数量的位所需的能量的大约70%。这一方法可与每条线路的传输速度的降低进行组合以获得具有与差分信令相同的吞吐量的传输,但却使用显著地更低的能量。或者,通过提高每条线路的传输速度,在使用大约相同能量的情况下获得比差分信令快2倍的传输是可能的。另一示例是在12条线路上传输12个位。这一方案具有与单端信令相同的引脚效率,但使用不到后者一半的能量。又一示例是该表的最后条目。在此,在16条线路上发送25个位是可能的,因此达到了25/16(即1.5625)的引脚效率。对应的传输方案将使用不到单端信令(它达到1.0的引脚效率)一半的能量。

在阅读了本公开内容之后可以找出造成更高引脚效率且比单端信令方法更加能量高效的许多其他示例。

稀疏pm码

在各种应用中,使得通过稀疏向量(即,通过包含许多零的向量)来生成pm码是有益的。例如,在向量长度为n但只具有d个非零项(其中d小于n)的情况下,在任何时刻,只需驱动各线路中的d条并且因此所使用的总电流或电压可被显著降低。例如,如果基向量只具有两个非零坐标并且这些等于某一实数a及其相反数-a,则可以使用类似于差分信令的过程来驱动与这些非零位置相对应的两条线路上的电压。使用对应的pm码将使得能够传输大约2*lg(n)个位,其中lg(n)是n的二进制对数。对于不是太大的n的值,相对于差分信令而言,承载电压(并且因此消耗能量)的线路的数量被显著降低,同时保持引脚效率至少0.5。

在一些实施例中,使用稀疏pm码的另一原因是处理串扰。当在总线上以非常高的频率发送信息时,这一噪声源出现并且是这些频率处的主噪声源。对于稀疏pm码,串扰通常造成承载零电压的线路的错误激发。通常,在解码信号时,这一激发显得是高斯噪声。因为pm码被设计为对这样的噪声具有良好的恢复力,所以稀疏pm码通常展示出对串扰的良好的稳健性。

出于这些原因,就比图17和图19中概述的过程更简单且需要较少计算资源的、用于稀疏pm码的编码过程和解码过程而言,获得了益处。

现在参考图22-24来公开这样的方法。在图22a的情况下,数字n不是2的幂,且选择m以使得2m-1<n<2m。对这一过程的输入是各自有m位的两个向量,称为x和y。输出是只具有值为a和-a的两个非零坐标的向量v。在步骤2210,x和y各个位被用来获得集合{0,1,…,2m-1}中的两个指数i和j。接着,在步骤2220,检查i和j是否相等。如果是,则v[i]被设为a且v[2m]被设为-a。否则,v[i]被设为a且v[j]被设为-a。因为在步骤2210的初始化,v的所有其他项是零。

在图22b的情况下,数字n是2的幂,等于2m+1。对这一过程的输入是长度分别为m+1和m的两个向量x和y。在步骤2245,计算两个指数i和j,其位表示分别是x和y。另外,输出向量v被初始化为全零。在步骤2250,该过程测试是否i=j。如果是,则v[i]被设为a,而v[2m-1]被设为-a。如果步骤2250的测试是否定的,则v[i]被设为a且v[j]被设为-a。

解码过程在图23和24中示出。类似于图22a中的情况,在图23中,数字n被假定为不是2的幂,并且数字m使得2m-1<n<2m。对图23中的过程的输入是实数向量(z0,z1,…,zn-1)。在一些实施例中,这一向量可以是在线路135上传输了pm码的一元素后由图1的单元140接收到的。在这样的实施例中,这一向量构成了由发射机120发送的pm码的该元素的被干扰版本。图23中的过程的任务是确定所发送的元素的位表示。在步骤2310,确定两个指数i和j,使得zi和zj分别是z0,z1,…,zn-1中的最大和最小元素。另外,还可确定这些指数的位表示并将其存储在向量x和y中,如图所示。在步骤2315,检查j是否大于2m-1。如果是,则存在解码错误,并且该过程可能通过标志一个错误来在步骤2320停止。如果步骤2315中的测试是否定的,则步骤2325检查j是否等于2m-1。如果是,则在步骤2320输出包括2m个位的向量(x0,…,xm-1,x0,…,xm-1)。如果在步骤2325测试是否定的,则输出向量(x0,…,xm-1,y0,…,ym-1)。

在图24的情况下,数字n被假定为2的幂,且数字m使得n=2m+1。对该附图中的过程的输入与对图23的过程的输入相同。在步骤2410,确定两个指数i和j,使得zi和zj分别是z0,z1,…,zn-1中的最大和最小元素。另外,还可确定这些指数的位表示并将其存储在向量x和y中,如图所示。步骤2415中的测试确定j是否大于2m-1。如果是,则存在错误,且该过程在步骤2420停止。如果否,则步骤2425测试就是否等于2m-1。如果是,则步骤2430检查xm是否等于0。如果否,则该过程因错误而停止。如果是,则在步骤2440,该过程输出包括2m+1个位的向量(x0,…,xm-1,0,x0,…,xm-1)。如果在步骤2425中的测试是否定的,即如果j小于2m-1,则该过程在步骤2435输出包括2m+1个位的向量(x0,…,xm,y0,…,ym-1)。

如本领域技术人员可理解的,在图22-24中描述的过程比它们在图17和19中的对应过程更为的简单。例如,不必对输入向量进行完全排序;只需确定该向量的最大和最小元素。在各种应用中,这实现起来可比完全排序简单得多。

这些过程的许多变形是可能的且可在仔细研读了本公开内容之后容易地获得。给出的描述只用于说明目的并且不旨在是限制性的。

稀疏pm码的示例

图25给出了根据以上描述的一些稀疏pm码的示例。对应于pm码的基向量是方程16的中示出的形式。

在图25中,第一列是n1的值,且第二列是a的值。第三列是根据以上描述的所发送的位的数量,且n是线路数(它等于n1+2)。最后一列给出相对于差分信令的功率改进。

与恒定权重编码联系

结合在图1中呈现的那类总线上发送信号所使用的另一类型的编码是恒定权重编码。在这一编码方法中,只有各线路中的给定数量d条线路承载电压或电流,而其他n-d条不承载。恒定权重编码已被大量研究人员研究。例如,[cornelius]和本文的参考文献描述了恒定权重并行编码技术,它在各并行编码的数据线以及信号线的高和低潜在驱动器电路中维持恒定电流,并且因此可抵抗各种形式的开关噪声。[stan-burelson]和[tallini]描述了相关方法,其中给定位序列被变换成一般更长的位序列,其中只有d位或至多d位等于1。这样的恒定权重编码满足以上方程2,但不满足方程1。

如果被正确地做到,则恒定权重编码可被看做pm编码的特殊情况。例如,如果基向量x0是其中前d个坐标等于某一数字a(在各应用中通常等于1)且其余n-d个坐标等于某一其他数字(在各应用中通常等于0)的向量,则这行得通。具体而言,以上描述的方法还可被用来执行用于恒定权重码的编码和解码操作,其中基向量具有至少三个不同的坐标(且并非两个,如在恒定权重编码中的情况一样)。这造成大得多的引脚效率以及对许多不同类型的噪声的恢复力,而恒定权重编码对这些噪声是没有恢复力的。

多级pm码

在一些情况下,可能想进一步增加建立在本文公开的方法上的通信系统的引脚效率。参考图26进一步解释实现这一点的一种方式。信息源110向级调制器2610提供一组d个位。在早先描述的实施例中,置换编码器1210使用基向量x0来用于编码过程。在多级pm码版本中,这一基向量由级调制器2610提供并且这一向量被称为x0′。级调制器的任务是以d个位的值被嵌入到基向量中的方式来修改pm码的基向量x0。经修改的基向量被发送给置换编码器1310,置换编码器1310基于从信息源110接收到的另一组k个位执行置换调制编码。嵌入各个位的方式可取决于方程10中引用的基向量x0。

在所选实施例中,基向量x0具有对于i≠j,则ai≠aj的属性。在这种情况下,定义集合s,其中s的元素的数量由2d给出。级调制器2710选择s是元素之一(由s表示),并产生基向量x0′,如图17所示。

本领域技术人员应当明白,从这一公开内容中,方程1和2保持有效,这暗示以此方式的嵌入信息保留了该方案的优良的共模抑制属性。该方案将招致更多sso噪声,但每个周期发送的位的更多数量比增加的噪声更重要。此外,本领域技术人员将明白,对于一些pm码,尤其是稀疏的pm码,sso问题较不严重。

在其中存在ai=aj的指数i和j的情况下,级调制器2710可从x0产生基向量x0′,如方程18所示,其中应当按如下方式选择集合s:基向量的各元素的排序保持有效,即a0>a1>…>ai>…>aj>…>at。

通过标识ak>=-al的另一对指数k,l并重复相同过程,可将更多位嵌入pm码中。将更多位嵌入原始pm码中的过程可造成更高的误码率。然而,为克服这一点,在被传递到向量信号编码器之前,110所提供的位可被嵌入以纠错码。

从本说明书中应当显而易见的是,本文用数学术语(如方程、不等式、关系和函数)描述的和/或用编程术语(如一系列操作)描述的特征和/或功能中的每一个可以用其他物理方式来实现,如通过使用实现这些特征和/或功能所表示的操作的硬件电路。如此,对本发明和本文描述的实施例的完整理解而言,特定硬件元件的具体描述,如线路、电阻、晶体管、有源或无源电子组件,不是必需的。

一些特征和/或功能可由可编程处理器或通用计算机所执行的程序代码或指令来实现。然而,应当理解,在一些情况下,这将是不切实际的。例如,当通信是在具有低功率限制和引脚限制的两个芯片之间的总线上展开的情况下,花费更多功率来运行可编程处理器是没有意义的,这比相对于不完成本文描述的任何操作的基本芯片到芯片通信信道将节省下来的功率而言使用更多的功率。

当然,可提前完成的一些操作,如生成值的表并将它们储存在存储器中以供重复使用、或配置一次fpga,可被提前完成以允许编码和解码高效地进行,并且与不如此做相比具有更低的每传输周期功耗。当然,在涉及芯片到芯片通信的情况下,对有多少芯片有效面积可用于编码器和解码器也是有限制的。

在上述说明书中,已参考本发明具体实施例描述了本发明。然而,将明显的是,可对其作出各种修改和改变而不背离本发明的宽泛精神和范围。因此,应当以说明性而非限制性的意味看待说明书和附图。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1