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.

[参考译文] TMS320F28027:勘误表;ADC:初始转换;故障机制

Guru**** 2927080 points

Other Parts Discussed in Thread: TMS320F28027, C2000WARE

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/982560/tms320f28027-errata-adc-initialconversion-failure-mechanism

器件型号:TMS320F28027
主题中讨论的其他器件: C2000WARE

大家好、

我使用 TMS320f28027。 我们在客户处有奇怪的现象、但我们无法在实验室中再现这些现象。 软件更新后、客户的问题得到解决。 在软件更新过程中、有几个方面发生了变化。 现在、我要查找修复问题的代码部分。 由于我目前无法重现问题、因此我依赖于为客户进行的测量。 在这些测量中、我可以看到、由于未知原因、我的器件中的电流增加了大约九个周期。 为此、必须错误地计算占空比。 如果测量的电流值错误、则会发生这种情况。

作为软件更新的一部分、勘误表中描述的问题也得到了解决。 请参阅"ADC:初始转换"。 在第一个出现故障的版本中、使用了 SOC0的结果;更新后、此结果不再使用、而是被丢弃。 在旧软件版本中、电流测量结果取自 ADCRESULT0。 伪造 ADCRESULT0会导致电流测量值不正确。 因此、勘误表中描述的问题可能与我的现象有关。 为了确保我确实修复了原因、我想详细了解故障机制。

ADCRESULT0损坏必须发生什么情况?

该疾病发生时有多严重?

是否在发生故障时输入首选值? (例如1或4095)

连续九次测量是否合理?

我需要做些什么来模拟实验室中的问题?

非常感谢。

此致

Joachim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Joachim sinner"]若要损坏 ADCRESULT0,必须执行哪些操作?

    只要 ADC 转换器状态机达到空闲状态、就会发生这种情况。 当多个 SOC 挂起时、ADC 状态机将连续处理转换、而不会在转换之间进入空闲状态。 因此、该行为仅限于第一个采样转换。

    [引用 user="Joachim sinner"]该疾病发生时有多严重?[/quot]

    行为不一致。 用于建模的良好棒球场范围约为+/- 500LSB。

    [引用 user="Joachim sinner"]是否是在发生故障时输入的首选值? (例如1或4095)

    不可以、该误差应视为随机的。

    [引用 user="Joachim sinner"]是否可以合理地认为连续九次测量会受到干扰?

    是否有九个首次采样?  是的。  9个同时触发的连续样本?  否、这不会被视为第一个样片问题。

    [引用用户="Joachim siner"]要模拟实验室中的问题,我需要做什么?

    要了解该问题、您可以记录并比较 C2000Ware 中 ADC_SoC 示例中的 ADCRESULT0和 ADCRESULT1值: ~\C2000Ware_XXXX\device_support\f2802x\examples\structs\adc_soc

    对于系统建模、您可以使用软件将随机误差注入到第一个样本转换中。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您提供快速而广泛的答案。
    我对我们无法在实验室中再现这种现象感到愤怒。 因此、我认为这个问题很少发生。
    您将连续9次中断的评级定为合理。
    因此,我问自己以下问题:
    是否存在有利于错误发生的特殊运行条件? (温度、EMC、处理器负载...)
    干扰对连续多次测量进行伪造是正常的吗?
    您能否估计将连续受到干扰的最大测量数?
    该疾病应多久发生一次?
    您写的内容:行为不一致。 用于建模的良好棒球场范围约为+/- 500LSB。
    如果我希望实际 ADC 值为1000位、则由于干扰、该值可能在500 - 1500位之间。
    我是否正确解释了您的陈述?
    非常感谢
    此致
    Joachim
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Joachim sinner">是否存在有利于错误发生的特殊操作条件? (温度、EMC、处理器负载...)[/quot]

    我不认为这是因为确定了权变措施。

    [引用 USER="Joachim Sinner">干扰是否在一行中伪造多个测量结果是正常的?
    您能否估计将连续受到干扰的最大测量数?
    该疾病应多久发生一次?[/引述]

    该问题与状态机有关、因此我不会惊讶地发现每个第一个样本中出现错误。

    [引用 user="Joachim sinner">您会说:行为不一致。 用于建模的良好棒球场范围约为+/- 500LSB。
    如果我希望实际 ADC 值为1000位、则由于干扰、该值可能在500 - 1500位之间。
    我是否正确解释了您的陈述?[/引述]

    是的、我认为+/- 500LSB 是在不丢弃第一个样本的系统中对悲观结果进行建模的良好配重。 根据我自己的经验、误差通常比+/- 15 LSB 小得多。 我不会假设器件和电路板设计之间的误差是可预测的或一致的。

    对于我认为您正在寻求的评估、我建议记录正在运行的系统中第一个和第二个样本之间的差异。 这将消除大部分推测、并使观察该系统将引入的错误量成为可能。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢
    我将按照您的建议测量我的系统。 为此、我将比较 ADC0和 ADC1。
    一旦结果可用、我将立即通知您。
    此致
    Joachim
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、被叫方、

    我运行了程序并观察了 ADCResult0和 ADCResult1中的结果。 这两个器例都使用相同的输入。 此外、当值降至 ADCResult0的定义值以下时、我通过运行的 If 循环扩展了代码。 该程序在 CCS 中以调试模式运行。 我在 If 循环中设置了一个断点。

     

    在首次运行期间、ADC 输入的设置方式为预期值约为800位。

    在 ADCResult0上、我可以观察​​到796 - 798范围内的值。

    在 ADCResult1上、我能够观察​​到798 - 801范围内的值。

    如果值 ADCResult0 <700、则会进入 If 循环。 这种情况从未发生过。 我不能在高温和低温条件下引发问题。 更改其他 ADC 通道也没有效果。 实验运行了大约4小时。

     

    在第二次运行中、ADC 输入的设置方式为预期值约为3200位。

    在 ADCResult0上、我可以观察​​到3197 - 3201范围内的值。

    在 ADCResult1上、我可以看到​​范围为3202 - 3204的值。

    如果值 ADCResult0 <3100、则会进入 If 循环。 这种情况从未发生过。 实验运行了大约2小时。

     

    错误是否不会在调试模式下发生?

    (我正在使用 XDS100v1 USB 调试探针。)

     

    此致

    Joachim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Joachim、

    当器件自由运行时、ADC 转换器不应受到调试器的影响。

    由于您的观察结果与第一个样本的观察结果不一致、因此回顾原始问题可能是有意义的。

    我有一些想法可能有助于更好地描述当前偏移:

    • 当您说连续9次测量受到影响时、这是否仅与在9个控制周期内定期触发的第一个 SOC 隔离?  其他测量值是否正确?
    • 周期频率是多少?
    • 是否可以判断是否所有9个周期都存在测量误差、或者控制算法是否仅需要很长时间才能从偏移中恢复?  是否有办法对产生偏移所需的 ADC 误差幅度进行反计算?
    • 是否有任何其他系统活动可能与9周期周期相吻合?  例如、周期性偏移修整?
    • 该偏移发生的频率如何?  是在多个系统上吗?

    Tommy

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Tommy、您好!

    我在实验室中看不到问题。 但我从客户测量中得知、由于未知原因、电流增加大约9个周期、这表明占空比计算错误。 在旧软件中、使用 ADC0测量电流。 可能会导致测量不正确。 在这种情况下、ADC0应连续9次给出错误的结果。 我不知道其他测量的质量。

     

    我们使用的时钟频率为15kHz - 7.5kHz。 ADC 使用双更新。

     

    控制算法在每个周期中进行计算。 为了解释观察到的占空比、电流测量值必须过低或电流设定点过高(我不知道这是怎么发生的)。

     

    我可以观察到9个周期内的电流增加、这并不一定意味着所有9个测量都受到干扰。 但是、必须对几次测量进行干扰、否则事件不会持续那么长的时间。

     我再次查看了测量结果、还发现持续时间较短的事件。

     

    我尝试使用一个事件示例来确定初始条件。 我本来希望 ADC 结果值为2470。 为了能够基于测量误差解释控制器的反应、ADC 结果值必须为1362 (或更低)。

     

    我们不使用"周期性偏移修整"。 但我不能排除系统的其他部分对该问题负责。 你有其他建议吗?

     

    一旦在100ms 的间隔内观察到两个事件、问题就会不定期发生。 但我们也有三个运行小时的阶段、而不会出现这种现象。 不同的系统受到影响。

     

    正如我所说,这个问题在软件更新后不再出现,虽然不清楚这个问题是否真的得到解决,或者我们是否偶然发现了新软件的问题。 因此、我正在寻找一种机制来解释新软件解决问题的原因。 勘误表中描述的问题似乎合适。 但我还不确定。

     

    此致

    Joachim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Joachim、

    这当然是一个棘手的问题。  我将列出一些想法。

    15kHz 时的9个周期是相当长的时间、而1000LSB 是相当大的误差量。  我觉得它更像是外部系统影响、而不是内部状态机的怪事。

    丢弃第一个样本的另一个好处是、由于采样电容器有更多的时间稳定在输入电压、转换之间的串扰可能会降低。  但是、在比较第一个转换和样本转换时、您应该能够看到这种效果、因此它可能不适用于此处。

    如果将超出 VSSA 到 VDDA 范围的输入电压施加到任何模拟引脚上、ADC 转换可能会损坏、这是一种已知行为。  多余的电荷从输入引脚分流至 VSSA 和 VDDA。  在这种情况下、我希望所有转换在分流状态期间都损坏。

    是否正在使用任何 AIO?  如果有很多引脚活动、它们可以提供噪声路径。

    是否使用外部基准?  这可能是需要考虑的另一个资源。

    是否可以使用旧软件进行实验?  它可能提供更多线索。  或者可以单独评估各个变化。  或者可能并排运行两个易受影响的系统(一个带有旧软件、另一个带有新软件)、以查看是否存在某些环境影响。

    Tommy

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Tommy、您好!

    是的、这确实是一个棘手的问题。 我将查找另一个误差源。 因为、我无法证明效果、您怀疑另一个原因。

    当然、我们将继续放弃当前 SW 中的第一个测量值。

    我通过 EMC 排除任何影响、因为在软件更新后、问题似乎已解决。 我们使用 AOI 作为出口。 但是、在使用中、新软件和旧软件之间没有区别。 我们不使用外部基准。

    可以使用旧软件进行实验。 但是、我们无法访问客户机器、到目前为止、错误仅显示在此处。

    您能回答我的最后一个问题吗、自那一年以来、问题"初始转换"已通过勘误文档发布?

    非常感谢 Joachim

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="114988" URL"~/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/982560/tms320f28027-errata-adc-initialconversion-failure-mechanism/3639377 #3639377"]自那一年以来,通过勘误文档宣布了问题“初始转换”?

    最初的转换咨询意见于2008年12月首次发布:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢你

    此致

    Joachim