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.

[参考译文] PGA460:PGA460未响应 ESP Arduino

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/601670/pga460-pga460-is-not-responding-with-esp-arduino

器件型号:PGA460
Thread 中讨论的其他部件:, ENERGIA

您好!

我们使用带 ESP32 Arduino 的 PGA460进行超声波传感器控制。

我们能够将数据从 ESP32发送到 PGA460、但无法从 PGA 接收确认。

请告诉我们解决方案。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Padmaraj,
    如果您没有从 PGA460-Q1接收数据、则主发送命令数据/结构可能不正确。
    您是否正在使用 UART? 您是否使用 PGA460 Energia 库和示例作为参考? 如果是、您能否向我发送一个从主器件传输的命令序列示例?

    例如:
    UART 地址0的预设2突发和侦听3个对象的示例为:
    0x55、0x01、0x03、0xFB
    其中0x55是同步字节
    0x01是 UART 地址和命令#
    0x03是要检测的对象数
    0xFB 是 UART 校验和

    请以相同的格式提供您的示例。

    您发送的命令是什么、但没有收到响应? 并非所有命令都会自动提示 PGA460提供响应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、先生、

    感谢你的答复。

    我们使用 的是 esspressif 的 UART 2。 数据发送正常、已在串行 终端窗口中检查。

    UART 地址写入阈值的一个示例是:

    0x55、0x50、Data0、data1…… 0x35 (校验和)。

    但在阈值中、UART 2的批量读取地址为:

    0x55、0x4F、0xBO

    我无法读取正确的阈值数据,并且只获得0xFF。。

     该命令是否适用于 UART2地址?

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

    您好、Padmaraj、

    如果我理解正确、您将尝试在 PGA460 UART_ADDR 2上执行阈值批量读取命令15。

    您正在为以下特定命令发送正确的 UART 序列:0x55、0x4F、0xB0

    您是否确认您的主设备正在使用9.6-115.2kBaud、8个数据位、2个停止位、无奇偶校验和无流量控制之间的波特率?

    您是否确定主器件的 TXD 连接到 PGA460的 RXD、反之亦然?

    您是否能够从 PGA460获得任何响应? 默认地址为"0"、因此尝试为 同一命令发送0x55、0x0F、0xF0。

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

    在 ESP32上、PGA460Q1不会对 UART1或 UART2做出响应(我们无法分配 UART0、因为它已被使用)、并且 TI 提供的 PGA460代码无法读取 UART2上的128字节传感器数据转储。 在"runEchoDataDump"和"pullEchoDataDump"的两个函数之间、代码似乎无法在 UART2上设置/获取结果。 UART0在 PGA460 EVM 上工作、但无法测试 UART1。我已检查 UART2是否独立工作。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Akeem、您好!

    根据您的建议、我们尝试了 ESP Arduino 的 UART0、它工作正常、但我们无法使用 UART0、因为它已被占用。

    我们已经针对 UART2而不是 UART0至 PGA460进行了设计。 我们无法通过 UART2从 PGA 获取响应。

    请告诉我们需要更改代码以使其正常工作。

    请您尽快回复我们的问题。 我们要求立即这样做。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,padmaraj,
    只需澄清一下、PGA460的 UART_ADDR 与主器件的 UART 通道编号无关。 因此、当在 ESP Arduino 上使用 UART2时、您仍然可以与默认的 PGA460 UART_ADDR "0"通信。 如果您的 UART0通道正在工作、则必须以相同的方式利用 UART2 (请勿更改代码)。 就 PGA460而言、Arduino UART 通道可标记为 UART-A 和 UART-B、或 UART-Red 或 UART-Blue。

    您是否尝试使用 UART2与 PGA460 UART 地址"0"通信?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Akeem:

    我尝试  使用 UART2与 PGA460 UART 地址"0"进行通信、但使用 ESP 的 UART 2时、它不起作用。

    我可以使用带有垃圾邮件的 UART0 (因为我使用相同的 UART 进行转储和打印)获得结果,但不能使用 UART2获得结果。

    以下是日志、

    使用所选设置配置 PGA460。 等待...
    错误-未接收数据!
    系统诊断-频率(kHz):INF
    系统诊断-衰减周期(us):0.00
    错误-未接收数据!
    系统诊断-温度(C):-42.67
    错误-未接收数据!
    系统诊断-噪音级别:0.00
    正在检索回波数据转储配置文件。 等待...
    255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,2
    55、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、25、25。25
    5、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255、255
    255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
    255、255、255、255、
    EEPROM 编程成功。
    错误-未接收数据!
    错误-未接收数据!
    读取测量结果时出错...

    请您尽快回复。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否正在使用 Energia 库的版本1.0.2? 这将确保您使用的是最新版本的代码、该代码提供了多个错误修复和库改进。 您的输出被剪切与旧版本类似。

    使用 UART2时、是否更新 PGA460_USSC.cpp 文件以使用 ESP 的 UART2? 该库经过硬编码、仅为与 PGA460器件的 UART 通信启用 Serial1。

    您需要启动和更新 Serial1的任何实例。 (笑声) SERIAL2。 (或对 ESP 的 UART2端口的等效调用)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Akeem、您好!

    我们使用的是最新版本的 PGA 代码。

    使用 UART2时、我也更新.cpp 文件、但它仍然无法正常工作。

    我们发现的另一件事是、2分钟后、它会提供一些随机数据。

    请提出一些建议以使其正常工作。 我们自许多天以来一直在挣扎。

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

    Akeem、您好!

    请您尽快回复问题、因为我们希望这项工作能够很快完成。 我们已经投入生产、但由于此 UART 问题而卡住。

    请回复我们。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    帕德马拉伊、
    请原谅我的拖延;我上个星期已不在办公室。

    除非我能够查看您的源代码和最新原理图、否则我无法提供进一步的指导。 您能否提供这些文件?

    如果 UART0和 UART2的配置完全相同、则 UART2不起作用的原因是没有的。 我只能怀疑 UART2配置不正确、或者移植 Energia 库需要额外的串行配置才能与 Arduino 的 ESP32配合使用。

    您是否能够验证 UART1是否适用于 PGA460-Q1?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Akeem、

    PGA 传感器与 ESP 的 UART2配合使用。  但是、数据的范围始终在1.65m 至1.68m 之间、即使在 MSP430中也是如此、在我附加了日志的下方、请仔细阅读。

    我选择的是频率为40kHz 的(Murata MA40H1S-R)传感器、即使存在物体、距离范围也不会改变。请检查它、并尽快告诉我您的建议。

    谢谢你

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Padmaraj、
    您可能需要根据 GUI 的配置更改/优化 PGA460_USSC.cpp 库文件中的默认值。

    我最近注意到 MA40H1SR 默认值示例的版本1.0.2中有一个错误(案例1:// MA40H1SR)。 预设2命令有0个脉冲;解决方法是:
    PULSE_P2 = 0x10;// AW 更新了1.0.3 //之前为0x00

    您是否曾尝试在 COM 端子上调整 TVG 增益范围和固定 TVG 电平? 对于 MA40H1SR、58-90dB 范围可能过高。 另外、请尝试将阈值设置为75%。

    您能否绘制或提供回波数据转储配置文件的完整字符串? 功能似乎正常工作、我认为这只是优化设置的问题。
x 出现错误。请重试或与管理员联系。