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.

[参考译文] AFE881H1:HART 传输导致的 SPI 写入失败条件期间的 WDT 馈送

Guru**** 2419530 points


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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1441024/afe881h1-wdt-feeding-during-spi-write-failure-conditions-caused-by-hart-transmission

器件型号:AFE881H1

工具与软件:

我正在研究如何对 HART 传输到 WDT 源导致的 SPI 写入错误采取变通办法、这是 TI 提出的。

我在 WDT 行为中观察到以下模式:

WDT 故障情况

  1. 初始状态:WDT 禁用
  2. 在~500 µs 内双写入 WDT = 0x0033
  3. 结果: WDT 故障

无 WDT 故障情况

  1. 初始状态:WDT 禁用
  2. 单次写入 WDT = 0x0033
  3. 等待大约100ms
  4. 在~500 µs 内双写入 WDT = 0x0033
  5. 结果: 无 WDT 故障

注释:

  • WDT = 0x0033配置:WDT 启用、WDT_LO = 53ms、WDT_UP = 3.41s
  • CRC 在所有情况下均启用。

启用 WDT 的初始写入似乎必须作为单次写入来执行。

根据这些意见、我们要确认以下几点:

  1. 当初始状态为 WDT 禁用、而双写入时、单次写入 WDT = 0x0033不会导致 WDT 故障、观察结果是否正确?
  2. 在 HART 传输的 SPI 写入故障条件下从禁用的 WDT 转换为 WDT 时、若要在不导致 WDT 故障的情况下可靠地设置 WDT = 0x0033、正确的程序是什么?
    • 是否有必要重复执行 Write→Read 的窗口序列、直到确认 WDT 已转换为 Enabled?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    俊介三

    我需要在工作台上测试该用例、以查看我得到的结果。 我还将向数字设计师提及这一点、看看他是否对可能发生的事情有任何想法。  

    给我一点时间来设置并运行它。

    Joseph Wu

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

    俊介三


    我没有机会针对此问题设置类似的测试。 我在星期四的电脑设置测试时遇到了一些问题、上星期五我不在办公室。

    我曾经询问过一位设计人员有关您的设置的问题。 他没有测试设置 WDT 与双写入,所以他没有看到警报,如你所见。 然而,他并没有预料到报警会触发。 他的第一项建议是在启用 WDT 之前设置配置。 这将使用0x0032设置 WDT_LO 和 WDT_HI、然后再使用0x0033。 如果警报源是 WDT_LO 的更改、则单独设置配置和使能可能会有所帮助。

    我将尝试在实验中设置测试、但安装 Python 时遇到问题、这是我在工作台设置中使用的主要寄存器控制方法。


    Joseph Wu

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

    俊介三

    我确实有机会尝试双写入、在这个过程中、WDT 初始化完成、然后启用 WDT。 当我尝试时、它导致设备发出警报。 我将要检查我的代码、以确保初始化已正确完成、但就目前而言、我认为它不起作用。

    我只是想让你知道。 我将很快尝试其他几种版本的初始化进行测试。

    Joseph Wu

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

    俊介三

    我能够通过双次写入启用 WDT 窗口模式。 我认为长期而言、您更喜欢使用其他方法、但至少这种方法目前是有效的。

    该序列是通过双写(0x110031)在非窗口模式下启用 WDT。 这会在正常模式下进入 WDT、WDT_HI 设置为3.41s、我需要等待53ms、然后再进行一次双写入(0x110033)、在窗口模式下启用 WDT。 53ms 的等待时间似乎是必要的。 任何 较短的等待时间都会产生 WDT 错误。

    我需要运行较长的时间来测试它、但至少可以从这里开始。

    Joseph Wu

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

    尊敬的 Joseph:

    感谢您建议解决方法。
    我不确定是否可以实施、但我们会将其视为其中一个选项。

    西田俊介