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.

[参考译文] TMS570LS3137:内部看门狗跳闸的输出引脚指示

Guru**** 2455360 points
Other Parts Discussed in Thread: TPS65381A-Q1

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/631078/tms570ls3137-output-pin-indication-of-internal-watchdog-trip

器件型号:TMS570LS3137
主题中讨论的其他器件:TPS65381A-Q1

您好!

我对内部看门狗跳闸的输出引脚指示有一些疑问。

数据表列出了可用于此目的的两个引脚、nRST 和 nERROR。 哪个引脚是用于内部看门狗跳闸输出指示的最佳引脚? 用于此目的的每个引脚的优缺点是什么?

当一个内部安全装置跳闸时、nRST 和 nERROR 在被驱动为低电平后是否保持低电平、或者它们是否只在一个最小脉冲宽度内变为低电平? 我们需要保持低电平、直到我们再次将其设置为高电平。

如果它们在看门狗跳闸时保持低电平、需要什么才能使它们中的任何一个再次变为逻辑高电平?

数据表似乎显示 nRST 在复位条件下也被驱动为低电平。 nERROR 也是如此吗? 您能告诉我它说的是什么吗?

除了复位之外、如果我们只希望引脚为看门狗跳闸变为低电平、是否有办法对此进行配置、或者是否有其他几个固定条件会导致 nRST 或 nERROR 变为低电平? 数据表中 nRST 的表6-5和 nERROR 的表6-35似乎表示存在几个固定条件、这些条件将导致 nRST 或 nERROR 被驱动为低电平、并且无法通过其他方式进行配置。 我是否正确解释了这一点?

我们是否最好仅使用 GPIO 输出来指示看门狗跳闸以及复位条件。 如果是、如何使用 GPIO 实现这一目标?

谢谢、

Scott

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

    您好、Scott、

    nRST 和 nERROR 是两个非常不同的引脚。

    nRST 专门用于中继有关器件复位状态的信息、它在器件复位时生效、在器件复位后失效。 无论复位源如何、都会发生这种情况。 它也是一个双向引脚。 这意味着它还可用于通过外部引脚在器件上创建热复位。 即、如果一个外部器件被连接至 nRST 引脚、它可以将 nRST 引脚置为有效并使器件经历一个热/软复位。 在热/软复位期间、器件中的一些寄存器被保持并且 CPU 大多数外设被复位。 它基本上从复位矢量开始、但允许保留错误寄存器、RAM 内容等、以便检查之前复位的原因(不可纠正的存储器错误、CPU 故障、WD 故障等)。 nRST 复位方法通常用于故障恢复或进入安全状态。

    nERROR 是一个引脚、用于通知系统 MCU 范围内的问题。 即、这告诉系统发生了一些严重的错误、系统需要采取一些措施。 在某些情况下、与我们的配套 PMIC TPS65381A-Q1一样、可以监控 nERROR、并且在超过计数阈值时、它可以根据系统需求将 nRST 或 nPORRST 置为有效。 正如您所注意到的、ESM 模块内 ESM 组中的一个错误是 RTI_WWD_NMI、作为 ESM 组2错误的一部分、此错误将导致 NMI 并将 nERROR 引脚置为有效。 请注意、这是一种可配置的行为、因为 DWWD 可编程为生成 NMI 和 nERROR 操作或直接导致 nRST 事件。  

    如果 DWWD 配置为在违反 DWWD 后生成复位事件、则相关代码应在启动代码/复位代码中检查 SYSESR 寄存器、以确定复位源、然后根据系统需求采取适当的措施。 清除 SYSESR 和 ESM 状态寄存器中的复位状态位的方法在相关的 TRM 章节中给出。 我认为这些位被写清零。

    有一点要注意的是、如果您的应用是功能安全应用、如果您选择使用片上看门狗功能、请确保您考虑常见的故障原因机制。 具体而言、请考虑时钟故障(频率漂移、抖动或完全故障)的影响、因为相同的时钟最终用于驱动 CPU 和 RTI 功能。 因此、许多客户选择使用独立于 MCU 计时的外部 WD。  

    此外、考虑查看配套的 PMIC TPS65381A-Q1器件、因为它为 Hercules 提供了必要的电压轨以及互补的 nERROR 监控、问答序列识别 WD、 以及可能对您的应用有益的其他安全功能逻辑 BIST、模拟 BIST、过温监控、过压/欠压监控、过流监控、 等)。

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

    我有一些后续问题。

    数据表和技术参考手册提到看门狗模块可配置为针对看门狗违例生成系统复位。 在这种情况下、系统复位期间和之后、所有 I/O 引脚(GPIO、N2HET 等)将处于什么状态? 数据表的第4.3节提到、当 nPORRST 为低电平时以及 nPORRST 变为高电平之后、除 nRST 外的所有 I/O 信号立即被配置为输入。 但我不确定、I/O 引脚在系统复位期间以及系统复位后是否立即执行与第4.3节中 nPORRST 描述的相同操作? 如果有、您可以告诉我文档中的哪一处显示了这一点?

    2.我也对 N2HET 引脚有疑问、因为 N2HET 引脚不能被复用为 GIOA 或 GIOB。 数据表和技术参考手册提到、所有 N2HET 引脚均可用作 GPIO 引脚。 参考手册中的 N2HET 部分提到使用 HETDIN 命令读取输入、使用 HETDSET 和 HETDCLR 设置/清除输出。 如果不能复用的引脚和 GIOA 或 GIOB 被用作 GPIO 引脚而不是 N2HET 定时器功能、它们的 GPIO 逻辑状态(高电平或低电平)能否被置位或者从 TMS570中运行的主机软件的主例程中读取? 或者是否仍需要在 N2HET 微机器程序循环内对它们进行控制或读取? HETDIN、HETDSET 和 HETDCLR 命令是否可从主主机软件例程中获得、或者这些命令是否只能从 N2HET 微机程序循环中使用?

    谢谢、

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

    您好、Scott、

    [引用用户="Scott Asher"]1. 数据表和技术参考手册提到、可以将看门狗模块配置为针对看门狗违例生成系统复位。 在这种情况下、系统复位期间和之后、所有 I/O 引脚(GPIO、N2HET 等)将处于什么状态? 数据表的第4.3节提到、当 nPORRST 为低电平时以及 nPORRST 变为高电平之后、除 nRST 外的所有 I/O 信号立即被配置为输入。 但我不确定、I/O 引脚在系统复位期间以及系统复位后是否立即执行与第4.3节中 nPORRST 描述的相同操作? 如果有、您可以告诉我文档中的哪个位置显示此信息?

    nRST 也是如此。 我不知道为什么我们在这里也没有特别提到系统复位、因为这两个器件都可以有效地对 IO 执行相同的操作、即禁用输出并设置为输入。 请注意、对于只输出端子有一个警告、其中其状态为"所有只输出信号都禁用了输出缓冲器、并且在 nPORRST 为低电平时启用了默认拉电流、并且在 nPORRST 变为高电平后立即将拉电流禁用时配置为输出。 另请注意它们将配置为输出的位置。"

    关于此行为的记录、我同意 TRM 或数据表中未明确提及此行为。 我将提交有关此问题的文档"错误"、以便我们可以将其添加到即将发布的修订列表中。

    [引用用户="Scott Asher"]2. 我还有关于 N2HET 引脚的问题、这些引脚不能被复用为 GIOA 或 GIOB。 数据表和技术参考手册提到、所有 N2HET 引脚均可用作 GPIO 引脚。 参考手册中的 N2HET 部分提到使用 HETDIN 命令读取输入、使用 HETDSET 和 HETDCLR 设置/清除输出。 如果不能复用的引脚和 GIOA 或 GIOB 被用作 GPIO 引脚而不是 N2HET 定时器功能、它们的 GPIO 逻辑状态(高电平或低电平)能否被置位或者从 TMS570中运行的主机软件的主例程中读取? 或者是否仍需要在 N2HET 微机器程序循环内对它们进行控制或读取? HETDIN、HETDSET 和 HETDCLR 命令是否可从主主机软件例程中获得、或者这些命令是否只能从 N2HET 微机程序循环中使用?
    [/报价]

    NHET 引脚可以轻松地用作 GPIO 引脚、方法是将它们设置并像处理专用 GPIO 模块中的任何 GPIO 一样进行操作。 只需将它们配置为输入或输出、并通过直接写入 HETDOUT、HETDIN 寄存器来设置和 CLR、或者、为了更确切地确定引脚影响、请使用 HETDSET 和 HETDCLR 寄存器、以便仅影响您选择的位。 请注意、当您读取 HETDIN 和 HETDOUT 寄存器时、您还会看到用于 NHET 定时器功能的引脚的状态、因此您需要适当屏蔽文件管理器不需要的位。 这些寄存器可由 CPU 直接访问并且您不必使用 HTU 或者一个 NHET 程序来操纵这些引脚。

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

    感谢您的回答。 我对此有一些后续问题。

    您提到 CPU 可以直接访问这些寄存器、您不必使用 HTU 或 NHET 程序来操作这些引脚。 您是否仅指 HETDOUT 和 HETDIN 寄存器? 或者、HETDSET 和 HETDCLR 寄存器也可以从主 CPU 访问吗?

    此外、TRM 中第20.2.5节的最后一句话是"用作通用输入的 N2HET 引脚在每个 VCLK2周期上被采样"。 这是否意味着当主 CPU 读取 HETDIN 寄存器时、它正在读取输入引脚的采样版本、引脚在 VCLK2的前一个上升沿上的状态是什么? "高分辨率结构"块和 TRM 图20-8中"HETDIN"块输入之间的连接(I/O 控制)意味着什么?

    TRM 图20-8还显示了"高分辨率结构"块和"HETDOUT"块之间的连接、类似于 HETDIN。 那么、这是否意味着如果主 CPU 置位或清零 HETDOUT 寄存器中的位、那么用作 GPIO 输出的外部 N2HET 引脚在 VCLK2的下一个上升沿之前不会改变以反映其 HETDOUT 位的状态? 对于用作 GPIO 输出的 N2HET 引脚、TRM 不会像用于 GPIO 输入的 N2HET 引脚那样明确地说这一点。

    此外、可以将用作 GPIO 输入的任何 N2HET 引脚设置为在输入引脚的状态发生变化时向主 CPU 生成中断。 您能否向我指出 TRM 部分和显示此内容的图?

    谢谢、

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

    您好、Scott、

    [引用 user="Scott Asher">您提到 CPU 可以直接访问这些寄存器、您不必使用 HTU 或 NHET 程序来操作这些引脚。 您是否仅指 HETDOUT 和 HETDIN 寄存器? 也可以从主 CPU 访问 HETDSET 和 HETDCLR 寄存器吗?[/QUERP]

    所有 NHET 寄存器可由 CPU 直接访问。 如果 NHET 和 CPU 都需要访问寄存器、则会发生仲裁。 在大多数情况下、NHET 微机器只访问 NHET RAM、所以不应该有任何问题。

    [引述 USER="Scott Asher">此外、TRM 第20.2.5节的最后一句话是"用作通用输入的 N2HET 引脚在每个 VCLK2周期上采样"。 这是否意味着当主 CPU 读取 HETDIN 寄存器时、它正在读取输入引脚的采样版本、引脚在 VCLK2的前一个上升沿上的状态是什么? "高分辨率结构"块和 TRM 图20-8中"HETDIN"块输入之间的连接(I/O 控制)意味着什么?

    TRM 图20-8还显示了"高分辨率结构"块和"HETDOUT"块之间的连接、类似于 HETDIN。 那么、这是否意味着如果主 CPU 置位或清零 HETDOUT 寄存器中的位、那么用作 GPIO 输出的外部 N2HET 引脚在 VCLK2的下一个上升沿之前不会改变以反映其 HETDOUT 位的状态? 对于用作 GPIO 输出的 N2HET 引脚、TRM 不会像对待用于 GPIO 输入的 N2HET 引脚那样明确地说这一点。[/QUERP]

    即使在我们的 GPIO 模块中、这也确实是一个现实。 引脚上的值以及输入或输出缓冲器看到的值必须随时钟移入 CPU 读取的寄存器或从寄存器读取的寄存器输出到输出缓冲器。 对于我们的 GPIO 模块、它们由 VCLK 计时、对于 NHET 模块、逻辑由 VCLK2计时。 这与 N2HET 中 IO 的 HR 特性无关。  

    [引用 USER="Scott Asher">此外、是否可以设置用作 GPIO 输入的任何 N2HET 引脚、以便在输入引脚的状态发生变化时向主 CPU 生成中断。 您能给我指出 TRM 部分和显示此内容的图吗?[/引述]

    使用 AD GPIO 的 N2HET 引脚不能自行产生中断。 您可以设置一些 NHET 程序指令来对引脚的状态做出反应、并根据到一个新状态的转换、即高电平、低电平、或者简单的值变化来发出中断。

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

    你好、Chuck、

    感谢您提供的信息! 我将把这一信息传递给我们的软件团队、看看他们是否还有其他问题。

    再次感谢!

    Scott