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.

[参考译文] DRV8245-Q1:预量产样片 PDRV8245SPWPQ1的器件 ID 是什么?

Guru**** 2482225 points


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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1177918/drv8245-q1-what-is-the-device-id-of-the-pre-production-samples-pdrv8245spwpq1

器件型号:DRV8245-Q1

我正在为  DRV8245编写 SPI 驱动程序并在预量产芯片样片上进行测试。 到目前为止、我正在从器件 ID 请求中获取随机值。 这可能是我的通信代码中的一个错误、但很难确定。

 预量产样片应提供什么器件 ID?

2.目前无法使驾驶员工作。 控制信号在 EN 引脚上具有正确的20kHz PWM、在 PH 引脚上具有方向信号。 但是、尽管在每个 SPI 数据包的 HDR2字节中设置了 CLR_FLT 位、nFAULT 引脚仍保持有效。  我还尝试读取 FAULT_SUMMARY 寄存器、POR 和 VMOV 位始终置位。 同样、这可能是我的通信代码中的一个错误、因为 VM 仅为24V。

  启动后、我是否需要通过 CLR_FLT 位发送单独的命令寄存器写入请求、或者将全局 CLR_FLT 位 嵌入到 HDR2中是否足够了?

3. 数据表不清楚 命令字节的 MSB 位。 它显示"MSB 位表示帧类型(标准帧的位 B15 = 0)。"、但它没有提到菊花链帧、除了"命令、数据、状态和报告字节与标准帧格式中描述的相同"。

那么、如果命令字节保持不变、为什么它具有帧类型位?

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

    更新了:我已经向  HDR2添加了5位数据包计数器、但我没有将其返回到接收缓冲器中。 因此、通信存在问题、这说明了我无法清除故障标志的原因。

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

    您好、Marukh、

    感谢您的提问。 让我在24小时内对其进行回顾并向您提供反馈。

    此致

    Shinya Morita

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

    更新2:添加了请求和响应包的完整打印输出和解析。 HDR2中的数据包计数器似乎正确进入、因此 SPI 必须工作。 但其余的通信非常令人困惑、看起来像是随机数据。 下面是我的注释打印输出、您可能对此有任何了解。 菊花链中有2个驱动器、但我仅使用第一个驱动器。 第二个只会在每次都收到"读取故障"请求。  负载尚未连接。

    nFault 引脚= 1
    正在等待唤醒 ACK
    nFault 引脚= 0
    --请求----
    HDR1:2个节点
    HDR2:CLR_FAULT 标志位=21   全局 CLR_FAULT 位在每个标头中设置、每个请求都会使标志递增
    2号标准帧读取故障
    1标准帧写入命令:CLR_FLT SPI_IN=LOCK REG_LOC=OFF     CLR_FLT 写入命令寄存器
    82 B5 41 8 0 80
    反应----
    2状态:故障
    1状态:故障
    HDR1:2个节点
    HDR2:CLR_FAULT 标志符=21
    2 (读取)故障:POR             为什么 POR 已设置? 初始上电后是否正常?
    1 (写入)命令:SPI_IN=LOCK REG_LOC=OFF
    E0 E0 82 B5 60 9.
    --请求----
    HDR1:2个节点
    HDR2:CLR_FAULT 标志符=22
    2号标准帧读取故障
    1标准帧写入 CONFIG2:S_DIAG=禁用 S_ITRIP=2.97V    、尝试禁用 S_DIAG 并更改 S_ITRIP 电平
    82 B6 41 B 0 7
    反应----
    2状态:故障
    1状态:故障
    HDR1:2个节点
    HDR2:CLR_FAULT 标志符=22
    #2 (读取)故障:POR OLA          为什么现在除了 POR 之外还设置了 OLA?
    1 (写入) CONFIG2:S_DIAG=禁用 S_ITRIP = 1.65V
    E0 E0 82 B6 41 B
    --请求----
    HDR1:2个节点
    HDR2:CLR_FAULT 标志符=23
    2号标准帧读取故障
    1号标准帧读取 CONFIG2        读取 S_DIAG 和 S_ITRIP
    82 B7 41 4B 0 0
    反应----
    2状态:无效前缀0                  从现在开始、所有返回的状态字节在 MSB 中没有11b!!!
    1状态:无效前缀0 OCP TSD SPI_ERR    这些错误毫无意义
    HDR1:2个节点
    HDR2:CLR_FAULT 标志符=23
    #2 (读取)故障:POR OLA
    1 (读取) CONFIG2:S_DIAG=ENABLED S_ITRIP=1.65V      CONFIG2寄存器未按要求更改。 我们是否处于 DIAG 模式?
    0 7 82 B7 41 4B
    --请求----
    HDR1:2个节点
    HDR2:CLR_FAULT 标记器=24
    2号标准帧读取故障
    1标准帧读取 DEVICE_ID
    82 B8 41 40 0 0
    反应----
    2状态:无效前缀0
    1状态:无效前缀0
    HDR1:2个节点
    HDR2:CLR_FAULT 标记器=24
    #2 (读取)故障:POR OLA
    1 (读取)未知64              器件 ID = 0x40。 这对于预量产样片是正常的吗?
    0 0 82 B8 41 40
    --请求----
    HDR1:2个节点
    HDR2:CLR_FAULT 标志符=25
    2号标准帧读取故障
    1号标准帧读取故障
    82 B9 41 41 0 0
    反应----
    2状态:无效前缀0
    1状态:无效前缀0
    HDR1:2个节点
    HDR2:CLR_FAULT 标志符=25
    #2 (读取)故障:POR OLA
    1 (读取)故障:POR OLA
    0 0 82 B9 41 41
    --请求----
    HDR1:2个节点
    HDR2:CLR_FAULT 标志符=26
    2号标准帧读取故障
    1标准帧读取状态1
    82 BA 41 42 0 0
    反应----
    2状态:无效前缀0
    1状态:无效前缀0
    HDR1:2个节点
    HDR2:CLR_FAULT 标志符=26
    #2 (读取)故障:POR OLA
    1 (读取)状态1:OLA2 OCP_H2         现在还检测到接地短路?
    0 0 82 BA 41 42
    --请求----
    HDR1:2个节点
    HDR2:CLR_FAULT 标志符=27
    2号标准帧读取故障
    1号标准帧读取 STATUS2
    82 BB 41 43 0 0
    反应----
    2状态:无效前缀0
    1状态:无效前缀0
    HDR1:2个节点
    HDR2:CLR_FAULT 标志符=27
    #2 (读取)故障:POR OLA
    #1 (读取) STATUS2:OLP
    0 0 82 BB 41 43
    --请求----
    HDR1:2个节点
    HDR2:CLR_FAULT 标志符=28
    2号标准帧读取故障
    1标准帧读取命令
    82 BC 41 48 0 0
    反应----
    2状态:无效前缀0
    1状态:无效前缀0
    HDR1:2个节点
    HDR2:CLR_FAULT 标志符=28
    #2 (读取)故障:POR OLA
    1 (读取)命令:SPI_IN=LOCK REG_LOC=OFF
    0 0 82 BC 41 48
    --请求----
    HDR1:2个节点
    HDR2:CLR_FAULT 标志符=29
    2号标准帧读取故障
    1标准帧读取 CONFIG1
    82 BD 41 4A 0 0
    反应----
    2状态:无效前缀0
    1状态:无效前缀0
    HDR1:2个节点
    HDR2:CLR_FAULT 标志符=29
    #2 (读取)故障:POR OLA
    1 (读取) CONFIG1:VMOV_SEL =禁用 SSC_DIS OCP_RETRY 复   位后、VMOV_RETRY 位应为0
    0 0 82 BD 41 4A
    --请求----
    HDR1:2个节点
    HDR2:CLR_FAULT 标志符=30
    2号标准帧读取故障
    1号标准帧读取 CONFIG3
    82应为41 4C 0 0
    反应----
    2状态:无效前缀0
    1状态:无效前缀0
    HDR1:2个节点
    HDR2:CLR_FAULT 标志符=30
    #2 (读取)故障:POR OLA
    1 (读取) CONFIG3:TOFF=30 usec S_SR=3 S_MODE=PH/EN
    0 0 82应为41 4C
    正在等待清除故障 ACK              在这里、程序会一直循环、等待 FAULT 引脚取消置位

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

    您好、Marukh、

    感谢您的提问。

    这是器件 ID。 如果 deivce ID 为0x30、我强烈建议停止评估并替换为新样片。 一年多前、我们转向了最终产品。

    我建议从正常 SPI 通信开始、而不是以菊花链操作来确认器件 ID 和基本功能。  

    标准帧(数据表8.4.2)是  

    读取"device_ID"地址0x00h 是检查器件 ID 的方法。 对于标准框架、即使是预量产样片、也不会出现问题。

    此致

    Shinya Morita

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

    您好!

    根据您的建议、我已将设置从菊花链更改为单芯片。 下面是打印输出:

    --请求----
    标准帧(写入)命令:CLR_FLT SPI_IN=LOCK REG_LOC=OFF   将 CLR_FLT 写入命令寄存器
    8 80
    反应----
    状态:故障
    (写入)命令:SPI_IN=LOCK REG_LOC=OFF
    E0 9.                              正确答案
    --请求----
    标准帧(读取) DEVICE_ID             正在读取 DEVICE_ID 寄存器
    40 0
    反应----
    状态:故障
    (读取) PDRV8245S-Q1
    E0 50.                            正确响应、 PDRV8245S 的器件 ID 为0x50、但故障不会清除!
    --请求----
    标准帧(读取) DEVICE_ID             再次读取 DEVICE_ID 寄存器
    40 0
    反应----
    状态:无效前缀0
    (读取) PDRV8244S-Q1
    0 40.                              无效响应!  状态字节中的两个 MSB 位应为11

    从现在开始、对任一命令的响应在第一个字节中为0、在第二个字节中为传入命令的副本

    这是已知行为吗? 当然、我们希望使用生产芯片。 遗憾的是、我们的任何经销商都没有。

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

    您好!

    感谢您的更新。 我将在24小时内进行审核和反馈。

    此致

    Shinya Morita

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

    您好!

    感谢您的反馈。 这很奇怪 不确定是如何发生的、但 SPI 通信中有一些问题。 让我尝试提出以下审判程序。

    1) 1)建议尝试"只读"device_ID"。 无其他 SPI 通信。 电源->nSLEEP 从低电平更改为高电平->等待较长的时间(>1sec)、然后尝试读取器件 ID 2-3次。

    2) 2)如果没有1不起作用、我建议捕获 SPI 的波形。 CLK、SDI、nSCS、SDO。 然后检查时序(7.6 SPI 时序要求和 VIH/VIL 电平)。

    此致

    Shinya Morita