This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
器件型号:TMS320F28035
主题中讨论的其他器件:REF5030、 OPA320
在查看 F2803x 数据表时、我尝试确定两个方面:
假设会发生定期自我校准。 看起来 INL 和 DNL 不是累加的。 这会使 INL 在4个计数时成为这两个最差的。 我不理解其他哪些误差是累加的:
总之、我想了解在确定绝对最坏情况下的总体未调整误差时会发生什么情况、以及可以部署哪些策略来最大程度地减小误差?
谢谢、
Stuart
C2000培训小程序码
尊敬的 Stuart:
首先要了解的是我们如何计算总体未调整误差(TUE)。 在 ADC 中、我们通常考虑增益误差、偏移误差、INL 和 DNL。 我们还需要考虑 ADC 外部基准引入的误差。 我们不需要考虑 ADC 通道间偏移或增益误差、因为这只是通道之间差异的度量(最坏情况规格适用于所有通道)。
最坏情况下的 ADC 误差通常是独立的(例如、具有最坏情况 INL 的 ADC 不太可能也具有最坏情况下的增益误差)。 因此、我们不直接添加最坏情况下的误差、因为这会导致 TUE 过于悲观。 相反、我们使用平方和根来添加误差。
在考虑校准之前、我们先比较一下 C28x Piccolo 系列 ADC 的原始 TUE。 F2803x、F2802x、F2806x 和 F2805x 的规格相似、因此它们并不都有自己的表条目。 请注意、在所有 C28x 数据表中、指定了最小/最大 ADC 误差、包括电压、温度和制造工艺变化的漂移。 如果还提供了温度系数、则不会在最坏情况误差的基础上添加该系数(而是给出温度漂移导致的误差量)。 另请注意、F2803x (和上面提到的类似器件)需要至少一次偏移自校准(我们不支持工厂偏移调整)。 下表中的所有值均为外部基准。
(1)执行一次性自校准
外部基准增益误差有一些假设。 这假定一个非常好的外部基准解决方案。
例如、REF5030具有以下主要规格:
然后、OPA320 (我们建议驱动 F2807x 和 F28004x 上的12位基准)具有
因此、最坏情况基准总误差可估算为 sqrt (2^2 + 0.7^2 + 0.2^2)= 2.1 LSB (而1.0 LSB 只是典型基准误差的猜测值)。
显然、如果使用不同的基准解决方案、也可以计算实际精度。 获得比上述示例更准确的东西是可能的、但很快就会变得非常昂贵。
现在、为了校准偏移误差、所有这些器件都有一个到 VREFLO 的内部连接(无需外部通道)。 在 F2803x 数据表中、我们指定了具有一次性偏移校准的+/-20LSB。 为了获得更好的性能、我们可以定期校准:
过程:定期对内部 VREFLO 连接采样。 使用这些样本相应地调整 ADC 偏移调整寄存器。 调整硬件调整寄存器将直接调整 ADC 样本、因此无需额外的软件后处理。
限制:通道间失调电压变化将限制我们能够实现完美失调电压修整的程度。 在 F2803x 上、通道间偏移被指定为+/-4 LSB。
要求:
注意: 如果偏移误差为负、则 VREFLO 的 ADC 转换将读取为0、并且您不知道真正的偏移误差是-1还是-20。 如果您定期在线校准偏移误差、最简单的处理方法是向偏移误差+1而不是0进行修整。 如果偏移误差较大且为负、则连续几轮校准最终会将偏移误差驱动为+1。 然后、您可以接受额外的1 LSB 错误、也可以使用 CPU 对结果进行后处理。 ADC 范围将减小1 LSB。
校准增益误差更涉及一点。
程序:提供接近满量程范围的单个校准电压。 由于我们已经有一种校准偏移误差的内部方法、因此我们不需要进行2点增益修整。 实际上、使用更多的校准点将有助于平均化 INL 误差。 应定期对该校准电压进行采样。 然后、CPU 可以对 ADC 结果进行后处理、以消除增益误差。
限制:
对校准信号进行采样的误差来自以下几个来源:
因此、对于校准电压的采样误差、我们可以做的最好的操作是 sqrt (4^2 + 4^2 + 2.1^2)= 6.0LSB
满量程范围上的误差根据校准的位置而增大。 因此、如果 FSR 为3.0V 且校准电压为2.5V、则总增益误差将为3.0V/2.5V * 6.0LSB = 7.2 LSB。
注意:由于上述原因、我们希望进行尽可能接近满量程的校准。 然而、满量程和校准电压之间需要有足够的空间来允许任何未经校准的漂移。 对于 F2803x、自然增益误差为40 LSB = 30mV @ 3.0V VREFHI。
要求:
现在、我们可以使用在线校准将 F2803x 的误差填回表中:
(1)执行定期重新校准
(2) ADC 增益校准中包含的误差
其他一些说明:
大家好、Devin - San、
以上是我有2个问题。
Q1) 在以下公式中不需要 DNL? 因为 DNL 包含在 INL 中。
在下面链接的说明中、INL 未包含在内
e2e.ti.com/.../adc-accuracy-part-2-total-unadjusted-error-explained
Q2) TUE (F2803x±9.2LSB)根据上述方法进行计算、但是否需要在 TUE 计算中包含 INL?
当 ADC GE (F2803x±7.2LSB)计算包括 INL 时、我认为如果在 TUE 计算中包含 INL、INL 将会重叠。
此致、
Sasaki
大家好、Devin - San、
感谢您的详细回答!
感谢您的评论,我理解了它:)
此致、
Sasaki
Devin、
执行代码以检查修整寄存器的值、并看到温度从0°C 变为85°C 时、修整寄存器的值显示了4LSB 的漂移。 我还有其他一些问题要问:
谢谢、
Stuart
Stuart
[引用用户="Stuart Baker"]
数据表为 ADC 指定了+/- 20 LSB 的偏移误差。 执行周期性校准后、该误差应为+/- 4 LSB。 请确认。
[/报价]
正确
[引用用户="Stuart Baker"]
失调电压误差如何随温度的变化而变化。 它在我们感兴趣的温度范围(0-85C)内相对平坦、 并且在皮科洛允许的工作温度范围内急剧上升/下降吗? 我提出这一要求的原因是、我们只看到4 LSB 漂移、而不是温度变化为0-85°C 时的+/- 16LSB 漂移。
[/报价]
根据我查看的数据、 失调电压在整个温度范围内看起来非常线性、但 LSB/degC 可能因 器件而异、并且 可能 为正或负。
[引用用户="Stuart Baker"]
我们的所有数据都来自单个 piccolo。 /- 20LSB 系数是否考虑 了器件间差异、ADC 通道间差异(或任何其他工艺因素) ? 您能否详细说明20LSB 数的来源条件。 我们怀疑20 LSB 错误是最坏情况的原因 ,由于我们不是在这些情况下运行,因此我们看不到错误。
[/报价]
20LSB 表示在不同电源电压和 ADC 条件下、从多个 ablot 看到的器件间的最坏情况漂移。 它不包括 ch2ch 偏移。 当然、某些器件可能不会因器件和系统条件的不同而有如此大的差异。
此致、
Joe