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.

[参考译文] DRV8323:具有软件死区时间的 T_Dead 和 t_drive

Guru**** 2482215 points
Other Parts Discussed in Thread: DRV8323

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1194540/drv8323-t_dead-and-t_drive-with-software-deadtime

器件型号:DRV8323

您好!

我使用的是具有软件死区时间的栅极驱动器 DRV8323、对计时行为有一些疑问。

  1. t_drive 到底从哪里开始? 在输入信号变化或传播延迟之后、当驱动器开始设置 I_DRIVE 电流并且栅极-源极电压开始变化时?


  2. 下图显示了1000ns 的软件死区时间、200ns 的 t_dead 和4000ns 的 t_drive。
    两个光标标记了高侧 FET (红色)的信号变化与栅源电压开始上升的点之间的时间。
    此时间的来源是什么? 我希望  在这里看到一个传播延迟。
    您可以在此处描述 DRV 时序行为吗?




  3. 下图显示了1400ns 的软件死区时间、200ns 的 t_dead 和1000ns 的 t_drive。
    选择时序时、当 t_drive 已经结束时、高侧 FET (红色)的开关脉冲(数字4)会出现。
    我们在这里可以期待哪个时序(标有光标)?


提前感谢您的回答

Tobias Widmann

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

    您好 Tobias、

    感谢您发帖给电机驱动器论坛!

    我打算在下星期星期三结束前作出回应。

    最棒的

    ~Alicia

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

    您好 Tobias、

    [引用 userid="534076" URL"~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1194540/drv8323-t_dead-and-t_drive-with-software-deadtime t_drive 到底从哪里启动? 在输入信号变化或传播延迟之后、当驱动器开始设置 I_DRIVE 电流并且栅极-源极电压开始变化时?[/quot]

    当 GHx 或 GLx 改变状态时、tDrive 开始。 它在输入变为低电平时启动、在输入变为高电平时启动+死区时间+ tdead 时启动。

    [引用 userid="534076" URL"~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1194540/drv8323-t_dead-and-t_drive-with-software-deadtime ]下图显示了软件死区时间1000ns、t_dead 200ns 和 t_drive 4000ns。
    两个光标标记了高侧 FET (红色)的信号变化与栅源电压开始上升的点之间的时间。
    此时间的来源是什么? 我希望  在这里看到一个传播延迟。
    您可以在此处描述 DRV 时序行为吗?

     [/报价]

    DEDA 时间为 tdead = 200ns。 在这种情况下、由于软件已经添加了1000ns、因此驱动程序没有插入死区时间。 IOW、如果您已设定 tdead = 0、则光标之间的差值= 0。  

    BTW、没有理由添加软件死区时间1000ns、因为驱动器芯片将插入适当的死区时间。 死区时间过长将导致相电压失真、从而产生可闻噪声。

    [引用 userid="534076" URL"~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1194540/drv8323-t_dead-and-t_drive-with-software-deadtime ]下图显示了1400ns 的软件死区时间、200ns 的 t_dead 和1000ns 的 t_drive。
    选择时序时、当 t_drive 已经结束时、高侧 FET (红色)的开关脉冲(数字4)会出现。
    我们可以在这里期望哪个时序(标有光标)?

    同样、增量时间= 200ns tdead、从 INHx 变为高电平+总死区时间(即芯片死区时间+ tdead)开始  

    您应该尝试使用零软件死区时间、然后调整 tdead 以实现 GHx 和 GLx 之间的最小间隔、以确保 FET 不会被击穿。

    Brian

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

    尊敬的 Brian:

    感谢您的回答。 我们能否始终先修复所有措辞? I 常规使用:

    • 输入信号 INxx 延迟时间的软件死区时间
    • 对于驱动器可以应用的可选 SPI 设置、为 T_Dead
    • 驱动器内部延迟的传播延迟(您是指具有上述"芯片死区时间"吗?)

    1. [引用 userid="106056" URL"~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1194540/drv8323-t_dead-and-t_drive-with-software-deadtime/4504539 #4504539"]t 当 GHx 或 GLx 更改状态时、驱动器启动。 它在输入变为低电平时启动、在输入变为高电平时启动+死区时间+ tdead[/quot]
      那么、您是说 t_drive 有复位、每次逻辑输入信号 INxx 切换或驱动器从驱动 FET 开始时都是如此?
      这意味着使用软件死区时间、 t_drive 有三次复位、让 ist 再次从零开始? 我尝试在下图中绘制它。


      在第二个图中、将有两个单独的 t_drive 时间、每个时间复位一次。


      我是否正确地理解了我在这里的当前理解、并重新安排了 t_drive 时间?




    2. [引用 userid="106056" URL"~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1194540/drv8323-t_dead-and-t_drive-with-software-deadtime/4504539 #4504539"]deta 时间为 tdead=200ns。 在这种情况下、由于软件已经添加了1000ns、因此驱动程序没有插入死区时间。 IOW、如果您编程了 tdead = 0、则光标之间的差值= 0。[/quot]您告诉驱动器没有插入死区时间、但为什么光标标记的时间恰好是 t_dead 时间?
      根据我的理解、DRV 无需使用200ns t_dut。
      我的预期是、从上升的输入信号 INHx 开始、将出现传播延迟、然后栅源电压高侧(红色)将开始上升。 我不明白为什么驱动程序在这里使用 t_dut。

    是否有任何状态机或流程图更详细地描述了开关过程、因为数据表中的数字也不完全正确?

    此致、感谢您的帮助
    托比亚斯

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

    您好 Tobias、

    出于某些原因-论坛问题-我无法直接回复您的上一个帖子、因此我将尝试在此处回复。

     "驱动器内部延迟的传播延迟(您是指具有上述"芯片死区时间"吗?)"

    它包括输入数字延迟+芯片自动插入的死区时间(不包括您添加到 SPI 寄存器中的死区时间)、以确保上 FET 和下 FET 不发生击穿。 假设 MCU 同时将 INLx 切换为低电平、将 INHx 切换为高电平、然后输出 VGLx 将立即变为低电平、并具有 tDrive 延迟、但 VGHx 仅在 VGLx 为低电平后切换为高电平、 这个延迟或死区时间由驱动器内部逻辑插入、而不是由像您这样的用户插入。 现在、如果您将 tDead 添加到 SPI 寄存器、则总传播延迟将与 tDead 相加。

    "那么、您是说每次逻辑输入信号 INxx 切换或驱动器从驱动 FET 开始时、t_drive 都会发生复位?
    这意味着使用软件死区时间、 t_drive 有三次复位、让 ist 再次从零开始? 我尝试在下图中绘制它。"

    VGH 或 VGL 上的每次转换都有一个 tDrive、每个转换的信号都会驱动 FET 栅极。 我们为什么需要设置 tDrive?  

    来自数据表:

    " TDRIVE 状态机的第三个组件实现了栅极故障检测方案、可检测 MOSFET 栅极上的引脚 TOPIN 焊料缺陷、MOSFET 栅极故障或卡在高电平或卡在低电压状态。 此实现方案针对每个半桥栅极驱动器使用一对 VGS 栅源电压监控器来实现。 当栅极驱动器收到更改半桥状态的命令时、它开始监控外部 MOSFET 的栅极电压。 如果 VGS 电压在 tDRIVE 周期结束时未达到正确的阈值、栅极驱动器会报告故障。 为了确保未检测到错误故障、应选择大于对 MOSFET 栅极进行充电或放电所需时间的 tDRIVE 时间。"

    因此、需要设置 tDrive、以便驱动器芯片在 tDrive 末尾的栅极驱动信号未达到正确的电压电平时检测并标记故障。

    "我对当前的理解是否正确、并重新安排了 t_drive 时间?"

    每当 VGH 或 VGL 进行转换时、tDrive 周期就会开始。 它用于每个信号、而不是两个信号的总时间。

    "我的预期是、从上升的输入信号 INHx 开始、将出现传播延迟、然后栅源电压高侧(红色)将开始上升。 我不明白为什么驱动程序在这里使用 t_dead。"

    驱动程序在此处使用 tDead、因为您已告诉它在 SPI 寄存器中添加 tDead 编程的200ns。

    "您说驱动器没有插入死区时间、但为什么光标标记的时间正好是 t_dead 时间?"

    驱动器自动插入死区时间(与 SPI 寄存器中的 tDead 不同)、以确保不会发生直通。 在您的情况下、由于 INH 在 INL 之后延迟1000ns、因此不存在交叉传导的可能性、因此驱动器知道这一点、因此在这种情况下不需要增加任何死区时间。 这就是为什么我说过您不需要在输入之间添加软件死区时间的原因。  

    "是否有任何状态机或流程图更详细地描述了开关过程、因为数据表中的数字也不完全正确?"

    第8.3.1.4.2节和图27是答案。  

    Brian