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.

[参考译文] DRV8899-Q1:上电时设置 OCP_LS1_A 位

Guru**** 2826755 points

Other Parts Discussed in Thread: DRV8899-Q1, DRV8899-Q1EVM

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1627193/drv8899-q1-ocp_ls1_a-bit-set-at-power-up

器件型号: DRV8899-Q1

您好团队:

问题:
芯片上电后会立即设置 DIAG 状态 1 的 OCP_LS1_A 位。 这会阻止步进电机正常运行(无法控制步进电机)。

根本原因:
由于 DRV8899 步进驱动器的硬件上电序列问题、OCP_LS1_A 会设置为 ECU 上电时的值。 当前的硬件布局如下:

  • DRVOFF 通过 10k 电阻器上拉。
  • nSLEEP 由一个 4.22k 电阻器上拉至 3.3V。

根据 DRV8899-Q1 数据表、所需的顺序为:

  1. nSLEEP =低电平且在 VM 斜升期间为 DRVOFF = HIGH。
  2. VM 有效后、等待 tREADY (~1ms)、然后设置 nSLEEP =高电平。
  3. 等待 tWAKE (~0.6ms–0.9ms) 以确保内部稳定。
  4. 通过 SPI 配置。
  5. 将 DRVOFF = LOW 设置为启用输出(仅在 VCP ~= VM + 5V 之后)。

当前硬件会过早地强制 nSLEEP 为高电平、从而违反步骤 1。 数据表建议在 nSLEEP 上设置强下拉电阻(约 4.7K)、以便在上电‑μ s 期间将其保持为低电平、因此仅当 MCU 将 nSLEEP 驱动为高电平时、器件才会唤醒。

约束:
硬件冻结、因此我们无法在 nSLEEP 上添加下拉电阻。 我们移除了上拉电阻器(nSLEEP 具有内部上拉电阻器)、但问题仍然发生。

电阻测量:

Coil    Measurement Type   Reference   Resistance (MOhm)
A       Coil-to-Coil       OUT1-OUT2   0.9
B       Coil-to-Coil       OUT1-OUT2   0.938
B1      Pin-to-VBAT        VBAT        2.0
B2      Pin-to-VBAT        VBAT        1.9
A2      Pin-to-VBAT        VBAT        1.834
A1      Pin-to-VBAT        VBAT        1.804
B1      Pin-to-GND         GND         1.132
B2      Pin-to-GND         GND         1.116
A2      Pin-to-GND         GND         1.059
A1      Pin-to-GND         GND         1.067

问题:
是否有任何权变措施可以防止 OCP_LS1_A 位在上电时置位而不在 nSLEEP 上添加下拉电阻器? 有没有其他建议可以在当前硬件限制下实现正常步进运行?

如有需要、我可安排会议作进一步讨论。

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

    其他信息

    CTRL4 控制寄存器中的 OCP_MODE 设置设置设置为 0。
    下面附加了线圈两端和 VBAT/GND 的电阻测量以供参考

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

    您好 Basavaraj、

    感谢您的发布。  

    [引用 userid=“675660" url="“ url="~“~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1627193/drv8899-q1-ocp_ls1_a-bit-set-at-power-up

    根本原因:
    由于 DRV8899 步进驱动器的硬件上电序列问题、OCP_LS1_A 会设置为 ECU 上电时的值。 当前的硬件布局如下:

    • DRVOFF 通过 10k 电阻器上拉。
    • nSLEEP 由一个 4.22k 电阻器上拉至 3.3V。

    根据 DRV8899-Q1 数据表、所需的顺序为:

    1. nSLEEP =低电平且在 VM 斜升期间为 DRVOFF = HIGH。
    2. VM 有效后、等待 tREADY (~1ms)、然后设置 nSLEEP =高电平。
    3. 等待 tWAKE (~0.6ms–0.9ms) 以确保内部稳定。
    4. 通过 SPI 配置。
    5. 将 DRVOFF = LOW 设置为启用输出(仅在 VCP ~= VM + 5V 之后)。
    [/报价]

    这不是硬性要求。 请向我们指明数据表中包含此信息的部分。 当 DRVOFF 上拉至逻辑高电平且 nSLEEP 为逻辑高电平和 3.3V 时、为 VM 上电是合法的。我使用 DRV8899-Q1EVM 进行了测试、其中 DRVOFF 和 nSLEEP 逻辑高电平均为 3.3V、DRVOFF = 0、nSLEEP = 1、并通过 12V 开启和关闭 VM。我没有看到任何 OCP 触发问题。 电机按预期运行。 即使 VM 电源持续进行多次开/关、也不会报告除 UVLO 之外的其他问题。  

    唯一的要求是上电或从睡眠 nSLEEP 低电平唤醒至高电平后、用户必须在开始 SPI 通信之前等待 tWAKE、这也是为了避免 SPI 事务丢失、但没有其他问题。  

    当前硬件会过早地强制 nSLEEP 为高电平、从而违反步骤 1。 数据表建议在 nSLEEP 上设置强下拉电阻(约 4.7K)、以便在上电‑μ s 期间将其保持为低电平、因此仅当 MCU 将 nSLEEP 驱动为高电平时、器件才会唤醒。[/报价]

    如前所述、这不是硬性要求。 请向 我们指明数据表中包含此信息的部分。

    请分享原理图。 我怀疑 AOUT1、2 和 DOUT 1、2 上可能有较大的容性负载。 我想查看原理图、看看导致此问题的原因是否有任何异常。 此操作期间的 CONFIG 寄存器设置和 VREF 电压设置是什么? 我在 1A 最大值下进行了测试 支持的电流且没有 OCP 问题。  

    [引用 userid=“675660" url="“ url="~“~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1627193/drv8899-q1-ocp_ls1_a-bit-set-at-power-up

    电阻测量:

    Coil    Measurement Type   Reference   Resistance (MOhm)
    A       Coil-to-Coil       OUT1-OUT2   0.9
    B       Coil-to-Coil       OUT1-OUT2   0.938
    B1      Pin-to-VBAT        VBAT        2.0
    B2      Pin-to-VBAT        VBAT        1.9
    A2      Pin-to-VBAT        VBAT        1.834
    A1      Pin-to-VBAT        VBAT        1.804
    B1      Pin-to-GND         GND         1.132
    B2      Pin-to-GND         GND         1.116
    A2      Pin-to-GND         GND         1.059
    A1      Pin-to-GND         GND         1.0
    [/报价]

    请确认 这些值是否以 MΩ(兆欧姆)为单位。 没有电机连接到 AOUT1、2 和 BaOUT1、2? 我也测试了这种情况、没有 OCP 问题。 我怀疑一些意外的负载电容器会导致该问题。 我希望查看原理图将有助于我们确定导致此问题的潜在原因。  

    此致、Murugavel   

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

    您好  Murugavel、   

    ‑您的反馈和有关上电序列的说明。

    请在下面找到您请求的信息:

    1.控制寄存器配置

    ‑是初始化期间使用的预加载配置值:

    CTRL1 – 0x0600  
    CTRL2 – 0x080F  
    CTRL3 – 0x0A30  
    CTRL4 – 0x0CB8
    

    步进电机通过进行控制 SPI(使用 DIR 和 STEP 位) 、而不是通过端口控制。

    2.线圈电阻测量

    如前所述、电阻值确实位于中 兆‑Ω 距离。

    3.电机输出端的负载电容

    我们检查了电容 AOUT1、AOUT2、BOUT1 和 BOUT2 线。

    • 不存在‑μ F 高电容分量。
    • 每个输出引脚只有一个 ~4.7nF ESD 电容器 没有什么比这更好的了。

    4.原理图分享

    由于机密性限制、我们无法通过电子邮件共享原理图。
    不过、我们可以在 A 中展示并讨论原理图 简短的技术会议 ,如果这对你有用。

    5.请求指导

    如果有 其他权变措施或诊断步骤 我们可以尝试避免在当前硬件限制下功率‑时 OCP_LS1_A 置位、请让我们知道。 我们已准备好根据需要测试其他情景。

    我们感谢您在确定根本原因和找到可行解决方案方面的支持。

    请告知我们您是否可以参加一个简短的会议。

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

    您好 Basavaraj、

    我们的步进电机通过进行控制 SPI(使用 DIR 和 STEP 位) 、不通过端口控制。

    对于 OCP 检测、这无关紧要。

    [引用 userid=“675660" url="“ url="~“~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1627193/drv8899-q1-ocp_ls1_a-bit-set-at-power-up/6274536

    2.线圈电阻测量

    如前所述、电阻值确实位于中 兆‑Ω 距离。

    [/报价]

    如果连接了电机、则没有意义。 电机线圈电阻通常为 10 欧姆范围。 请检查电机连接。 您可以直接检查电机电线上的线圈电阻。 此步进电机是否有器件型号或规格?

    每个输出针脚只有一个 ~4.7nF ESD 电容器 ,没有什么比这更好的了。

    这应该不是问题。

    由于机密性限制、我们无法通过电子邮件共享原理图。
    不过、我们可以在 A 中展示并讨论原理图 简短的技术会议 、如果这对您有效。

    我懂了。 我将查看是否可以让工程师在当地与您联系。

    如果有的话 其他权变措施或诊断步骤 我们可以尝试避免在当前硬件限制下功率‑时 OCP_LS1_A 置位、请让我们知道。 我们已准备好根据需要测试其他情景。

    这不是预期行为。 这似乎是一种真正的过流情况。 如果您将 CLR_FLT 位设置为 0b、故障是否会消失、之后电机是否正常运行? 是否通过多个样本观察到了这种情况? 谢谢你。

    此致、Murugavel  

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

    您好  Murugavel、   

    共享验证更新以了解确切的行为:

    我特意使电机保持断开状态、以便报告开路‑负载位与故障位。 这使我能够发出 CLR_FLT 命令。 但是、即使在发送 CLR_FLT 后、OCP_LS1_A 位也不会清除并保持永久设置状态、如前所述。

    重新连接负载后、Open‑Load 位会自动清除。 当 I 触发 CLR_FLT 时、故障状态寄存器中的一般故障位也会被清除。 ‑、OCP_LS1_A 仍保持设置状态、并且现在还会报告 OTW(过热警告 2 μ s)。

    此问题在我们测试过的所有三个 ECU 上都能重现。

    鉴于 OCP_LS1_A 的重复行为和持续性、如果 TI 能提供我们可以执行的任何其他见解或检查以缩小根本原因的范围、会很有帮助。 如果可能、请安排当地的 TI 现场工程师审查设置并优先确定根本原因、我们将不胜感激。

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

    您好 Basavaraj、

    感谢您提供更多信息。 最好隔离 OL(如果未连接电机,则可能禁用)并仅关注 OCP_LS1_A 问题。 您应该有当地的 FAE 来为您的公司提供支持。 请尝试通过您的 TI 销售联系人与他们联系。 同时、我们还将尝试与您联系专家。  

    此致、Murugavel  

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

    您好  Murugavel、   

    问题已解决、您可以关闭 TT  

    处理寄存器访问 diag1 和 diag2 寄存器数据读取时存在问题、因为实际没有真正的 OCP 故障情况  

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

    您好 Basavaraju、

    感谢您的更新。  

    此致、Murugavel