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-Q1:PGA460-Q1

Guru**** 2540720 points
Other Parts Discussed in Thread: PGA460-Q1, PGA460, ENERGIA, MSP430F5529

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/594285/pga460-q1-pga460-q1

器件型号:PGA460-Q1
主题中讨论的其他器件: PGA460ENERGIAMSP430F5529

我们有 PGA460-Q1评估模块、所有东西都能完美地适用于我们的应用。  我们正在尝试观察 PC 发送和接收到评估板的 RX 和 TX 串行数据。  我们可以在示波器上清楚地看到55以及所有 RX 和 TX 波形。  我们使用简单的3.3V 至 RS-232转换器来观察  串行监视器上的十六进制数据。  数据是随机的00 FF 0C.... 但我们无法确定 EVM 使用的波特率。

我知道它在55上自动波特、但我们的串行监视器不能自动波特。

当 EVM 执行所有寄存器传输和命令时、波特率是多少?  115K、9.6K…… 似乎不起作用。

谢谢、Peter

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

    默认情况下、EVM 波特率设置为115.2kBaud、但可以设置为较低的值(低至9.6kBaud)。

    您能否提供从 PC 传输到 PGA460的示例 UART 字符串? 请确保使用两个结束/停止位、无奇偶校验和无流量控制。

    此外、PGA460软件开发指南[PGA460软件开发指南]和 PGA460 Energia 库和代码示例(版本1.0.0)[http://www.ti.com/lit/zip/slac741]可能对您的代码开发和调试非常有用。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    PGA460工作正常、且 Eval 软件非常出色。  我们可以通过 Rx Tx 从我们同样基于 MSP430的产品直接向 PGA460发送和接收数据。  无论如何、我们希望偶尔使用评估软件。

    PGA460评估使用背负式 TI MSP 430 Launchpad 开发板。  如果我们将 RS-232 PC 连接到3.3V 115Kbaud 适配器并将其连接到 PGA460评估板上的 Tx 和 Rx 引脚(并绕过 TI Launchpad 板)、评估软件是否仍然工作?  我假设 TI Launchpad 仅通过 PGA460上的 Tx Rx 直接传递 USB 数据,因此,如果我们将 PC COM 端口直接连接到 Tx Rx ,PC 上的评估软件仍可正常工作?

    谢谢、Peter

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

    Peter、

    我很高兴听到您的 RS-232 PC 转串行适配器正在与 PGA460配合使用。 如果您的适配器的串行引脚不加载 LaunchPad 的 Tx/Rx 引脚、则将您自己的 PC 转串行适配器与 TI LaunchPad 配合使用时不会出现任何问题。

    MSP430F5529具有集成的 USB PHY、因此所有 GUI PC 到 LaunchPad 通信都独立于 PGA460 UART 引脚。

    请告诉我这是否适合您! 最坏的情况:您必须根据需要物理连接/断开 LaunchPad。

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

    另一个问题:

    然而、PGA460非常出色、它还能执行以下操作吗?:

    1) 1) PGA 评估软件能否存储特定压电传感器的设置值、以便我们无需在每次启动软件时手动设置频率、增益和阈值?  例如保存 PGA .cfg 文件

    2) 2)用户 EEPROM 能否用于存储所有阈值、增益、频率和默认加电值、以便主计算机不需要在每次加电时发送这些值?  许多值存储在 EEPROM 中似乎有点奇怪、但并非所有值都存储在 EEPROM 中、这样外部计算机仍必须加载这些值。  如果是、是否可以使用评估软件完成此操作?

    谢谢、Peter

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

    PGA460本身可以将设置值保存在其 EEPROM 空间中。 例如、如果您优化频率、脉冲计数、驱动电流、增益等、 您可以对器件的 EEPROM 进行刻录/编程以保存这些值。 如果您不希望将这些值刻录到 EEPROM 中、则 GUI 可以将所有寄存器值(包括包含阈值的易失性存储器)保存到.TXT 文件中。 然后、可以随时或将此.TXT 文件加载到其他器件。 这在六部分培训系列的最后一个视频中进行了演示: training.ti.com/ultrasonic-sensing-pga460-q1

    每当您使用 GUI 修改用户寄存器值时、实际上是从影子寄存器读取和写入、这些寄存器在器件首次通电时会从 EEPROM 加载值。 用户在每次器件加电/启动或复位时必须写入的唯一值是易失性阈值。 您提到的其他值应烧写到 EEPROM 中、这样它们将默认为您所使用的特定传感器和驱动器组合所需的值。

    如果您尚未观看迷你视频培训系列(总共不足一小时)、我建议您观看这些视频、简要了解 EVM+GUI。 请告诉我、您之后是否还有任何其他问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们使用了评估系统并监控串行流量。  有些回答毫无意义。
    请澄清?? 内容。  谢谢、Peter

    55 C9 1c 1a   请求频率1c=地址
        评估系统响应40 32 8d 00
    40 ??  这是 PGA 的地址是否为6?
    32=40kHz 频率
    8D?  响应中的8d 是多少
    00??
    ----------
    我们发送此命令5  我了解其他请求和设置命令
    55 ca 40 80 74    回显并检索2个结果
    55 c0 02 3D
    55 ca 40 00 F4
    55 c0 02 3D
    55 C5 3a
    55 ca 40 00 F4                       
    55 C9 4c E9
    55 C9 4D e8
    55 C9 1f 17.    

    它以这种情况作出响应
    40 00 c0 ff 29 5c ff 79 00 //响应295f us=1.828m ,正确!
    40 ??  这是什么??
    00 ??
    C0 ??
    FF ??
    FF ??
    29 5c 为0295C 十六进制为1.828m ping、正确
    FF 是宽度?
    FF 是振幅?  为什么这么高?
    79??  
    00??   

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

    尊敬的 Peter:
    在回答[AW]之前、我会在线回答您的问题。

    55 C9 1c 1a 请求频率1c=地址
    •评估系统响应40 32 8d 00
    •40?? 这是 PGA 的地址是否为6? [AW]否、这是 UART 诊断字段字节。 PGA460始终以诊断字段字节启动其响应、以通知用户接收到最后一条命令并成功处理或未成功处理。 值0x40表示无错误。 有关此字节的详细信息、请参阅数据表的第7.3.6.2.1.7节"诊断字段"。
    •32=40kHz 频率[AW]正确。
    •8D? 什么是8d 响应[AW]这是 PGA460器件生成的 UART 校验和。 与诊断归档字节类似、PGA460始终使用校验和结束其 UART 传输、以检测数据中的错误。 校验和信息是可选的、可供主器件使用、但始终提供。 在此示例中,0x8D 是校验和值{ 0x40,0x32}。
    •00?? [AW]这不是 UART 返回的一部分、可以忽略。

    [AW]请参阅数据表的图28以查看 UART 寄存器读取响应示例、该示例解释了上述命令。 另请参阅表3 -接口命令列表以了解响应命令的每个字节的含义。

    ----------
    我们发送此命令5我了解其他请求和设置命令
    55 ca 40 80 74回显并检索2个结果
    55 c0 02 3D
    55 ca 40 00 F4
    55 c0 02 3D
    55 C5 3a
    55 ca 40 00 F4
    55 C9 4c E9
    55 C9 4D e8
    55 C9 1f 17.

    它以这种情况作出响应
    40 00 c0 ff 29 5c ff 79 00 //响应295f us=1.828m,正确!
    40?? 这是什么?? [AW] UART 诊断字节、如上所述。
    00?? [AW]物体1距离 MSB
    C0?? [AW]物体1距离 LSB
    FF?? [AW]对象1宽度
    FF?? [AW]物体1振幅
    29 5c 为0295C 十六进制为1.828m ping、正确无[AW]、对象2距离 MSB、LSB
    FF 是宽度? [AW]对象2宽度
    FF 是振幅? 为什么这么高? [AW]物体2振幅
    79?? [AW] PGA460计算出的校验和
    00?? [AW]空数据、忽略

    [AW]对象2的振幅和宽度为0xFF、因为它很可能是回波信号饱和且非常宽。 您需要降低 TVG 电平和/或数字增益乘法器以防止饱和。
    由于阈值电平和/或阈值毛刺脉冲计时器、对象1可能很早地触发。 有关 如何缓解此问题的详细信息、请参阅常见问题解答(FAQ)和 EVM 故障排除指南(www.ti.com/.../slaa733.pdf)中的常见问题解答5.2和5.6。

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

    您能否告诉我们如何通过从 PGA 中批量读取来获得正确的数据值。
    因为如果我通过批量命令读取、我无法正确读取前6个字节。 但在6个字节后、它恰好到达。
    EEPROM 批量读取命令和超声波测量结果命令都会发生相同的问题。
    我住在这里。 我可以精确读取回波数据转储、但不能读取超声波 MEAS 结果(物体距离)。
    请帮助我解决此问题。

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

    与数据转储存储器地址(0x80)类型一样、"超声波测量结果"有任何存储器地址、因此我可以逐字节正确读取。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我阅读应用手册 slaa733尝试"忽略初始突发和衰减..." 第18页、这样我只能查找1个对象、而不是在突发上看到这个初始交叉1、最后我的实际对象为#2。  我设置了阈值并使用增益进行了播放、但它仍然可以看到对象1的阈值和0.06M 的距离

    =设置最大阈值248

    =将增益1设置为最小值248。   也可以将尝试的增益1设置为最大值、但结果仍然相同。

    =阈值去毛刺脉冲 T 最大值为120us、这还不够。

    似乎没有办法使阈值大于初始突发的振幅、因此它始终会在0.06M 时看到它超过阈值。

    评估软件上是否存在我未正确设置的抗尖峰脉冲、增益或阈值?

    Petere2e.ti.com/.../LassosPGAcreenshots.pdf

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Peter:
    您有正确的想法、但您忘记了一个步骤来最大化初始阈值以忽略初始活动。 阈值偏移(朝向阈值页面底部)。 请参阅常见问题解答5.2和图17:对于阈值级别1-8、只有当阈值级别最大值为248且阈值偏移设置为最大正值+7时、才能达到255。 此偏移适用于所有1-8电平。

    您还可以尝试调整 Gener-->Receive 块上的 BPF 带宽和截止频率。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Pradeep、
    没有可直接读取超声波测量结果(UMR)的地址空间。 只能使用命令5来读取结果。 请注意、请务必将 DATADUMP_EN 位设置为"0"以启用 UMR 模式、并正确设置阈值。

    从 EEPROM 批量读取命令转出的前六个字节的值是多少?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Akeem Whitehead

    从 EEPROM 批量读取命令返回的前六个字节的值是多少?
    3.
    6.
    18
    30
    C0
    80
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    0
    C0
    32
    F0
    12.
    12.
    35.
    F5
    58.
    33.
    EF
    7C
    F
    70
    0
    0
    10.
    5.
    0
    这是我通过批量读取命令读取的内容。

    USER_Data1 = 0x00;

    USER_DATA2 = 0x00;

    USER_DATA3 = 0x00;

    USER_DATA4 = 0x00;

    USER_Data5 = 0x00;

    USER_DATA6 = 0x00;

    USER_DATA7 = 0x00;

    USER_DATA8 = 0x00;

    USER_DATA9 = 0x00;

    USER_DATA10 = 0x00;

    USER_DATA11 = 0x00;

    USER_DATA12 = 0x00;

    USER_DATA13 = 0x00;

    USER_DATA14 = 0x00;

    USER_DATA15 = 0x00;

    USER_DATA16 = 0x00;

    USER_DATA17 = 0x00;

    USER_DATA18 = 0x00;

    USER_DATA19 = 0x00;

    USER_DATA20 = 0x00;

    TVGAIN0 = 0x00;

    TVGAIN1 = 0x00;

    TVGAIN2 = 0x00;

    TVGAIN3 = 0x00;

    TVGAIN4 = 0x00;

    TVGAIN5 = 0x00;

    TVGAIN6 = 0x00;

    INIT_GAIN = 0xC0;

    频率= 0x32;

    死区时间= 0xF0;

    PULSE_P1 = 0x12;

    PULSE_P2 = 0x12;

    CURR_LIM_P1 = 0x35;

    CURR_LIM_P2 = 0xf5;

    REC_LENGTH = 0x58;

    FREQ_DIAG = 0x33;

    SAT_FDIAG_TH = 0xEF;

    FVOLT_DEC = 0x7C;

    DECPL_TEMP = 0x0F;

    DSP_SCALE = 0x70;

    TEMP_TRIM = 0x00;

    P1_GAIN_CTRL = 0x00;

    P2_GAIN_CTRL = 0x10;

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

    我还有一个疑问。 两个传感器配置的阈值是多少。 因为接收传感器中没有突发和衰减时间。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Akeem Whitehead

    我继续使用两个换能器在示例程序中的情况0的默认阈值进行进一步测试。

    好消息是、我在2.22米处找到了该物体

    不好的消息是、我也在屏幕截图中找到了杂散值、序列持续重复、直到杂散值10.84、之后我不会看到2.22或其他杂散值。 事实上,现在仍然是10.84,我可能会做错的事需要指导。

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

    您好 Pradeep、

    我能够运行 EEPROM 批量读取命令、而不会出现初始的六字节错误。 下面是一个屏幕截图、显示了通过 GUI 运行命令时的响应情况。 请注意、第一个字节应读出为0x40、这表示诊断字节、而不会从最后一个 UART 事务报告错误。 在运行批量 EEPROM 读取命令时以及之后(后续命令)、是否还会接收到0x40作为第一个响应字节?

    如何写入用户 EEPROM 空间的前六个字节? 是否使用了批量 EEPROM 写入命令? 如果是、请将您要发送的主器件发送序列发送给我以进行批量写入。

    使用双静态传感器配置时、该阈值无需考虑衰减曲线或时间、并且可以更线性地设置。

    "杂散"值可能是由于回波强度几乎不足以触发物体检测捕获、不会清除命令之间的串行缓冲器、串行读取速度太快、会损坏飞行时间数据、 或者您没有足够的时间在突发+监听命令之间传递。 如果尚未更新、请参阅 PGA460 Energia 库的最新版本(1.0.2)、该版本通过向串行读取时间添加额外裕量来帮助提高超声波测量结果的稳定性。

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

    我们 尝试使用2个换能器、希望物体距离约30毫米远。  第二个换能器似乎"听到"发射换能器、因此您实际上不会节省太多。  我们通过找到振铃时间较短的换能器而 不是使用2个换能器、取得了更好的成功。  我显然不知道您的应用、也不是 TI 员工专家 、但认为这可能会有所帮助。

    Peter

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

    如何写入用户 EEPROM 空间的前六个字节? 是否使用了批量 EEPROM 写入命令? 如果是、请将您要发送的主器件发送序列发送给我以进行批量写入。

    将 EEPROM 数据逐一存储到寄存器中
    2.将它们移动到缓冲区。
    3.使用软串行方式对其进行串行写入(我的 MCU 只有一个 UART)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们将从 TI 开发板、PC 和名为"Omega "的输出产品向 RX 线路发送数据的能力

    我们通过向 PGA 发送简单的读取命令进行了测试。  当从 TIDev 板 和 PC 发送时、它始终返回有效答案。

    拔出头发、尝试弄清楚为什么从我们的设备发送55 C9 1C 1A 时没有反应。

    PC 和我们器件的迹线叠加如下所示。  所有内容看起来都是相同的。  我只能认为输出波特率不是9600、所以它不响应。  有什么想法、当进入 RX 线的迹线看起来完全一样时、为什么我们无法让 PGA 做出响应?

    谢谢、Peter

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    让它正常工作、所以没关系。 我们更改了 MSP430上的时钟源、以获得9600波特时的更高精度。 尽管在示波器和串行监视器上看起来一切正常、但似乎 PGA 需要更精确的波特率来执行55上的自动波特。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Pradeep、

    下面是我要发送的内容的示例:

    命令12 EEPROM 批量写入:
    0C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 AA AA 00 00 00 C0 8C 00 01 12 07 FF 1C 00 EE 7C 0A 00 00 00 00 00 00 fA

    然后读回批量数据以验证寄存器值是否已正确更新

    命令11 EEPROM 批量读取:
    0b F4
    返回数据:
    40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 AA AA 00 00 00 C0 8C 00 01 12 07 FF 1C 00 EE 7C 0A 00 00 00 00 00 C6
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Peter、
    您的主器件的 UART 是否配置为8个数据位、2个结束/停止位、无奇偶校验、无流量控制? 默认情况下、大多数 UART 终端配置为1个结束/停止位、这仍将以低波特率与 PGA460搭配使用。 如果您已经配置了2个结束/停止位、则肯定会出现较低级的时钟问题。 您更喜欢使用哪种波特率?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们在 MSP430上更改为更精确的时钟、因此现在一切都很完美、它能满足我们的所有需求(目前)。  它似乎不像不精确的波特时钟。

    彼得

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

    这里的情况也一样。 但问题是、当我想从 PGA 取回任何内容时、PGA 器件总是很忙。 在主器件发出响应命令期间、我通过 PGA 的诊断命令检查 PGA 忙音。
    我已经完成了几乎所有的工作、例如批量写入、寄存器读取和写入、数据转储读取(获得精确的回波)、批量阈值写入。 但问题在于、我的软件串行无法正确读取批量读取命令(在某些情况下还会读取寄存器)。 我正在使用 Arduino Uno、因此需要使用 SoftwareSerial。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    PGA 传感器和我们基于 MSP430的产品之间有大约20英尺的导线。  我们为 PGA RX 线放置了一个驱动器芯片  

    msp430>驱动程序>--- PGA Rx。

    我们是否应该在 PGA 旁边放置一个驱动器芯片、以便将数据返回到 MSP430?  如果 PGA 的 TX 线路上有25mA 驱动器、则应在20英尺的双绞线上提供该驱动器。  我找不到 TX mA 驱动器规格。

    谢谢、Peter

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

    我们无法获取新的 PGA 来使用 RX 和 TX 进行通信。  我从工作中的 PGA 读取存储器、并将其保存到新的不工作 PGA 中、并将其保存到 EPROM 中。  现在它进行通信。  

    哪些寄存器发生了变化、使其突然工作?  
    它的工作是否与地址1E 中的 IO_DIS 位有关?  如果是、我们如何在新器件上启用 RX TX?  

    我们是否将1E 编程到24、然后存储 EEPROM 以强制 RX TX 在新器件上工作?

    ;GRGE_USER_MEMSPACE
    00 (USER_DATA1)、00
    01 (USER_DATA2)、00
    02 (USER_DATA3)、00
    03 (USER_DATA4)、00
    04 (USER_Data5)、00
    05 (USER_DATA6)、00
    06 (USER_DATA7)、00
    07 (USER_DATA8)、00
    08 (USER_DATA9)、00
    09 (USER_DATA10)、00
    0A (USER_DATA11)、00
    0b (USER_DATA12)、00
    0C (USER_DATA13)、00
    0D (USER_DATA14)、00
    0E (USER_DATA15)、00
    0f (USER_DATA16)、00
    10 (USER_DATA17)、00
    11 (USER_DATA18)、00
    12 (USER_DATA19)、00
    13 (USER_DATA20)、00
    14 (TVGAIN0)、8D
    15 (TVGAIN1)、EE
    16 (TVGAIN2)、EF
    17 (TVGAIN3)、10
    18 (TVGAIN4)、A5
    19 (TVGAIN5)、20
    1A (TVGAIN6)、FC
    1b (INIT_GAIN)、40
    1C (频率)、32
    1D (死区时间)、F3
    1E (PULSE_P1)、24
    1F (PULSE_P2)、C0
    20 (CURR_LIM_P1)、5C
    21 (CURR_LIM_P2)、7F
    22 (REC_LENGTH)、67
    23 (FREQ_DIAG)、11
    24 (SAT_FDIAG_TH)、22
    25 (FVOLT_DEC)、69
    26 (DECPL_TEMP)、40
    27 (DSP_SCALE)、00
    28 (TEMP_TRIM)、00
    29 (P1_GAIN_CTRL)、19
    2A (P2_GAIN_CTRL)、22
    2B (EE_CRC)、73
    40 (EE_CNTRL)、00
    41 (BPF_A2_MSB)、85
    42 (BPF_A2_LSB)、8D
    43 (BPF_A3_MSB)、F9
    44 (BPF_A3_LSB)、A5
    45 (BPF_B1_MSB)、03
    46 (BPF_B1_LSB)、2D
    47 (LPF_A2_MSB)、7E
    48 (LPF_A2_LSB)、67
    49 (LPF_B1_MSB)、00
    4A (LPF_B1_LSB)、CD
    4B (TEST_MUX)、00
    4C (DEV_STAT0)、80
    4D (DEV_STAT1)、21
    5F (P1_THR_0)、A8
    60 (P1_THR_1)、77
    61 (P1_THR_2)、77
    62 (P1_THR_3)、77
    63 (P1_THR_4)、8A
    64 (P1_THR_5)、AB
    65 (P1_THR_6)、FF
    66 (P1_THR_7)、F3
    67 (P1_THR_8)、6A
    68 (P1_THR_9)、45
    69 (P1_THR_10)、ED
    6A (P1_THR_11)、50
    6B (P1_THR_12)、46
    6C (P1_THR_13)、32
    6D (P1_THR_14)、2D
    6e (P1_THR_15)、07
    6F (P2_THR_0)、61
    70 (P2_THR_1)、6E
    71 (P2_THR_2)、65
    72 (P2_THR_3)、C9
    73 (P2_THR_4)、54
    74 (P2_THR_5)、58
    75 (P2_THR_6)、C6
    76 (P2_THR_7)、80
    77 (P2_THR_8)、直流
    78 (P2_THR_9)、39
    79 (P2_THR_10)、02
    7A (P2_THR_11)、42
    7B (P2_THR_12)、DD
    7C (P2_THR_13)、0C
    7D (P2_THR_14)、89
    7E (P2_THR_15)、85
    7F (THR_CRC)、be
    EOF

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Peter:
    出于好奇、您是否尝试缩短线缆长度以确定这是否会影响 UART 通信的成功率? 您可以正确地假设20英尺的电缆不会导致通信失败。 我假设电源和接地也以20英尺的距离进行布线?

    无论 IO_DIS 位设置为什么值、UART Tx/Rx 通道都将始终响应。 IO_DIS 仅影响 IO 引脚上的通信模式。

    我已将您的配置加载到 GUI。 我注意到以下几点:
    •我注意到的第一个问题是、该存储器配置假定 UART_ADDR 为'6'、而不是默认的'0'。 我将配置的 UART_ADDR 更改为"0"。
    •预设的二次突发脉冲设置为"0"、因此不会产生发射能量。 我将其增加到16。
    •时间去耦合设置为最小值。 我假设您没有使用去耦功能、因为我在原理图上看不到它已连接。 我将最大程度地将此值提高到65.536ms、以防止出现任何可能的误报。
    •由于您使用的是变压器驱动器模式、因此没有理由将死区时间设置为非零值。 将死区时间设置为0us。
    •阈值是随机的。 我假设您在保存存储器网格之前没有清除 THR_CRC_ERR。 我将阈值更新为中间代码值、以便 THR_CRC_ERR 以合理的值清除。

    应用上述更改后、这是新的已更改存储器映射:

    ;GRGE_USER_MEMSPACE
    00 (USER_DATA1)、00
    01 (USER_DATA2)、00
    02 (USER_DATA3)、00
    03 (USER_DATA4)、00
    04 (USER_Data5)、00
    05 (USER_DATA6)、00
    06 (USER_DATA7)、00
    07 (USER_DATA8)、00
    08 (USER_DATA9)、00
    09 (USER_DATA10)、00
    0A (USER_DATA11)、00
    0b (USER_DATA12)、00
    0C (USER_DATA13)、00
    0D (USER_DATA14)、00
    0E (USER_DATA15)、00
    0f (USER_DATA16)、00
    10 (USER_DATA17)、00
    11 (USER_DATA18)、00
    12 (USER_DATA19)、00
    13 (USER_DATA20)、00
    14 (TVGAIN0)、8D
    15 (TVGAIN1)、EE
    16 (TVGAIN2)、EF
    17 (TVGAIN3)、10
    18 (TVGAIN4)、A5
    19 (TVGAIN5)、20
    1A (TVGAIN6)、FC
    1b (INIT_GAIN)、40
    1C (频率)、32
    1D (死区时间)、F0
    1E (PULSE_P1)、24
    1F (PULSE_P2)、10.
    20 (CURR_LIM_P1)、5C
    21 (CURR_LIM_P2)、7F
    22 (REC_LENGTH)、67
    23 (FREQ_DIAG)、11
    24 (SAT_FDIAG_TH)、22
    25 (FVOLT_DEC)、69
    26 (DECPL_TEMP)、4F
    27 (DSP_SCALE)、00
    28 (TEMP_TRIM)、00
    29 (P1_GAIN_CTRL)、19
    2A (P2_GAIN_CTRL)、22
    2B (EE_CRC)、CF
    40 (EE_CNTRL)、00
    41 (BPF_A2_MSB)、85
    42 (BPF_A2_LSB)、8D
    43 (BPF_A3_MSB)、F9
    44 (BPF_A3_LSB)、A5
    45 (BPF_B1_MSB)、03
    46 (BPF_B1_LSB)、2D
    47 (LPF_A2_MSB)、7E
    48 (LPF_A2_LSB)、67
    49 (LPF_B1_MSB)、00
    4A (LPF_B1_LSB)、CD
    4B (TEST_MUX)、00
    4C (DEV_STAT0)、80
    4D (DEV_STAT1)、00
    5F (P1_THR_0)、88
    60 (P1_THR_1)、88
    61 (P1_THR_2)、88
    62 (P1_THR_3)、88
    63 (P1_THR_4)、88
    64 (P1_THR_5)、88
    65 (P1_THR_6)、84
    66 (P1_THR_7)、21
    67 (P1_THR_8)、08
    68 (P1_THR_9)、42
    69 (P1_THR_10)、10
    6A (P1_THR_11)、80
    6B (P1_THR_12)、80
    6C (P1_THR_13)、80
    6D (P1_THR_14)、80
    6e (P1_THR_15)、00
    6F (P2_THR_0)、88
    70 (P2_THR_1)、88
    71 (P2_THR_2)、88
    72 (P2_THR_3)、88
    73 (P2_THR_4)、88
    74 (P2_THR_5)、88
    75 (P2_THR_6)、84
    76 (P2_THR_7)、21
    77 (P2_THR_8)、08
    78 (P2_THR_9)、42
    79 (P2_THR_10)、10
    7A (P2_THR_11)、80
    7B (P2_THR_12)、80
    7C (P2_THR_13)、80
    7D (P2_THR_14)、80
    7E (P2_THR_15)、00
    7F (THR_CRC)、28
    EOF
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Akeem、

    我假设问题是地址。  RxTx 在加载文件并保存 EPROM 后变得栩栩如生、因此我假设它与寻址有关。  较短的电缆没有影响。

    如果我们使用去耦晶体管和时间去耦、我们能否检测到接近20英寸的物体?  现在、我们看到初始振铃过大、因此检测不到小于20英寸。  小于20英寸会更好。  我已经被电流和脉冲所迷惑了、它在20英寸的距离内没有太大帮助、但仍然能够完成10英尺的任务。

    我们仅使用预设1突发监听。  我们是否需要设置 P2_Pulse 以使用 preset1进行输出(令人困惑)?  P2_PULSE 是否与预设1有关、而不是与地址有关?

    我不知道为什么阈值是随机的(可能在 创建文件之前忘记重新加载阈值)。  它们在图中很好。

    谢谢、Peter

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Peter:
    去耦晶体管不会给短距离检测带来任何好处。 您应该能够按原样查看20英寸(0.5m)内的物体。 不过、您可以通读另一个主题的讨论、了解如何在将传感器调谐电容值从1500pF 更改为680pF 后测量低至0.1m 的电流、并将阻尼电阻从2.7kOhm 更改为10kOhm。 该主题如下:
    e2e.ti.com/.../609638

    名为 P2_PULSE 的寄存器恰好包含整个器件的 UART_ADDR、但对预设1没有其他影响。
    预设1和2彼此完全独立。 如果您不使用预设2、则 P2脉冲计数可以为"0"。预设的描述最好如 EVM 用户指南中所述:

    Presets (预设)—可以保存两个预设配置、以便在的两个不同用例之间切换
    相同的硬件配置。 典型的最佳做法是为短距离分配预设1
    (即在<30cm 至1m 之间)、并为远距离(在1m 至7m 之间)分配预设2。 数字
    突发脉冲和驱动器电流限制决定了发射信号的驱动强度。
    记录时间长度决定了监听模式激活捕获的时间长度
    并计算等效距离的超声波数据。

    可以配置单个预设来检测短距离和长距离。 这就是 TVG 和数字增益乘法器变得特别有用的地方。 如果您看不到20英寸以下的尺寸、请确保初始 TVG 增益和增益范围不会过大、并且您的数字增益乘法器设置为低值(x1或 x2)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Akeem Whitehead

    Arduino Uno 的 UART 具有1个开始位、8个数据位、1个停止位、无奇偶校验。 但我不知道软件串行 UART 协议。 这会导致 UMR 批量读取出现任何问题。 正如我在前面的帖子中提到的、我一直在阅读 UMR。 我获得了良好的数据转储结果、但我不是数据转储中的 UMR 结果。 它肯定是 UMR 中的随机结果。 我将硬件 UART 用于串行监视器、并将软件串行器用于与 PGA 通信。 请给我推荐一个好方法,因为我在过去2个月就一直被卡住了。

    谢谢您的帮助
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Pradeep、
    如果您的数据转储结果正常、那么您应该能够使您的 UMR 正常工作。
    确保您具有:
    •将 DATAMUMP_EN 位设置为"0"以禁用回波数据转储模式、并启用对象检测模式。 (注意:当 DATAMUMP_EN 位设置为1时、不能进行对象检测。)
    •使用适当的电平和时序值设置阈值映射。 尝试一组固定/中间代码的值。
    •允许预设记录长度值在尝试读回 UMR 值之前过期。
    •在 DSP 斜坡触发对象1的早期假正数时、将要检测的对象数增加到大于"1"的值。

    PGA460数据表最近已更新、以反映表3中正确的 UART 命令列表。 请确保您已下载数据表的修订版 A、网址为:
    www.ti.com/.../pga460-q1
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Akeem Whitehead、您好!

    最后、我从 PGA 460获取 UMR 结果。 我将软串行更改为正常的硬件 UART。
    现在、我的问题是、我的最小可测量距离为20英寸。 被蒙住眼区、直至20英寸。
    使用两个换能器、一个用于 Tx、一个用于 Rx。 您能不能建议我如何解决这个问题。

    连接用于双静态传感器配置的去耦电路所必需的。 如有必要、该配置的电路连接是什么。


    感谢您以前提出的建议和指导原则。

    谢谢你

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Pradeep、
    20英寸(50cm)是几乎适用于任何传感器配置(单静态或双静态)的超长盲点区。
    去耦引脚始终是可选的、无论是单静态还是双静态、并且双静态模式都不需要该引脚。 如果未使用、请确保 DECPL 引脚悬空。

    您可以查看以下几项:
    1) 1)将 AFE 增益范围减小到32-64dB
    2) 2)将数字增益乘法器减小到 x1
    3) 3)禁用非线性缩放

    随着这些噪声和衰减的降低、您的盲区现在何时结束?

    您可以采取其他步骤来减少盲点:
    1) 1)根据您的驱动器模式、添加与传感器并联的无源调优。 对于直接驱动、只需添加并联阻尼电阻器(1k-10kOhm)。 对于变压器驱动器、请尝试添加阻尼电阻器和调谐电容器。 《PGA460超声波模块硬件和软件优化应用手册》(www.ti.com/.../slaa732)中介绍了无源调优。
    2) 2)对于弱电驱动器、将基准电压降至6V 至7V。

    您能否指定正在使用的传感器器件型号并提供批量 EEPROM 设置?