用于改进编码的设备以及相关方法_5

文档序号:9754202阅读:来源:国知局
领域技术人员所理解的。
[0128]输入数据(可以是已经被编码的,也可以是尚未被编码的)提供了MUX182的一个输入。输入数据还馈送控制器270的输入。控制器270可以基于任何数目的准则做出其决定。例如,控制器270可以确定输入数据的连续长度和/或DC平衡估计值。控制器270还可以考虑或者关注其它因素,包括但不限于:平均变换密度(其会影响功率)、变换密度的均匀程度(其会影响由于电路的不均匀功率需求导致的功率瞬态)、具体的变换相对于附近信道上的变换的位置(其会影响串扰)、或者变换相对于并行字的开始的位置,其可以导致如在收发器中可能会反复发生的系统抖动条件(确定性抖动)。控制器270可以在确定应该将MUX 182的哪个输入信号作为MUX 182的输出信号提供时,至少部分地使用该一个或多个结果。对于本领域技术人员而言,用于确定各种准则的技术和电路,包括连续长度和DC平衡估计值,是众所周知的。
[0129]依赖于选择信号180(由控制器270提供),MUX182可以将输入数据提供为输出数据,即不添加或者执行任何编码。这种情况可能会出现在例如当控制器270确定逻辑电路160和/或位排序电路168所应用的编码方案并不满足一个或者多个准则时。控制器270可以单独地做出确定或者与其他电路系统(未示出)协同地做出确定。准则可以包括但不限于指定的或者期望的连续长度和/或DC平衡估计值。如本领域技术人员所理解的,也可以使用其他准则。
[0130]输入数据馈送逻辑电路160的一个输入。控制器270将输入数据162(例如,用于在执行一个或多个逻辑操作时使用的图案)提供给逻辑电路160。逻辑电路160使用输入信号162对输入数据执行如上面所描述的编码操作。在控制器270的控制下,可以由逻辑电路160实施多种图案或者逻辑操作。例如,在一些实施例中,逻辑电路160可以执行在数据与重复的“01”图案(输入信号162)或者其他图案之间XOR操作,如上面所描述的。
[0131]逻辑操作的结果(S卩,逻辑电路160的输出)馈送MUX 182的一个输入。控制器270还使用逻辑电路160的输出来确定其连续长度和/或DC平衡估计值。控制器270可以在确定应该将MUX 182的哪个输入信号提供作为MUX 182的输出信号时,至少部分地使用一个或多个该结果。
[0132]位排序电路168接收逻辑电路160的输出。位排序电路168对逻辑电路160的输出执行如上面所描述的编码操作。位排序操作的结果(即,位排序电路168的输出)馈送MUX 182的输入。控制器270还使用位排序电路的输出以确定其连续长度和/或DC平衡估计值。控制器270可以在确定应该将MUX 182的哪个输入信号提供作为MUX 182的输出信号时,至少部分地使用该一个或多个结果。
[0133]控制器270提供了 MUX 182的选择信号180。根据期望,依赖于逻辑电路160和位排序电路168的配置(和包括(inclus1n))、或者基于逻辑电路160和位排序电路168的包括,MUX 182的选择信号180(即,信号180)可以包括一个以上的位。在示出的示例性实施例中,MUX 182实现了选择三个数据集合中的一个集合,这三个数据集合即是:原始数据、在逻辑电路160的输出处的数据、或者在位排序电路168的输出处的数据。该电路在选择最佳匹配一个或多个期望准则(诸如,连续长度大小和/或DC平衡值)的数据方面提供了增加的灵活性。
[0134]总体上,控制器270使用确定输入数据的连续长度和/或DC平衡估计值的结果、逻辑电路160的输出、和/或位排序电路168的输出。按照这种方式,控制器270可以通过应用一个或多个编码方案使用多种位图案、排序图案和操作来优化或者改善输入数据的连续长度和/或DC平衡估计值。在示例性实施例中,如本领域技术人员所理解的,可以按照多种方式来实施控制器270。例如,在一些实施例中,控制器270可以包括有限状态机(FSM)。作为另一示例,在一些实施例中,控制器270可以包括定制逻辑、处理器(例如,微处理器或者微控制器)等。
[0135]如指出的,如本领域技术人员所理解的,决定是否应用一个或多个编码方案、以及如果要应用一个或多个编码方案那么应用哪一个或多个编码方案、图案等,可以基于一个或多个准则。在一些实施例(诸如,如上面所描述的这些实施例)中,决定是否应用一个或多个编码方案(或者,相同方案的变化),可以基于一个或多个准则(诸如,连续长度、DC平衡等)。例如,可以基于确定的(或者估计的、或者近似的)连续长度、DC平衡等,使用不同的XOR图案或者不同的位排序。
[0136]在一些实施例中,决定是否应用一个或多个编码方案(或者相同方案的变化,例如不同的XOR图案或者不同的位排序),可以基于一个或多个成本函数的使用。该技术可以应用至上面所描述的实施例。发射器(或者,收发器)可以应用或者使用测量或者确定使用一个或多个编码方案的可取性或者成本的一个或多个成本函数(例如,每个编码方案有一个成本函数、一个以上的编码方案有一个成本函数,等等)。
[0137]通常,通过使用成本函数确定的成本或者值越低,编码方案或者操作越可取。由此,发射器(或者,收发器)可以基于成本函数的值(例如,针对输入信号的给定集合)或者成本函数将产生的结果来选择一个或多个成本函数。按照这种方式,可以开发灵活机制并且将其用于选择满足一个或多个期望准则的编码方案。
[0138]如本领域技术人员所理解的,依赖于应用、特定的或者期望的实施方式等,可以使用多种成本函数。如本领域技术人员所理解的,成本函数可以将多种因素考虑进去。这类因素包括硬件复杂度、软件或者固件复杂度、处理开销、延迟、处理速度、应用包括一个或多个成本函数的方案的增益和一个或多个结果、发射器与接收器之间(或者,收发器之间)的通信质量。
[0139]基于一个或多个成本函数的一个或多个结果,可以在将数据传输至接收器或者收发器之前将一个或多个编码方案应用到数据。例如,在图14中示出的实施例中,控制器270可以使用一个或多个成本函数来确定使用哪个编码(若有的话)(例如,经由MUX 82)、将何种图案用作输入信号162、(在逻辑电路160中)使用何种逻辑操作、使用何种位排序等。
[0140]发射器(或者,传输数据的收发器)可以将一个或多个编码的选择通知给接收器(或者,接收数据的收发器)。发射器(或者,传输数据的收发器)可以包括与传输的被编码的数据一起的一个或多个附加位,该一个或多个附加位用于指示一个或多个编码或者相同方案的变化的选择,例如不同的XOR图案或者不同的位排序等。
[0141]注意,不需要通知接收器(或者,接收的收发器)成本函数或者为何发射器(或者,发射的收发器)使用了编码方案。还要注意,根据期望,在双向链路中,通信链路的每一侧都可以使用不同的成本函数以用于其各自的发射器。
[0142]可以按照若干方式,将该一个或多个附加位包括在待传输数据中。例如,该一个或多个附加位可以在数据或有效载荷之前。图15示出了根据示例性实施例的这类配置。具体地,位集合300(例如,分组)可以包括构成附加位的一个或者多个位302。位302可以是信头(header)或者一部分信头,例如,数据分组中的信头。该位集合300还可以包括构成数据或者有效载荷304的一些位。一个或多个位302,即在有效载荷304之前的一个或多个附加位,即一个或多个位302在有效载荷304之前被传输。
[0143]作为另一示例,该一个或多个附加位可以在数据或有效载荷之后。图16示出了根据示例性实施例的这类配置。位集合300(例如,分组)可以包括构成该一个或多个附加位的一个或者多个位302。该位集合300还可以包括构成数据或者有效载荷304的一些位。一个或多个位302,即接续有效载荷304的或者在有效载荷304之后的一个或多个附加位,即一个或多个位302在有效载荷304之后被传输。换言之,位302可以跟在该位集合300中的数据有效载荷(例如,数据分组)后面。注意,也可以将信头例如用作数据分组的一部分。
[0144]参考图15至图16,可以允许多种大小和配置的数据或者有效载荷。为此,数据或者有效载荷位304可以包括与在数据或者有效载荷中的位数相对应的位数。例如,在一些实施例中,数据位304可以包括32个位,与32位(32-bit)有效载荷相对应。在其他实施例中,数据位304可以包括64个位,与64位有效载荷相对应,等等。
[0145]注意,在一些实施例中,发射器(或者,收发器)和接收器(或者,收发器)可以例如周期性地重新协调或者改变商定的或者选择的编码的一个或多个类型。如本领域技术人员所理解的,该改变可以周期性地在一个或者多个非预定的时间点发生一次、多次、或者根据其他方案发生。
[0146]对数据或者分组结构的上述说明假设串行的通信信道或者媒介。换言之,信息的位沿着一个通信链路行进,例如,经由用于单端链路的两个导体或者耦合机构(一个接地、一个信号)、或者经由用于差分链路的三个导体或者耦合机构(一个接地、差分信号各一个),诸如PAM系统通常使用的。如本领域技术人员所理解的,其他变化也是可能的。
[0147]可以使用技术来减小信息处理开销、复杂度和/或成本,以及/或者增加吞吐量,或者在这些属性之间进行权衡。在一些实施例中,是否使用任何一个或多个编码方案或者使用哪一个或多个编码方案/ 一个或多个图案的决定依赖于连续长度和/或DC平衡的计算。连续长度和/或DC平衡的计算需要提供并且使用一些硬件或者电路系统(或者,经由固件或者软件执行计算,其中性能是可接受的)。这类实施例在更高的复杂度与为了提高编码性能所需的成本之间进行权衡。
[0148]在其他实施例中,替代计算连续长度,也可以使用连续长度的近似值。使用近似的连续长度可能更加廉价,并且可以减少门数。作为示例,可以对在数据分组或者有效载荷内的两个或者两个以上的数据位集合执行连续长度的计算。
[0149]总体上,可以将N位有效载荷划分为k个集合或者子集,每个集合或者子集有m个位(或者,可变数目的位,根据期望)。然后,可以通过使用该k个集合来计算连续长度。图17示出了根据该方案的用于近似连续长度的电路的方块图。该电路包括逻辑电路350A-350K。根据期望,逻辑电路350A-350K可以存在于编码器(例如,在图1A中的编码器114或者在图1B中的编码器/解码器146A/146B)中,或者处于在电路或者系统中的其他适当位置处。
[0150]参考图17,在示出的实施例中,数据分组或者有效载荷340包括N个数据位的集合,这N个数据位被划分为集合I至集合k(标注为345A-345K),每个集合有m个位。(注意,示出的示例未图示其他位,诸如附加位,如上面所描述的。)逻辑电路350A-350K对相应的m个位的集合(标注为345A-345K)进行操作,并且基于该集合计算各自的输出。逻辑电路350A-350K的输出355A-355K基于位集合345A-345K提供相应的输出。
[0151]对于m个位的每个组,相应的一个逻辑电路350A-350K确定相应的位组是否全都为逻辑O还是全都为逻辑I。在示例性实施例中,逻辑电路350A-350K可以包括m输入的(m-1nput)与门和/或m输入的或门。如果在相应位组中的m个位全都具有逻辑I值,那么m输入与门产生逻辑I输出。相反,如果在相应位组中的m个位全都具有逻辑O值,那么,m输入或门产生逻辑O输出。通过使用该技术,可以减小复杂度,并且从而可以减小连续长度计算的成本。换言之,由于每一个连续长度计算电路350A-350K对m个位而非N个位(其中,N>m)进行了操作,所以,该技术减轻了连续长度计算的负担或者计算复杂度。
[0152]作为示例,考虑在图18中示出的数据位,该数据位对应于每组4个位(S卩,m=4)的7组位(即,K = 7)、以及逻辑电路350A-350K的相关输出。“X”输出表示在位组中的所有m个位并非都具有相同的逻辑值的情形,而“O”和“I”输出分别表示在位组中的所有m个位都具有逻辑O和逻辑I值的情形。当关注4个位的组,组3-6包括均为逻辑0,因此,存在为4个组的连续长度。组7包括均为逻辑I,但是未包括在内,这是因为其逻辑I的恒定值与逻辑O的组不同。然后,连续长度近似电路360通过使用逻辑电路350A-350K的输出来估计数据位的连续长度。现在针对有效长度减小了4的数据集进行组合式连续长度计算。注意,可以从逻辑电路350A-350K的输出确定在数据位中的连续长度至少为16。假定在第二位组中的最后两个逻辑O值不计算在内,在这种情况下,确定在连续长度16与连续长度18之间没有差异。当在位的两个端部组中都存在为(group_size-l)(即(m_l))的连续长度时,发生了最坏情况下的误码。在该情况下,针对m=l的情形,最大误码将为2X3或者6。例如,如果逻辑O的图案为1000 0000 0001,那么,该情形发生。本领域技术人员理解,所提供的示例仅为说明性的,并且,可以使用其他配置,诸如其他m、k和N值,并且包括如下情形:根据期望,k个数据位集合可以包括可变数目的位,而非都包括相等数目的位等等。
[0153]注意,接收器(或者,接收的收发器)基于一个或多个编码位(上面所描述的一个或多个附加位)或者商定的或者协调好的通信机制或者协议来执行解码。由此,接收器(或者,接收的收发器)不需要知道发射器(或者,发射的收发器)所使用的决定准则,诸如使用实际的或者近似的连续长度等,假设总体的通信链路满足特定准则(例如,提供了充足的变换、DC平衡质量等)。
[0154]结果,不同的发射器/收发器(例如,如实施在不同IC中的发射器/收发器)可以使用在计算连续长度方面的不同精确度级别来确定使用何种(若有的话)一个或多个编码方案。另外,不同的发射器/收发器可以
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1