| 本帖最后由 xiaofei558008 于 2024-1-30 23:21 编辑 
 求助高手:
 
 之前用过 DRV8301,一直 没啥问题;最近用之前的原理图重新做了个板子,然后就出问题了;
 
 status1 寄存器,D10 位老是 Fault 置为,且 nFAULT pin 拉低了;
 
 SPI 配置如下:
 
 DRV_8301_CS_H();
 LL_mDelay(10);
 
 Drv8301_Gate_Disable(pTemp);
 LL_mDelay(10);
 
 Drv8301_Gate_Enable(pTemp);
 Drv8301_DC_Cal_Disable(pTemp);
 LL_mDelay(10);
 
 /* Update all 4 registers before setting.
 */
 DRV8301_UpdateCtrlStatus_Regs(pTemp);
 
 pTemp->Regs.Ctrl_Reg1.Gate_Current = GATE_CURRENT_1_7A;
 pTemp->Regs.Ctrl_Reg1.PWM_Mode     = PWM_MODE_SIX_CHAN;
 pTemp->Regs.Ctrl_Reg1.Gate_Reset   = GATE_RESET_OFF;
 pTemp->Regs.Ctrl_Reg1.OC_Mode      = GD_OC_MODE_SHTDWN;/*GD_OC_MODE_LIMIT;  GD_OC_MODE_SHTDWN*/
 pTemp->Regs.Ctrl_Reg1.OC_Adj_Set   = OC_ADJ_SET_1_175V;
 
 pTemp->Regs.Ctrl_Reg2.DC_CAL_CH1   = DC_CAL_CH1_OFF;
 pTemp->Regs.Ctrl_Reg2.DC_CAL_CH2   = DC_CAL_CH2_OFF;
 pTemp->Regs.Ctrl_Reg2.Gain         = GAIN_20V;
 pTemp->Regs.Ctrl_Reg2.OC_TOFF      = OC_TOFF_CBC;
 pTemp->Regs.Ctrl_Reg2.OCTW_Set     = OCTW_SET_OCTW;
 
 Drv8301_Reg_Write(pTemp, Ctrl_Reg1, pTemp->Regs.Ctrl_Reg1.All);
 Drv8301_Reg_Write(pTemp, Ctrl_Reg2, pTemp->Regs.Ctrl_Reg2.All);
 LL_mDelay(10);
 
 /* Update all 4 registers.
 */
 DRV8301_UpdateCtrlStatus_Regs(pTemp);
 
 
 
 
 读取 status0 D10位 老是FAULT,实际 nFAULT 也是拉低的;
 
 
 电路图如下:
 GVDD 约11.25V;
 
 求大佬帮忙解决;
 
 
 
 |