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.

[参考译文] DAC8742HEVM:通过 DAC8742HEVM GUI 生成有效主器件请求时出现问题

Guru**** 2387060 points
Other Parts Discussed in Thread: DAC8742HEVM, USB2ANY, DAC8740H, DAC8742H, ENERGIA
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/671074/dac8742hevm-problem-with-generating-valid-master-request-via-dac8742hevm-gui

器件型号:DAC8742HEVM
主题中讨论的其他器件: USB2ANYDAC8740HDAC8742HENERGIA

您好!

我使用的 DAC8742HEVM 具有 SPI 和 HART 接口、我想向我的传感器生成主请求(具有 PT100的 SEM315 MKII)-最好使用电路板和 GUI 发送 HART 命令0。 问题是 DAC8742HEVM GUI 没有得到充分的记录、创建有效的 HART 帧似乎是一个问题。 没有关于如何通过 GUI 创建 HART 帧的信息。 我尝试了通过多种方式发送数据-从前导码、定界符等 似乎"原始"帧应该是正确的(从前导码到校验字节)、但不幸的是、传感器无法对此做出响应。
我可以在示波器上观察到消息、看起来在 HART 帧之后添加了很多消息、这是否是问题?

我非常感谢提供该工具的一些附加文档或一些有效的工作示例。


此致

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

    我们似乎通过电子邮件收到了来自 TI FAE 的相同查询。

    您更愿意直接通过电子邮件或在论坛上继续讨论吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Alt、

    EVM 软件旨在评估物理/数据链路层、因此在应用层不是很方便。 话虽如此、您仍应能够手动构建 HART 消息。 消息的形式为:

    定界符|地址|扩展|命令|字节计数|数据|校验字节

    基本上、您只需将每个字节放在左侧列中、它就会传输。 然后单击"生成读取"、如果您发送的 HART 消息有效、右侧列将显示响应。 这是您尝试过的吗? 如果发送的消息不正确、您将不会收到回复。 在下图中、我将输入连接到输出、并打开全双工以读回传输的数据。 我将其设置为 UART 模式:

    您是否能够在全双工模式下回读? 我会先尝试这种方法。

    我建议将 EVM 设置为 UART 模式、因为使用此软件的 SPI 存在15字节的消息限制。 在 UART 模式下、必须指定要读取的字节数。 实际上、USB2ANY 会连续读取 UART、然后点击 Read 将其从存储器中检索。 在回读设置中、我打开了基准、启用了 BPF、并打开了 UART。

    我将电路板上的所有跳线保留在它们的默认位置。

    请告诉我、如果您尝试此操作、但仍然没有从您的现场设备获得响应。

    谢谢、
    Garrett

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

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

    [引用用户="Garrett Satterfield"]

    消息的形式为:

    定界符|地址|扩展|命令|字节计数|数据|校验字节

    [/报价]

    序言如何? 从示波器上可以看到、这应该手动处理。 据我所知、HART 协议中的消息起始 位是两个连续的0xFF、后跟有效的分隔符、因此我假设应将其包含在"HART/PAFF 写入"字段中、以便正确进行通信。 是这样吗?

     

    [引用用户="Garrett Satterfield"]

    基本上、您只需将每个字节放在左侧列中、它就会传输。 然后单击"生成读取"、如果您发送的 HART 消息有效、右侧列将显示响应。 这是您尝试过的吗?  

    [/报价]

    是的、这正是我尝试过的。 我尝试使用短帧和轮询地址发送"0"命令(与从器件上设置的相同)。
    在 SPI 模式下、在发送请求(甚至是随机数据)后、我在单击 Generate Read 后得到了'0x200'、但正如我说过的、在示波器上无法观察到从器件的响应。 根据 HART 规范、似乎"0x20"是溢出错误或某种类型的电源故障、但响应中应包含命令状态字节、因此我不确定该"0x200"实际上是否为错误。

     

    [引用用户="Garrett Satterfield"]

    您是否能够在全双工模式下回读? 我会先尝试这种方法。

    [/报价]

    是的、将 HART_IN 与 HART_OUT 连接后、我在全双工和半双工模式下获得了与预期相同的数据。

     

    我还尝试使用 UART 发送 hart 帧、如果有包含前置放大器的 GUI 退出、并且在示波器上观察到连续前置放大器、直到 GUI 再次启动、在读取寄存器之后、所有前置放大器都是 FFFF。

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

    您好 Alt、

    是的、正确的、在消息帧之前使用5-20字节长的前导码。

    我查看了 SEM315 MKII 器件、发现它是一款双线电流环路器件。 在这种情况下、器件需要环路电流才能运行、并在直流电流之上调制 HART 信号。 将器件直接与 EVM 配合使用不起作用。 您能否解释一下如何将 EVM 连接到两线制器件? 您是否使用 EVM 来调制环路电流?

    谢谢、
    Garrett

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

    SEM315 MKII 由外部电源(24V)供电、它还具有串联的负载(>=250 Ω)、可实现 HART 通信。 我想将 EVM 用作 HART 调制解调器、因此它通过 MOD_IN 和 MOD_OUT 与发送器并联。

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

    您能否提供有关如何将 EVM 连接到电流环路的原理图/图?

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

    目前、我已将 MOD_OUT 连接到+、将 MOD_IN 连接到-、也尝试切换它、但传感器仍然没有响应。

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

    DAC8740H 的 MOD_IN 和 MOD_OUT 应与负载电阻器节点进行交流耦合。 在图中、MOD_OUT 直接连接到电源。 请参阅 DAC8740H 数据表的图32、其中显示了 MOD_IN 和 MOD_OUT 上的耦合电容器。

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

    Garrett、

    因此、您建议将 MOD_IN 和 MOD_OUT 连接到电阻器节点的一个节点、这是正确的吗? 您能否提供建议的连接图?

    我认为、如果我之前的连接错误、EVM 根本无法生成任何 HART 信号。 但是、无论我在"HART/PAFF Write"字段中指定了多少字节、生成的信号始终持续相同的时间。消息的剩余部分由一个组成、如下所示。 这是预期行为吗? 也许这会导致从器件无法正确识别消息?  


    此致

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

    您好 Alt、

    是的、在模拟输入情况下、MOD_IN 和 MOD_OUT 应交流耦合到负载电阻器上的同一节点。 我已包括一个模拟输入模块的 HART 部分图。 将输入和输出连接到同一节点还将使您能够以全双工模式回读、以便确保调制解调器正确调制/解调。

    波形长度应取决于发送的字节数量、每个字节的发送时间约为6.7ms。 您提供的捕获似乎是40字节长。 您指定了多少字节? 您是否使用 UART 或 SPI 传输 HART 数据? 如果在输入和输出连接在一起的全双工模式下回读、您是否会获得正确的数据? EVM 是否采用用户指南中指定的默认配置?

    谢谢、
    Garrett

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

    您好、Garrett、


    当 MOD_IN 和 MOD_OUT 都连接到电阻器的一个节点并且选择 UART 时、可以通过 GUI 读取相同的数据(这与您建议在3月13日执行的测试相同)。 我通过 UART 发送10个字节、电路板采用用户指南中指定的完全配置。
    这可确保 EVM 能够解调其自身的信号。 遗憾的是、这不能解决与现场设备的通信问题。

    上一帖子的首次捕获显示了打算发送的10个字节的数据、这些数据在 GUI 中指定。 第二次捕获显示指定数据的结束和这些数据的开始、这些数据似乎是在没有用户控制的情况下添加的。

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

    您好 Alt、

    我能够在实验室中重现此问题。 此问题是由 EVM 软件平台的限制引起的。 写入数据和切换 RTS 引脚或 RTS 位(SPI)之间存在延迟。 这使得调制器在 RTS 引脚/位被切换前保持调制1、从而在您所见的目标数据之后产生很多1。 正如我之前所述、EVM 更适合评估物理层、并不真正用于直接与现场器件通信。

    话虽如此、我认为消息帧后的填充不会导致器件不响应。 因为在现场设备开始确认有效数据之前、起始位必须变为零。 我希望现场设备只是等待载波停止、然后根据所有数据之前发送的数据进行回复。 这会导致延迟、但我仍希望得到响应。

    我还想知道是否有另一种方法使现场发送器传输 HART 消息。 然后、您可以测量负载电阻器上的信号、并确保 DAC8740H 的信号振幅正确以进行解调。 如果振幅正确、则可以连接 DAC8740H、消息应解调。 是否可以通过用于配置的 USB 接口将 SEM15 MKII 传输 HART 到电流环路上?

    谢谢、
    Garrett

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

    您好、Aleksandra、

    我想扼要重述问题和推荐的解决方案。  

    该问题是由于 EVM 软件的限制造成的。 写入数据和切换 RTS 之间的延迟会导致1200Hz 信号在几百毫秒内额外传输。 这会导致在调制解调器不断调制直到 RTS 被切换时、数据中填充一个值。 您怀疑这就是场发射器没有响应的原因、因为它达到超时并丢弃数据。 我们将在将来的 EVM 软件中解决此问题、但解决此问题可能需要一些时间。

    我想、更快的解决方案是使用微控制器通过 SPI/UART 将 HART 数据传输到 DAC8742H。 这将消除传输数据和 RTS 切换之间的延迟。 使用 MSP430 LaunchPad 或类似的微控制器应该可以相当直接地实现这一点。 如果您之前未使用过 MSP430 Launchpad 平台、可能希望使用 Energia IDE、因为它很容易上手。 有关将 SPI/UART 与 Energia 结合使用的教程有很多。

    您可以使用 SPI 或 UART。 在 UART 模式下、调制解调器充当 UART 到 HART 的馈通转换器。 UART/SPI 模式由 IF_SEL 引脚选择。

    UART 的传输过程简单:

    1.下拉 RTS 管脚。

    2.以1200bps 的速率传输 UART 数据。

    3.上拉 RTS 引脚。

    接收响应数据。

    您可以使用 SPI 或 UART、但在 UART 模式下运行较为简单。 如果您对此解决方案有任何疑问、请告诉我。

    谢谢、

    Garrett

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

    此对话已发送至电子邮件。

    对于未来的读者-如果您有进一步的查询、请随时发布新帖子/主题。 简而言之、这是 EVM GUI (而非器件)的限制、我们将努力解决该限制。

    谢谢!