个低阶位使用其他技术来实现。
[0035] 在步骤420中,SARADC150选择不同的电容器堆再生N位数字码中的位组以代 表中间数字码。作为示例,当选择不同的电容器堆来代表N-K个MSB位时,再生的位组可以 对应K个LSB位。通过保持N-K位的值相同来重复转换过程来产生K位。因此,K时钟周 期被用于产生N位数字码字。
[0036] 步骤420可以被重复期望的次数以产生期望数目的N位数字码。例如,如果步骤 420被重复Y次,那么N位数字码的Y数目在Y*K个时钟周期中被产生,其中符号*代表乘 操作。
[0037] 在步骤430中,SARADC150产生作为所产生的N位数字码的数目的平均值的最 后的N位数字码。任何已知的平均技术可以被用于产生N位数字码的Y数目的平均。在替 换性的示例中,N位数字码的Y数目可以被添加以产生P位最终的数字码,其中由于添加从 而P大于N。流程图结束于步骤499。
[0038] 根据以上方法,由电容器失配所导致的误差被减小。以下参照图4进一步阐述所 描述的SARADC100的操作。
[0039] 图5是作为示例的6位测温解码器DAC的电路图。所示的该图包含8C电容器堆 520-1至520-7、IC电容器堆580-1至580-8、测温/温度计解码器530和540。以下进一步 详细描述每个部件。
[0040] 8C电容器堆520-1至520-7中的每个可以通过耦合在8X8单元电容器网格中的8 个IC(单元电容器)电容器来形成。参照图6,本发明描述网格中的单元电容器被选择性地 耦合以形成电容器堆520-1至520-7和580-1至580-8以便减小积分非线性的方式。
[0041] 图6是合并SARADC100的集成电路中的电容器网格。在网格600中,每个正方 形(框)代表在半导体管芯上的单元电容器的物理位置。网格中的每个物理位置通过具有 行A-H和列1-8的(行,列)来识别。如本领域所熟知的,过程变化可以引起跨越半导体管 芯或者网格600的电容值的变化/坡度(gradient)。此类变化/坡度的影响可以导致由 SARADC产生的数字码中的积分非线性(INL)误差。此类变化可以通过形成如以下所描述 的电容器堆来反击(countered)。
[0042] 在图6中,所示的标记有堆号620-1至620-8的每个正方形代表被选择以形成相 应堆的电容器。例如,示出的电容器堆620-1包含(由其形成)在位置(A,7)、(B,1)、(C, 4)、(D,6)、(E,3)、(F,5)、(G,8)以及(H,2)处的8个单元电容器的组。类似地,电容器堆 620-2 可以由在位置(A,5)、(B,3)、(C,2)、(D,8)、(E,I)、(F7)、(G,6)以及(H,4)处的 8 个 单元电容器的组来形成。可以观察到,每个电容器堆620-1到620-8通过选择每行A-H中 的至少一个单元电容器来形成。替代地,每个电容器堆还可以通过选择每列中的至少一个 单元电容器或者通过满足行和列二者条件来形成。作为进一步替代地,电容器可以基于代 表在X(列式的)或者Y(行式的)方向上的过程变化的分布函数来被选择。
[0043] 参照图5,电容器堆520-1至520-7动态地选自8个电容器堆620-1至620-8。
[0044] 单元电容器堆580-1至580-8可以通过拆分电容器堆620-1至620-8中的任何一 个(未使用的)来形成。例如,电容器堆620-8可以被拆成8个单元电容器,并且电容器堆 580-1 至 580-8 可以分别通过位置(A,4)、(B,6)、(C,7)、(D,I)、(E,8)、(F,2)、(G,3)以及 (H,5)处的单元电容器来形成。
[0045] 继续参照图5,测温解码器540在路径542上接收MSB位1、2以及3并且将中间数 字码的3个MSB位(位1、位2以及位3)转换成的7位测温码。类似地,测温解码器530在 路径532上将中间数字码的剩下的3位(位4、位5以及位6)转换成的7位测温码。相应 地,路径542上的7位测温码操作/控制7个开关以将7个电容器堆520-1至520-7连接 到参考电压+Vref和-Vref中的一个。类似地,路径532上的7位测温码操作/控制7个 开关以将7个电容器堆580-1至580-7连接到参考电压+Vref和-Vref中的一个。所示的 电容器堆580-8耦合到参考电压-Vref。
[0046] 以下参照图7A-7H进一步描述根据图4可以多次产生N位数字码的方式。图7A-7D 描述第一三个MSB位(位1、位2以及位3)的电容器堆连接。图7E-7H描述剩下三个MSB位(位4、位5以及位6)的电容器堆连接。
[0047] 图7A是描述针对中间数字码的3个MSB位(位1、位2以及位3)选择电容器堆 的同时产生第一SARADC输出的表。表中的8行对应MSB位(位1、位2以及位3)的8个 可能的组合,并且8列(表的部分730)对应8个电容器堆。列1-8代表网格600中的电容 器堆620-1至620-8。如图中所示,7个电容器堆620-1至620-7由3个MSB位(位1、位2 以及位3)来操作,并且3个MSB位(位1、位2以及位3)代表图5中的电容器堆580-1至 580-7。部分730中的每一项表示3个MSB位的特定组合的电容器堆的底板的连接。电容 器堆620-8在产生第一SARADC输出时不由3个MSB位操作,并且在此被标记为"NA"(未 考虑)。
[0048] 如图7A所示,行1上的项对应当3个MSB位是000 (位1、位2以及位3)时的情 况,示出的所有电容器堆(列1-7)耦合至参考电压-Vref。行2上的项对应当3个MSB位 是001 (对应7位测温码1000000)时的情况。相应地,示出的电容器堆1耦合至参考电压 +Vref,并且其他排耦合至参考电压-Vref。行5的描述项对应当MSB位是100 (对应7位 测温码1111000)时的情况,所示的电容器堆1、堆2、堆3以及堆4耦合至参考电压+Vref。 所示的其他电容器堆耦合至参考电压-Vref。类似地,对于3个MSB位的其他值,这些项描 述电容器堆的连接。
[0049] 进一步继续,在图7B-7D中,列2、4以及6分别被示为相对图7A中的列8的单元 电容器堆。因此,剩下的7个列代表电容器堆520-1至520-7。单元电容器堆的此类改组 (shuffling)可以进一步增强SARADC100的性能/精确度。但是,图7B-7D还可以通过保 持列8的单元电容器堆来实现,这对于本领域的技术人员是明显的。
[0050] 为了简洁,本发明参照示例MSB位结合100描述图7B-7D。对于本领域的技术人员 来说,通过阅读本文提供的描述,表中的所有的其他项是显而易见的。
[0051] 图7B是描述针对3个MSB位(位1、位2以及位3)选择电容器堆的同时产生第二 SARADC输出的表。如图中所示,7个电容器堆620-U620-3至620-8由3个MSB位(位1、 位2以及位3)来操作,并且3个MSB位(位1、位2以及位3)代表图5中的电容器堆580-1 至580-7。电容器堆620-2在产生第二ADC输出时不由3个MSB位操作,并且在此被标记为 "NA"(未考虑)。
[0052] 继续MSB位100的示例项,所示的电容器堆3、堆4、堆5以及堆6耦合至参考电压 +Vref,并且所示的其他堆耦合至参考电压-Vref。这样的连接可以通过将测温码1111000 循环右移两个位置来进行,并且移位的测温码可以被用于操作耦合电容器堆的开关。
[0053] 图7C是描述为3个MSB位(位1、位2以及位3)选择电容器堆的同时产生第三 SARADC输出的表。如图中所示,7个电容器堆620-1、620-2、620-3以及620-5至620-8由 3个MSB位(位1、位2以及位3)来操作,并且3个MSB位(位1、位2以及位3)代表图5 中的电容器堆580-1至580-7。电容器堆620-4在产生第三ADC输出时不由3个MSB位操 作,并且在此标记为"NA"。
[0054] 继续MSB位100的示例项,所示的电容器堆5、堆6、堆7以及堆8耦合至参考电压 +Vref,并且所示的其他堆耦合至参考电压-Vref。这样的连接可以通过将测温码1111000 循环右移4个位置来进行,并且移位的测温码可以被用于操作耦合电容器堆的开关。
[0055] 图7D是描述针对3个MSB位(位1、位2以及位3)选择电容器堆的同时产生第 四SARADC输出的表。如图中所示,7个电容器堆620-1至620-5、620-7以及620-8由3个 MSB位(位1、位2以及位3)来操作,并且3个MSB位(位1、位2以及位3)代表图5中的 电容器堆580-1至580-7。电容器堆620-4在产生第四ADC输出时不被用作部分3个MSB 位,并且在此被标记为"NA"。
[0056] 继续MSB位100的示例项,所示的电容器堆7、堆8、堆1以及堆2耦合至参考电压 +Vref,并且所示的其他堆耦合至参考电压-Vref。这样的连接可以通过将测温码1111000 循环右移6个位置来进行,并且移位的测温码可以被用于操作耦合电容器堆的开关。
[0057] 图7E代表针对剩下的3个MSB位(位4、位5以及位6)的电容器堆的选择,同时 产生第一SARADC输出。来自图7A的未使用的电容器堆620-8被拆成8个单元电容