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.

[参考译文] DAC8742H:间隙错误、HART 测试

Guru**** 2801195 points

Other Parts Discussed in Thread: DAC8742H

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1617368/dac8742h-gap-error-hart-test

器件型号: DAC8742H

您好:


我的客户对 DAC8742H HART 相关事宜有一些问题。

 

HART 一致性测试中有一个项目“Back Timing with STX Error“。

测试机发送 STX(有间隙错误)、器件必须检测间隙错误并进行调节以进行处理。

它们尝试从调制解调器状态寄存器的位 12 读取间隙信号、但很难读取间隙错误。

 

然后他们有以下 2 个问题

1) 此间隙错误情况从何时存在到何时存在? 即使发生间隙错误(位 12=1)、接收操作也会继续。
那么、如果接收到下一个字节、是否会覆盖位 12 的“1"状态“状态?

 

2) 在数据表中、对调制解调器状态寄存器的位 12 没有太多说明。 您是否有其他说明更详细信息的文献?

此致、
Oba

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

    Oba-San、


    1.当 HART 字符传输之间的时间过长时、会检测到间隙错误。 如果发生间隙错误、器件会向 MODEM_STATUS 寄存器的位 12 写入 1。 MODEM_STATUS 寄存器中的位是“粘滞“的。 这意味着当错误发生并设置该位时、用户必须清除该位才能复位校验。 错误位将继续显示错误、直到将 1 写入 MODEM_STATUS 寄存器的位 12。 如果检测到间隙错误、您需要检查 MODEM_STATUS 寄存器、并在字符结束之前向位 12 写入 1、以在下一次传输中检测到间隙错误。

     2.在 DAC8742H 间隙错误检测中、器件会检查 STOP 位和下一个 START 位之间的时间、以便与器件进行 HART 通信。 如果该时间大于一个 HART 字符时间 (9.17ms)、则指示间隙错误。


    Joseph Wu

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

    您好 Joseph、

    他们还有一个问题需要您对 (1) 的答复。

    根据您的答案、如果接收到任意帧、则帧末尾至少会出现 GapError。 MODEM_STATUS 的位 12 应读取为“1"。“。 这种理解是否正确?

    例如、在主器件发送“FF FF FF FF FF FF FF 82 A AB 01“并且器件接收到最后一个“01"后“后、是否应从 MPDEM_STATUS 的位 12 读取“1"?“?

    如果上述理解正确、如果您对以下行为有任何建议、我们将不胜感激。

    MCU 配置:SPI 模式、启用 FIFO 级别中断、FIFO 级别=3、没有其他配置。
    行为:可以读取接收到的数据(接收到通用命令并且重放正常)。
    无法读取 MODEM_STATUS 的位 12。  

    您是否看到应该设置的配置不足?

    此致、
    Oba

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

    Oba-San、

    我需要向一位数字设计人员介绍这一点。 我不太熟悉间隙误差检测的确切细节、答案取决于检测到的间隙误差的确切方式。  

    Joseph Wu

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

    Oba-San、


    我没有看到配置有任何问题、但我会检查 IF_SEL 为高电平以使用 SPI 模式。 如果他们能够从 FIFO 获取数据、这应该没问题。

    我确实检查了设计、在 HART 通信结束时、HART 帧完成时应该会出现间隙错误。 器件检测载波检测何时错过信号超过一个字符时间。 通信结束时、未检测到载波、间隙错误应在大约 9.17ms 内出现。 出现间隙错误后、需要清除错误。

    如果您看不到间隙误差、我会检查几件事。 首先确保器件首先检测到载波、然后检查是否未检测到载波。 他们应该能够通过位 1 中的 MODEM_STATUS 寄存器中的 CD 看到此问题(如果使用 SPI 模式)。 检测到 HART 信号后、我会轮询 MODEM_STATUS 寄存器、以检查 CD 是否变为 1 来检测信号、然后在信号完成后返回到 0。 CD 标志不是粘滞的、因此您无需写入 1 即可将其清除。

    之后、再次检查 MODEM_STATUS 以了解间隙错误。 同样、在 CD 恢复到 0 后大约需要 9.17ms 来设置间隙错误。 即使将 MODEM_IRQ_MASK 设置为 GAP、也会阻止 IRQ 的触发器、但仍应在调制解调器状态寄存器中报告错误。


    Joseph Wu