本帖最后由 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;
求大佬帮忙解决;
|
TIM_BRK TIM_BRK2 都由MCU 内部拉高;