具有补偿阻抗的芯片、处理器以及包含处理器的系统的制作方法_4

文档序号:10160576阅读:来源:国知局
r>[0076]在一个实施例中,基准324是外部电阻器。在一个实施例中,基准324是高度精确的电阻器,其电阻容差为1%或更小。在一个实施例中,电阻器324的基准电阻的值用于确定阻抗代码112/110b。在一个实施例中,基准324耦合在电源和虚设下拉驱动器323的节点326之间,其中节点326表示焊盘节点108。
[0077]在一个实施例中,FSM325包括:滤波器(例如,低通滤波器)、计数器和其它逻辑单元以产生由虚设下拉驱动器323接收的代码。在一个实施例中,滤波器(未示出)用于过滤来自比较器322的输出的毛刺。在一个实施例中,计数器(未示出)用于计算被打开/关断的虚设下拉驱动器323的支路/段的数目。在一个实施例中,虚设下拉驱动器323与下拉驱动器103和均衡器104的均衡器下拉部分104b —致。
[0078]在一个实施例中,FSM325每次(或一起)打开或关断一个虚拟下拉驱动器(323)支路或段或晶体管,以对虚设下拉驱动器323的阻抗进行调整直到节点326 (耦合在基准324和虚设下拉驱动器323之间)上的电压基本上等于Vref的电压为止。在一个实施例中,FSM325(对其而言,比较器322的输入彼此基本上相等)的最终代码112/1 1b被发送给下拉驱动器103或均衡器104。
[0079]在一个实施例中,训练控制单元107提供Vref选择信号给Vref单元321以选择用于产生代码112/110b的Vref。在一个实施例中,训练控制单元107选择Vref电平以确定用于下拉驱动器103的代码112。在一个实施例中,训练控制单元107选择Vref电平以确定用于均衡器104的下拉部分104b的代码110b。在一个实施例中,训练控制单元107根据参考图4所描述的方法来选择Vref电平。
[0080]在一个实施例中,图3A和图3B耦合在一起,从而使用单个比较器、FSM、Vref单元和训练控制单元来减小整体电路面积。在其它的实施例中,图3A和图3B的电路是分隔开的且是不同的。
[0081]图4是根据本公开内容的一个实施例的流程图400,其示出了在保持上拉和下拉驱动器102和103的阻抗基本上恒定的同时以良好的均衡代码对均衡器进行编程的方法。应当指出,图4中的与任意其它图具有相同的附图标记(或名称)的那些元件可以以类似于所描述的任何方式来操作或起作用,但是不限于此。
[0082]虽然参考图4的流程图中的方框以特定的顺序示出,但是可以改变动作的顺序。因此,可以以不同的顺序来执行例示的实施例,并且可以并行执行某些动作/方框。参考图1-3的实施例来说明图4的流程图。图4中列出的某些方框和/或操作根据特定的实施例是任选的。呈现的方框的编号是为了清楚的目的而不是为了规定各个方框必须进行的操作的顺序。另外,可以以各种结合的方式来利用来自各个流程的操作。
[0083]为了避免使本公开内容的实施例难以理解,在解释流程图400时,一并论述图3A和图3B的实施例的操作/控制。在方框401,初始化均衡代码110a/110b。例如,初始化均衡代码IlOa和IlOb从而关断均衡器104的全部装置。在一个实施例中,初始化均衡代码IlOa和IlOb从而关断均衡器104中的除了一个装置以外的全部装置。在训练流程图400中,使用虚设或复制电路(即,驱动器200电路的复制)而不直接使用实际驱动器200和其部件。
[0084]在方框402,训练控制单元107设置Vref选择信号以从Vref单元301/321选择基准电平Vref。如在本文中所论述的,Vref电平表示用于虚设上拉驱动器303和虚设下拉驱动器323的阻抗。因此,Vref电平用于设置上拉驱动器102、下拉驱动器103、均衡器104的均衡器上拉部分104a和均衡器104的均衡器下拉部分104b的阻抗。在方框402,训练控制单元107针对上拉驱动器102的期望的(即,目标)阻抗而选择Vref电平。
[0085]在方框403,禁用虚设均衡器(S卩,均衡器104的复制品)。在一个实施例中,图3A-B的补偿单元300和320包括分别在虚设上拉驱动器303和虚设下拉驱动器323中的虚设均衡器部分104a和104b。在方框403,禁用补偿单元300和320中的虚设均衡部分104a和104b。在一个实施例中,在对流程图400进行训练期间,实际的驱动器200不参与训练。在一个实施例中,当处理器101打开时,使用补偿单元300和320来开始训练流程图400。在这样的实施例中,当训练流程图400完成时,代码111、110a、112和IlOb存储在存储介质(例如,寄存器、非易失性存储器、或易失性存储器)中并且在常规操作开始之前分配给所有的I/O。
[0086]在方框404,通过训练控制107 (或FSM305/325)来将均衡代码初始设置到初始化代码(如在方框401所执行的),并且当在流程图的执行期间再次访问方框404时将均衡代码设置为递增I (或任意预定的数目)。
[0087]在方框405,FSM305/325初始化用于虚设上拉和虚设下拉驱动器303和323的非均衡代码。例如,初始化晶体管或虚设上拉和虚设下拉驱动器303和323的支路从而使得它们某些打开而某些关断。
[0088]在方框406,用于虚设上拉和虚设下拉驱动器303和323的非均衡代码从其初始化值起递增。参考初始化代码一次打开或关断一个晶体管或虚设上拉和虚设下拉驱动器303和323的支路,从而改变(增大或减小)虚设上拉和虚设下拉驱动器303和323的阻抗。“++”项表示当再次执行(具有"++"的)方框时代码递增I。
[0089]在方框407,由比较器302和322作出分别用于虚设上拉和虚设下拉驱动器303和323的期望的阻抗是否达到的确定。如果针对虚设上拉和虚设下拉驱动器303和323的期望的(或目标)阻抗没有达到,则流程图返回到方框406并且用于虚设上拉和虚设下拉驱动器303和323的非均衡代码递增I。过程继续直到达到用于虚设上拉和虚设下拉驱动器303和323的期望的(目标)阻抗。在一个实施例中,期望的(或目标)阻抗是可编程的。
[0090]当达到用于虚设上拉和虚设下拉驱动器303和323的期望的(或目标)阻抗时,过程推进到方框408。当达到用于虚设上拉和虚设下拉驱动器303和323的期望的(或目标)阻抗时,分别针对用于上拉和下拉驱动器102和103的目标上拉和下拉阻抗而训练虚设上拉和虚设下拉驱动器303和323,即,针对用于上拉和下拉驱动器102和103的期望的目标阻抗而确定代码111和112。
[0091]在方框408,训练控制单元107将Vref (通过Vref选择)设置为与用于均衡器104的期望的均衡阻抗相对应。在方框408,启用之前被禁用的均衡器104(虚设上拉和下拉驱动器303和323部分)。方框408开始流程图400的二维循环的第二循环的过程。在第二循环中,通过启用均衡器104(虚设上拉和下拉驱动器303和323的均衡器向上部分)并且使用针对上拉和下拉驱动器102和103的阻抗而已进行训练的代码(111和112)来确定均衡器104的精度水平。
[0092]在方框409,作出期望的均衡阻抗是否达到的确定。如果确定为期望的均衡阻抗未达到,则过程推进到方框402,即,二维循环的第一循环。在方框402,通过训练控制单元107再次将Vref设置成与上拉和下拉驱动器102和103的目标阻抗相对应。再次重复在方框403至407中所解释的过程,从而在使用更新的均衡代码的同时再次确定用于上拉和下拉驱动器102和103的、匹配用于上拉和下拉驱动器102和103的目标(或期望的)阻抗的代码111和112。更新的均衡代码是递增了的均衡代码(已在方框404递增)。
[0093]在方框408,在再次确定用于上拉和下拉驱动器102和103的、匹配用于上拉和下拉驱动器102和103的目标(或期望的)阻抗的代码111和112之后,通过训练控制单元107来启用均衡器部分(虚设上拉和下拉驱动器303和323的部分)。在方框408,训练控制单元107将Vref设置成与均衡器104的目标阻抗相对应。
[0094]在方框409,比较器302和322确定是否达到了期望的均衡。过程推进回方框402直到用于均衡器部分(虚设上拉和下拉驱动器303和323的部分)的代码IlOa和IlOb达到均衡的目标精度。一旦用于均衡器部分(虚设上拉和下拉驱动器303和323的部分)的代码IlOa和IlOb达到均衡的目标精度,则过程在方框410结束。
[0095]参考图2-3的实施例,在第一循环(由图4的方框402至方框407所表示的)期间,在补偿单元105和106中使用上拉和下拉驱动器102和103的虚设的四个段和均衡器(104a和104b)的虚设的一个段,利用被禁用的均衡来训练(在图4的过程400之后)上拉驱动器102和下拉驱动器103的期望的阻抗。
[0096]在一个实施例中,上拉和下拉驱动器102和103的期望的阻抗包括均衡上拉和下拉部分104a和104b。关于“禁用均衡”通常指打开均衡上拉和下拉部分104a和104b,即,打开全部五个段以达到期望的阻抗。在一个实施例中,均衡段代码IlOa和IlOb分别与代码111和112合并且用于设置期望的阻抗。例如,组合代码112和IlOb以将下拉部分训练为具有36欧姆,并且组合代码111和IlOa以将上拉部分训练为具有36欧姆。
[0097]图4的第一循环利用恒定均衡代码以及利用被禁用的虚设上拉和下拉驱动器303和323的均衡器部分来将上拉驱动器102和下拉驱动器103的阻抗训练为期望的阻抗。例如,训练上拉驱动器102的代码111以产生用于上拉驱动器102的36欧姆阻抗。在该实施例中,当五个段(其包括均衡上拉和下拉部分104a/104b)使用相同的代码111和112时,达到20%均衡。在一个实施例中,二维流程图400以均衡代码I开始。在一个实施例中,上拉和下拉驱动器102和103的期望的阻抗包括均衡上拉和下拉部分104a和104b。
[0098]在一个实施例中,在第二循环(从图4的408至407)中,如果确定期望的均衡大于或小于20%,则均衡代码递增(在方框404因为过程从方框409推进到方框402)并且使用新的均衡代码来再次确定用于上拉和下拉驱动器102和103的阻抗。在这样的实施例中,关断均衡器上拉部分104a并且再次训练整个虚设上拉驱动器303 (其包括上拉驱动器102和均衡器上拉部分104a)以达到用于上拉驱动器102的目标阻抗。在这样的实施例中,关断均衡器下拉部分104b并且再次训练整个虚设下拉驱动器323 (其包括下拉部分103和均衡器下拉部分104b)以达到用于下拉驱动器103的目标阻抗。
[0099]重复过程直到达到均衡器104的均衡精度为止。在该过程期间,过程400的第一循环保持上拉
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1