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 从 DAC8742HEVM 到 DAC8742HEVM 进行测试事务时出现问题

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/987822/dac8742hevm-problem-with-test-transaction-via-dac8742hevm-gui-from-dac8742hevm-to-dac8742hevm

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

您好、亲爱的朋友。

我在将两个 DAC8742HEVM 相互连接时遇到了一些问题。

我将使用两个具有 SPI 和 HART 接口的 DAC8742HEVM。 我尝试使用 UART 接口上的 HART 模式将数据从 DAC8742HEVM№1传输到 DAC8742HEVM№2。

我执行了以下操作

1) 1) I 已将 Modin 模块1与 MODOUTMODUT 模块2相连、并将 Modin 模块2与 MODOUT 模块 1相连;

2) 2)我使用 USB2ANY 将两个模块连接到不同的 PC;

3) 3) I 通过两台 PC 连接了模块、并使用 DAC8742HEVM GUI;

4) 4)启用了"全双工"、启用了"内部带通滤波器"、两个 DAC8742HEVM GUI 中启用了"精密基准";

5) 5)写入值并在 GUI N1中单击“Generate write” (生成写入),然后在 GUI N2中单击“Generate read”(生成读取)  

我始终从任何值接收“FF”。

如果我将 AGND 模块№1连接到 AGND 模块№2,则收到“00”

两个模块中的跳线设置均处于默认位置。

两个模块中的寄存器映射均为默认值。

你能帮我,我做了什么错?

P.S.

我使用一个模块在 UART 接口上以 HART 模式获取测试事务数据:将 Modin 连接到 MODOUT、打开“全双工”、打开“内部带通滤波器”、打开“精密基准”。 我单击“Generate write”(生成写入),然后单击“Generate read”(生成读取),操作正确。

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

    Sergey、

    我将首先使用一个 EVM 单独调试这个问题。  您将需要一个示波器来检查这一点、但首先查看 EVM 输出、看看您是否可以找到调制信号。  

    我还只需使用万用表、只需检查电源和基准电压、以防万一。

    吴约瑟

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

    Sergey、


    实际上、您可以尝试的一项测试是让 EVM 与自己进行通信。 在这种情况下、您将在 MODOUT 和 Modin 之间连接一根导线。 这些连接从 EVM 的电路板右侧端子 J7处流出。

    然后、您可以通过单击 GUI 方框图中的精密基准框来启用基准。 验证您可以在 REF 测试环路上测量1.5V 基准电压。 GUI 应启用全双工和 内部带通滤波器。 IF_SEL 应设置为 UART。  

    然后、您可以输入5个字节来测试写入。 输入字节后、您可以选择"生成写入"按钮。 要检查读取,您可以选择“(UART)#bytes to read”字段并输入字节数(5)。 然后选择 Generate Read 按钮、读取字节应出现在控制台中。

    请告诉我这是否可行。 我已经在我的板上对其进行了测试、看起来很好。 如果您能够为每个 EVM 执行此操作、则应该能够将这两者结合在一起。

    注意:我本来会在其中发布 GUI 的图像、但在 E2E 的"升级"之后、我现在似乎无法做到这一点。 一旦我确定它、我将发布回。

    吴约瑟

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

    Sergey、

    我只是注意到、在您的帖子结束时、您已经尝试过这种方法、并且这种方法已经奏效。 将两个 EVM 放在一起时、能否先连接两个电路板上的接地端?

    吴约瑟

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

    是的、我已经将每个模块连接到了自己。 它们单独工作、我通过 GUI 获取我发送的值。 这意味着两个模块都很好、并且工作正常。

    现在、我连接了接地 AGND 1和 AGND 2 (如图所示)、并使用万用表检查了它们的连接。
    我打开“全双工”,打开“内部带通滤波器”,打开两个 GUI 中的“精密基准”。

    我写入值并在模块#1中单击"Generate Write"。
    之后、我单击模块#2中的"Generate Read"。 (已在“(UART)#bytes to read”(要读取的字节数)中选择了字节数)
    我在所有寄存器中收到"00"。

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

    Sergey、

    我需要一些时间来自行测试这个。 当我获得另一个 EVM 时、我会再回来。

    吴约瑟

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

    Sergey、


    我能够让它正常工作、但需要一些时间才能通过一些传输。 我不确定为什么我没有立即获得通信、但我确实有一些关于如何测试通信的笔记。 以下是我的意见。

    • 我从单向传输开始。 从一个 EVM 作为发送器开始、另一个作为接收器。 这样、只有一个调试方向。
    • 我需要在器件之间接地。 一台计算机与另一台计算机之间似乎有很多噪声(一个 EVM 连接到电源插座、而另一个 EVM 连接到笔记本电脑、但没有电源)。
    • 我首先设置发送器。 我首先将输出连接到同一 EVM 的输入、然后再连接到第二个 EVM。 我想确保发送器可以接收输出。
    • 使用示波器监控输出信号。 它有助于看到输出从发送器传出。 在将输出连接到另一个 EVM 的输入之前、我已经了解了这一点。
    • 设置要在 GUI 中读取的字节数。
    • 为接收器 IF_SEL 使用 SPI。 我不确定这是否重要、但我能够让这个正常工作、我读回的数据是正确的。

    我在将 GUI 的图像输入到该帖子中时遇到了一些问题。 如果可以、我将跟踪一些图像。

    吴约瑟

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

    Joseph、
    我尝试复制您的体验、我能够传递价值。
    但是、当值被发送时、会出现一些服务字节。
    例如:
    1) 1)我传递值"x6"、然后在第二个 GUI 上获取2个寄存器:
    "x1106"
    "X200"
    2) 2)我正在发送:
    "X6"
    "4个"
    我得到:
    "x2106"
    "x1004"
    "х202 "-每次都不同(202、203、204、206)
    3) 3)我正在发送:
    "X6"
    "4个"
    "X3"
    我得到:
    "х3006 "
    "x2004"
    "x1003"
    "X305"-每次都不同

    我在论坛上找到了类似的主题、但使用 SPI 协议、他们解释说"X200"和类似的值​​是事务结束时的值。 但每次都不同、即使我传递相同的值也是如此。

    我还发现 if_SEL 对发送模块没有影响。 切换了 UART/SPI 模式、但具有相同的值。

    我假设传输使用的是 SPI 协议、而不是 UART。
    是这样吗? 是否可以通过 UART 连接模块?

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

    Sergey、


    对于 SPI 通信、我认为您看到的是正确的。 要读回的数据是 FIFO_M2D 寄存器。 对于每一个被发回的数据、前四位指示 FIFO 电平。 例如、发送

    0x06 0x04 0x03

    从 FIFO_M2D 读取将指示读取为:

    0x3006 0x2004 0x1003

    前四位分别为3、2和1、用于指示读取在 FIFO 缓冲区中的位置。 在本次读取结束时、您将完成 FIFO 的读取、最后一次读取将为您提供0x0200。 0x02的第一个字节表示 FIFO 已被完全读出。 0x02中的2表示 FIFO 为空。 最后一个字节是数据、它来自 FIFO、但 FIFO 是循环的、可能来自之前的读取。 它可以被忽略、因为您已经从 FIFO 中读出数据。

    对于发送器而言、器件处于 SPI 或 UART 模式无关紧要。 对于接收器、我只能让器件通过 SPI 收集数据。 此时、我不确定在 UART 模式下使用 GUI 作为接收器缺少什么内容。


    吴约瑟

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

    Joseph、
    感谢您的帮助、我将尝试解决这个问题