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.

[参考译文] TMS320F28069F:ADC 基准的动态切换

Guru**** 2553260 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/799146/tms320f28069f-dynamic-switching-of-adc-reference

器件型号:TMS320F28069F

您好!

我们遇到了在外部和内部(带隙)基准之间动态切换 ADC 基准的问题。 在使用 ADCREFSEL 更改基准电压后、控制器似乎实际上并未使用不同的基准电压源。

浏览论坛后,我找到了 Matthew Rate 对相关问题的以下回答( https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/54326 )

"您可以在内部/外部基准之间动态切换以适应不同的输入、但在这种情况下、您需要在切换后提供一些稳定时间、我认为100us 是可以的、但我需要跟进这方面的情况。"

是否有任何文档对此事实进行了陈述或进一步解释? 给定的答案对于 F28069也有效吗?在基准之间切换真正需要多长时间?

谢谢

Wolfgang


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    沃尔夫冈
    感谢您联系 E2E、我们很高兴看到我们引用了旧版帖子!

    在任何速率下、100us 都足够了、因为 ADC 此时已通电并处于稳定状态。 ADC 首次上电(ADCPWDN/ADCBGPWD/ADCREFPD 从0变为1)时、我们在数据表中规定的唯一等待时间。 由于您只需要切换基准源、我们只需要一些时间来稳定基准缓冲器的输入。

    如前所述、这对 F2802x/F2803x/F2805x/F2806x Piccolo 类器件有效。

    您还提到了在进行切换时系统不会产生任何影响;请记住、ADCCTL1中的 ADCREFSEL 位受到"EALLOW"保护。 这意味着在内核允许写入此空间之前、需要执行 EALLOW 指令。 您可以通过在观察窗口或代码中读回该位来验证该位是否正确/错误写入。 完成后、您需要编写一条"EDIS"指令来重新启用分块。

    该寄存器(以及所有外设的许多配置寄存器)具有 EALLOW 保护的原因是为了在发生意外代码执行时提供另一个级别的保护、以便这些寄存器不会被写入垃圾信息。 请记住、这是一个全局位、而不仅仅是 ADC 寄存器的局部位。 我提到这一点、因为有些用户发现只需设置 EALLOW 就更简单、因此不必对其进行管理、但存在风险。

    最后、如果您已经处理了 EALLOW/验证了 ADCREFSEL 是否已设置、并且您仍然看到一个问题、我们可以进行更多调试。 如果您可以提供您在 VREFHI/VREFLO 上输入的值以及您要转换的输入电压、这将有助于调试。

    最棒的
    Matthew
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、但 EALLOW 不是问题。 我们先启用受保护的寄存器写入、然后禁用它。 我还使用调试器确保寄存器确实发生了相应的变化。

    我希望问题与我们的快速开关时间有关。 需要进行所有测量的周期时间为83.3us。 此时、我们将外部基准用于大多数测量、但我们也希望使用内部基准。

    考虑到100us、似乎无法将内部基准用于所需的目的。 是否有任何方法可以为基准找到更精确的开关时间? 我们在 VREFHI 上使用外部3.3V 基准、在 VREFLO 上使用 GND。 相关的测量电压始终为外部基准电压的一半。 使用带隙基准的主要目的是检测外部基准的漂移。

    此致
    Wolfgang
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    沃尔夫冈
    感谢您提供详细信息并检查 EALLOW 状态。

    请记住、使用内部基准的满量程范围也是0-3.3V、因此如果您的 VREFHI 也是3.3V、理想情况下差异将小至零。

    为了进行测试(您可能已经在这样做)、让我们将一个电压放置在距离内部基准半远的位置、例如2.5V。

    因此、当您使用外部基准电压时、转换半轨值时仍应看到~2048;使用内部基准电压时、应看到~1551 让我们从上面提到的100us 开关时间开始进行确认。

    如果获得所需的结果、我想我们现在可以查看您预期的外部基准可能漂移的大小、或者另一种方法是定义您可以容忍的可接受漂移量。

    使用该数字重复同一实验、然后开始减小100us、直到您看不到预期的转换增量。

    理想3.3V 电压的移动量越小、开关所需的稳定时间就越短。

    最后、我们需要记住内部基准的容差、需要将该误差纳入上述限制等

    对于半个 FCR 代码、也会暂停可能的最大增益误差、而偏移将是恒定的。

    期待您的结果、我认为您测试外部基准的方法是一种很好的方法、希望我们可以将此时间缩短到您的系统可以接受的水平。

    最棒的
    Matthew
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    沃尔夫冈
    想跟进一下、看看上述方法是否成功确定了基准之间的切换时间。

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

    您好!

    不幸的是,我现在不能继续讨论这一问题,因为其他一些东西出现了。  

    我希望我有一些空闲时间来进行测试。

    此致

    Wolfgang

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    沃尔夫冈
    感谢您的更新。 现在、我将标记"TI 认为已解决"、以便它不会弹出到我的队列中。

    当您有一些更新时、您只需回复、它将在我的末尾重新打开;或者、如果经过了很长时间、您可以使用这个作为相关主题的新主题开始一个新主题、它应该会返回给我。

    此致、
    Matthew