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:故障信号存在问题

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

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1171402/drv8323-problem-with-the-fault-signal

器件型号:DRV8323

大家好、

DRV8323故障报告有问题。  

我将使用 处于 VDS 电流感应模式的 DRV8323、如数据表的图42所示进行连接、我们将寄存器与以下代码一同发送:

void DRV8323_initRegs (DRV8323_VARS_t *v){
  
  //设置寄存器驱动程序控制寄存器(0x02)
  V->Driver_Control.bits.DIS_CPUV = drv_chargePump_faultEnable// 0
  V->Driver_Control.bits.DIS_GDF = drv_gateDrive_faultEnable// 0
  V->Driver_Control.bits.OTW_REP = drv_otw_no_report// 0
  V->Driver_Control.bits.PWM_MODE = drv_PWM_MODE_6// 0
  V->Driver_Control.bits.PWM_COM_1 = drv_1xPWM_synch// 0
  V->Driver_Control.bits.PWM_DIR_1 = drv_1xPWM_noChangeDir// 0
  V->Driver_Control.bits.coast = drv_coastDisable// 0
  V->Driver_Control.bits.b剎 車= drv_brakeDisable// 0
  V->Driver_Control.bits.CLR_FLT = drv_leaveFVault// 0

  //设置寄存器栅极驱动 HS 寄存器(0x03)

  V->Gate_Drive_HS.bits._lock = drv_unlock// 3.
  V->Gate_Drive_HS.bits.IDRIVEP_HS = drv_idriveP_hs_190mA// 7.
  V->Gate_Drive_HS.bits.IDRIVEN_HS = drv_idriveN_hs_380mA// 7.
  //设置寄存器栅极驱动 LS 寄存器(0x04)
  V->Gate_Drive_Ls.bits.CBC = drv_clrFVault// 1.
  V->Gate_Drive_Ls.bits.TDRIVE = drv_tdriv_4000nS// 3.
  V->Gate_Drive_Ls.bits.IDRIVEP_LS = drv_idriveP_ls_190mA// 7.
  V->Gate_Drive_Ls.bits.IDRIVEN_LS = drv_idriveN_ls_380mA// 7.
  
  //设置寄存器 OCP 控制寄存器(0x05)
  V->OCP_Control.bits.TRETRY = drv_retry_time_4ms// 0
  V->OCP_Control.bits.dead_time = drv_d死 区时间_100ns// 1.
  V->OCP_Control.bits.OCP_MODE = drv_OCP_mode_reportNoAction// 2.
  V->OCP_Control.bits.OCP_DEG = drv_OCP_DEG_4US// 1.
  V->OCP_Control.bits.VDS_LVL = drv_VDS_lvl_260mV// 3.
  //设置寄存器 CSA 控制寄存器(0x06)
  V->CSA_Control.bits.CSA_FET = drv_input_shx// 1.
  V->CSA_Control.bits.VREF_DIV = drv_Vref_div_unipal;// 0
  V->CSA_Control.bits.LS_REF = drv_VDS_OCP_SHX_SNx// 1.
  V->CSA_Control.bits.CSA_GAIN = drv_gain_20// 2.
  V->CSA_Control.bits.DIS_SEN = drv_oc_faultDisable// 1.
  V->CSA_Control.bits.CSA_CAL_A = drv_normal_sense// 0
  V->CSA_Control.bits.CSA_CAL_B = drv_normal_sense// 0
  V->CSA_Control.bits.CSA_CAL_C = drv_normal_sense// 0
  V->CSA_Control.bits.SEN_LVL = drv_OCP_1000mV// 3.
半桥上没有分流电阻器、因此我们使用 VDS 来监控电流。 因此、我们已设置 DIS_SEN 位以禁用过流故障、但这似乎无法按预期工作。
问题是、即使 VDS 永远不会大于1V (通过 CSA_Control 位 SEN_LVL 设置)、状态寄存器2 (地址0x01)的位10、9和8也会设置为1 (寄存器值为0x700) 一旦驱动 correrspondendt 半桥。
故障状态寄存器1 (地址0x00)的位10被置位、当然故障线路被拉低(寄存器值为0x400)。
感谢您的善意帮助、  
塞尔吉奥
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嘿、Sergio、

    感谢您的提问。 我将在下周提供反馈。

    最棒的

    Akshay

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

    嘿、Sergio、

    由于您不使用分流器、您是否短接了 CSA 输入(SPx 和 SNx)并悬空了 CSA 输出(SOx)?

    最棒的
    Akshay

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

    您好、Akshay、  

    正如我说过的、我们使用 MOSFET VDS 感测模式、并按如下方式设置配置位:

    [引用 userid="542838" URL"~/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1171402/drv8323-problem-with-the-fault-signal ]v->csa_Control.bits.csa_fet = drv_input_shx// 1[/quot]

    如数据表第8.3.4.4段中所述、将 SPX 引脚保持悬空

    此致、  

    塞尔吉奥

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

    嘿、Sergio、

    啊,我明白,对不起 ,我的误解。

    我想测试 Sen OC 在所有三个阶段触发的原因。 尝试设置 CSA-FET =0、 因此如果 SPX-SNx 连接到 GND、则 SPx = 0V、SNx = 0V、SPX-SNx = 0V、这绝不会触发任何形式的 SEN_OCP。 检查 SEN_OCP 是否触发。

    您是否还可以测量差分电压 SPX-SNX?(应为0V)

    当 Ls-REF 为0且为1时、您是否可以检查上述内容?

    希望这可以帮助我们诊断问题发生的位置。

    最棒的
    Akshay

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

    您好、 Akshay、

    经过另一次深入调查、我们发现了问题。  

    SPI 通信中的一个问题使 DIS_SEN 位保持为0、从而使 SENSE 故障保持启用状态。  

    现在问题得到解决、不再触发 SEN_OCP。

    感谢您的支持和时间、  

    此致、

    塞尔吉奥