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.

[参考译文] DRV8305:EN_GATE 上的 nFAULT 处于激活状态

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/679179/drv8305-nfault-active-on-en_gate

器件型号:DRV8305

您好!

通过 SPI 将 DRV83053连接到 STM32F334。 原理图。 SDO 线路必须由1k5电阻器根据此处提供的有用反馈拉取。 最终能够使 SPI 通信正常工作。 感谢所有帮助的人。

现在、可以进行 SPI 通信。 我还面临另一个问题:

我将使用 F334生成 PWM 信号。 我尝试将该信号连接到 Inha 并从微控制器提供 EN_GATE。

当 EN_GATE 被拉高时、nFAULT 会被升高。

首先、6 PWM 独立模式存在此问题。 已尝试1 PWM 和3 PWM 模式、但结果相同。

至少在3 PWM 模式下,单个 PWM 信号不应该成为问题?

这是 DRV8305的默认行为吗?

如果是,是否有更好的方法来测试 DRV8305的功能?

中的 DRV8305初始化如下:

void drv8305_init (void)
{
static uint16_t reg_8305[13];
static uint16_t data;
uint8_t i;

//初始化存储*
for (i = 1;i < 13;i++)
reg_8305[i]= 0;

//读取 drv8305寄存器*/
for (i = 1;i+


= 0x08;if i = 1);i+ I = 1;I = 1 (I = 0x13);I = I + I = 1;I = 1)
REG_8305[i]=数据;
}

REG_8305[0x05]= TDRIVEN_1780NS | IDRIVEN_HS_500mA | IDRIVEP_HS_500mA;
REG_8305[0x06]= TDRIVEP_1780NS | IDRIVEN_LS_500mA | IDRIVEP_HS_500mA | INDEV_END_INTR_0_EN_EN_EN_017_TS\






| INDEV_ENDPS_ENABLE_TRY_END_END_END_017_ENABLE\| IN_0_EN_EN_EN_IN_0_EN_IN_EN_IN_0_IN_IN_IN_0_TS\| INDD_CF\| INTR_EN_IN_EN_IN_IN_0_INTR_INTR_CF\| IN_IN_0_IN_IN_IN_IN_TS\| EN_CFG_W_IN_IN_IN_VDD_INT_VDD_INTR_0_EN_IN_INT_VDD_INT_VDD_










REG_8305[0x0a]= DC_CAL_CH3_NORMAL||
DC_CAL_CH2_NORMAL||
DC_CAL_CH1_NORMAL||
CS_blank_500ns||
GAIN_CS3_10VV||
GAIN_CS2_10VV||
GAIN_CS1_40VV;

REG_8305 [0xCF_I REG_0VDS_I = 0x305]+






(= 0x8VDS_I RE_VDS = 0x305+)

|(= 0x8VREF_I RE_I RE_VD= 0x305+= 0x8VDS_I RE_I RE_I)|(= 0x305+= 0x8VDRE_VDS = 0x305+= 0xVREF_I RE_I RE_VD+);(= 0x8VREF_0VREF_0VREF_RE_RE_0VREF_VREF_VREF_VREF_0VREF_0VDS = 0x305+



最初、SPI 寄存器读取写入日志、未应用 EN_GATE 信号:



===========================
STM32F334您好!
===========================
DRV8305唤醒
SPI 初始化:CPOL=0,CPHA=1,FRF=TI,LEN=16

---
读取 Reg1-12
--------------------------------------------------------
RD 寄存器:0x01=0x00
RD 寄存器:0x02=0x00
RD 寄存器:0x03=0x00
RD 寄存器:0x04=0x00









389 REG:0x05=0x389 RD 寄存器:0x06=0x389 RD 寄存器:0x07=0x281 RD 寄存器:0x09=0x6a0 RD:0x0A=0x42 RD:0x0B=0x208WR REG-- 0x02WR REG-- 0x02=0x02WR REG-- 0x02WR REG-- 0x02WR REG-- 0x208W-- 0x208W-- 0x208WR REG-- 0x02WR REG-- 0x02WR REG-- 0x02W-- 0x2052W-- 0x208W-- 0x208WR REG-- 0x2052W-- 0x208W--


0x2052WR REG-- 0x2052W-- 0x2052WR REG-- 0x2052W-- 0x20




读取 Reg1-12
--------------------------------------------------------
RD REG:0x01=0x00
RD REG:0x02=0x00
RD REG:0x03=0x00
RD REG:0x04=0x00
RD REG:0x05=0x389
RD REG:0x06=0x389
RD REG:0x07=0x281
RD REG:0x09=0x6a0
RD REG:0x0A=0x42
RD REG:0x0B=0x208
RD:0x230 RD:c 

应用 EN_GATE 信号后的日志:

===========================
STM32F334您好!
===========================
DRV8305唤醒
SPI 初始化:CPOL=0,CPHA=1,FRF=TI,LEN=16

---
读取 Reg1-12
--------------------------------------------------------
RD 寄存器:0x01=0x420
RD 寄存器:0x02=0x80
RD 寄存器:0x03=0x00
RD 寄存器:0x04=0x00









389 REG:0x05=0x389 RD 寄存器:0x06=0x389 RD 寄存器:0x07=0x281 RD 寄存器:0x09=0x6a0 RD:0x0A=0x42 RD:0x0B=0x208WR REG-- 0x02WR REG-- 0x02=0x02WR REG-- 0x02WR REG-- 0x02W- 0x208WR REG-- 0x02W- 0x208WR REG-- 0x02WR REG-- 0x02W- 0x2052W- 0x2052W- 0x208WR REG-- 0x2052WR REG-- 0x2052WR REG-- 0x2052W--


0x20WR REG-- 0x20W--
0x20R REG-- 0x20W-- 0x20WR



读取 Reg1-12
--------------------------------------------------------
RD REG:0x01=0x420
RD REG:0x02=0x80
RD REG:0x03=0x00
RD REG:0x04=0x00
RD REG:0x05=0x389
RD REG:0x06=0x389
RD REG:0x07=0x281
RD REG:0x09=0x6a0
RD REG:0x0A=0x42
RD REG:0x0B=0x208
RD:0x230 RD:c

有什么想法、是什么原因导致了 nFAULT?

谢谢、

制造商



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

    我们将在星期四进行调查并回复。

    在等待期间、您是否读取了寄存器以确定发生了哪些故障? 报告了哪些故障?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Rick、

    感谢您的回复。

    初始化 DRV8305的代码:

    void drv8305_init (void)
    {
    static uint16_t reg_8305[13];
    static uint16_t data;
    uint8_t i;
    
    //初始化存储*
    for (i = 1;i < 13;i++)
    reg_8305[i]= 0;
    
    //读取 drv8305寄存器*/
    for (i = 1;i+
    
    
    = 0x08;if i = 1);i+ I = 1;I = 1 (I = 0x13);I = I + I = 1;I = 1)
    REG_8305[i]=数据;
    }
    
    REG_8305[0x05]= TDRIVEN_1780NS
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    | IDRIVEN_HS_500mA | IDRIVEP_HS_500mA;REG_8305[0x06]= TDRIVEP_1780NS | IDRIVEN_LS_500mA | IDRIVEP_HS_500mA | REG_WDD_EN_ON_EN_MODE\| VDD_INT_VDD_CFS\| EN_EN_0V_EN_INDD_CFS\| EN_CFG_0V_EN_INDD_CFG_0_IN_IN_VDD_VDD_EN_CFG_W_= TR_EN_IN_IN_0V_EN_CFG_W_= TR_IN_0V_CFS\| EN_CFG_W_TR_0V_EN_IN_EN_IN_0_CFG_W_= TR_IN_CFG_W_| TR_TR_0_CFS\| TR_EN_EN_IN_IN_TR_CFG_W_= TR_EN_TR_EN_0_CFG_
    
    
    REG_8305[0x0a]= DC_CAL_CH3_NORMAL||
    DC_CAL_CH2_NORMAL||
    DC_CAL_CH1_NORMAL||
    CS_blank_500ns||
    GAIN_CS3_10VV||
    GAIN_CS2_10VV||
    GAIN_CS1_40VV;
    
    REG_8305 [0xCF_I REG_0VDS_I = 0x305]+
    
    
    
    
    
    
    (= 0x8VDS_I RE_VDS = 0x305+)
    
    |(= 0x8VREF_I RE_I RE_VD= 0x305+= 0x8VDS_I RE_I RE_I)|(= 0x305+= 0x8VDRE_VDS = 0x305+= 0xVREF_I RE_I RE_VD+);(= 0x8VREF_0VREF_0VREF_RE_RE_0VREF_VREF_VREF_VREF_0VREF_0VDS = 0x305+
    
    
    int main (void)
    {
    GPIO_InitTypeDef Pio;
    SPI_InitTypeDef SPI;
    静态 uint8_t I;
    静态 uint16_t 数据;
    
    SysTick _Config (SystemCoreClock / 1000);/* SysTick 事件@1ms*/
    
    /* GPIO 设置*/
    * LED1:调试*/
    PI奥.GPIO_Pin= LED1;/* LED1=PD.2*/
    PI奥.GPIO_Mode= GPIO_Mode_Out;
    PI奥.GPIO_OType= GPIO_OType_PP;
    PI奥.GPIO_Pud=
    
    _ P50MHz_PSD_Speed;GPIO_PSD_PON_P= GPIO_PAD_PAD_P= GPIO_PAD_PAD_PAD_PAD_P= GPIO_P50MP.GPIO_PAD_PAD_PAD_PAD_/* GPIOD 时钟*/
    GPIO_Init (LED1_PORT、&PIO);
    
    /* USART1*/
    PIio.GPIO_Pin= PIN_4 | PIN_5;// Tx=PC.5*/
    PIC.GPIO_Mode= GPIO_Mode_AF;//备用函数:USART*/
    
    GPIO_GPIO_P7
    ;* GPIO_GPIO_GPIO_P= GPIO_P7;* GPIO_GPIO_PON_GPIO_PON_GPIO_P= GPIO_GPIO_GPIO_GPT *
    /* PC.4映射到 USART1*/
    GPIO_PinAFConfig (GPIOC、PINSRC_5、GPIO_AF_7);/* PC.5映射到 USART1*/
    
    //* DRV8305 WAKE,EN*/
    PIio.GPIO_Pin= PIN_10 | PIN_11;// WWAKE=PC.10,EN=GPIO_PIN_13;
    
    
    
    
    * GPIO_PIN_P=GPIO_P=12
    ;GPIO_P=GPIO_P=GPIO_P=GPIO_P=12;* PIN_P=GPIO_P=GPIO_P=GPIO_P=GPIO_P=12;* PIN_P=GPIO_P=GPIO_P=GPIO_P=GPIO_P_P=12;GPIO_P=GPIO_P=GPIO_P_P_P
    PI奥.GPIO_Mode= GPIO_Mode_Out;
    PI奥.GPIO_OType= GPIO_OType_PP;
    PI奥.GPIO_Speed= GPIO_Speed_50MHz;
    GPIO_Init (GPIOC、 &PIO);
    
    /* SPI1*/
    __GPIOA_CLK_ENABLE();/* GPIOA 时钟*/**
    
    *错误'F334!
    * NSS 不能由 F334硬件 SPI 外设控制
    *权变措施是在软件中执行此操作。
    */
    PI奥.GPIO_Pin= PIN_4;// NSS:A.4*/
    PI奥.GPIO_Mode= GPIO_Mode_Out;
    PI奥.GPIO_OType= GPIO_OType_PP;
    PI奥.GPIO_Speed= GPIO_Speed_50MHz;
    GPIO_Init (GPIOA、&PIO);
    
    /* SPI1硬件配置*/
    PIC.GPIO_Pin= PIN_5 | PIN_6 | PIN_7;//* SCK:A.5、MISO:A.6、MOSI:A.7*/
    PIC.GPIO_Mode= GPIO_Mode_AF;
    GPIO_Init (GPIOA、&PIO);
    
    GPIO_PinAFConfig (GPIO_5、GPIO_SRC GPIO_AF_5);/* SPI1:从 SCK =PA.5*/
    GPIO_PinAFConfig (GPIOA、PINSRC_6、GPIO_AF_5);// SPI1:从器件 MISO/SDO=PA.6*/
    GPIO_PinAFConfig (GPIOA、PINSRC_7、GPIO_AF_5);// SPI1:从器件 MOSI/SDI=PA_7
    、GPIO_SET *引脚//* CS deassert*//
    
    *
    HRTIM1/PWM
    *
    * TA1 = PA.8
    * TA2 = PA.9
    * TB1 = PA.10
    * TB2 = PA.11
    * TC1 = PB.12
    * TC2 = PB.13
    */
    Pio.GPIO_Pin = PIN_8 | PIN_10 | PIN_10 | PIN_11 = PBI_8
    
    * GPIO_PIN8 * GPIO8 * PBIT_PBIT_PBIT_PBIT_PINA (PBIT_8) GPIO_AF_13);/* PA.8 -> HRTIM1_TA1*/
    GPIO_PinAFConfig (GPIOA、PINSRC_9、GPIO_AF_13);/* PA.9 -> HRTIM1_TA2*/
    GPIO_PinAFConfig
    
    
    
    (GPIOA、PINSRC_10、GPIO_AFC_13);* GPIO_PINB1-13、GPIO_GPIO11* GPIO_GPIO_P13
    GPIO_AF_13);/* PB.12 --> HRTIM1_TC1*/
    GPIO_PinAFConfig (GPIOB、PINSRC_13、GPIO_AF_13);/* PB.13 --> HRTIM1_TC2*/
    
    USART1_Init();
    
    printf ("\r\n============ \r");
    printf (" STM32F334 Hello!\r");
    printf ("=========================== \r");
    
    printf ("DRV8305唤醒");
    __PIN_SET (GPIOC、DRV8305_WAKE、1);//
    _PIN_SET (GPIOC、DRV8305_EN、0);//禁用 DRV8305门*/
    printf ("SPI 初始化:CPOL=0、CPHA=1、FRF=TI、LEN=16\r\n");
    
    // SPI 初始化*/_SPI_Instines;SPI_SPI_Instance_SPI_SPI_Instance_SPI_SPI_Instance_SPI_SPI_Inste0_SPI_SPI_SPI_SPI_Inste0_SPI_SPI_SPI_SPI_SPI_Inste0_SPI_SPI_SPI_SPI_SPI_Inste0_SPI_SPI_SPI_SPI_SPI_SPI_Inste0_SPI_SPI_SPI_SPI_Inste0_SPI_SPI_SPI_SPI_SP
    
    
    
    
    
    SPI.SPI_CPOL= SPI_CPOL_Low;/* CPOL=0 -> Low*/
    SPI.SPI_CPHA= SPI_CPHA_2Edge;/* CPHA=1 -> 2Edge*/
    SPI.SPI_NSS= SPI_NSS_Soft;
    SPI.SPI_BaudRatePrescaler= SPI_BaudRate*1;SPI_S64_DataPresature_Spi_Spi_S16B_Sb
    ;SPI_FirstDataSet_S16B_Spi_Spi_Spi_Size_Size_SPI;SPI_Spi_S16BSPI
    
    
    SPI_Init (SPI1、&SPI);
    SPI_Cmd (SPI1、ENABLE);
    
    PWM_INIT ();
    
    /*读取全部12个寄存器*/
    printf ("-------------------- \r");
    printf ("读取 Reg1-12\r");
    printf ("-------------- \r");
    对于(i = 1;i < 13;i++){
    if (i = 0x08)
    continue;
    
    SPI_read (i、&data);
    printf ("RD REG:0x%02x=0x%02x\r"、i、 数据);
    }
    
    drv8305_init();
    __PIN_SET (GPIOC、DRV8305_EN、1);/*启用 DRV8305门*/*
    
    读取所有12个寄存器*/
    printf ("---------- \r");
    printf ("读取 Reg1-12\r");
    printf ("-------------- \r");
    对于(i = 1;i < 13;i++){
    if (i = 0x08)
    continue;
    
    SPI_read (i、&data);
    printf ("RD REG:0x%02x=0x%02x\r"、i、 数据);
    }
    
    while (1){
    __PIN_SET (GPIOC、PIN_13、0);// PC -> 0*/
    DELAY (5);
    __PIN_SET (GPIOC、PIN_12、1);// PB -> 1*/ DELAY
    (5);
    __PIN_SET (GPIOC、PIN_2、0);
    
    */PIN_12_SET (GPIoc
    
    );*0*/PIN_0*/PIN_SET (p_12_0*/p_0*/p_SET);*0*/GPIoc (p_0_0*/p_0*/p_DELAY_0_0_0_0*/p_0_0_0*/*/p_12_0*/p_0*/p_0_0
    
    __PIN_SET (GPIOC、PIN_2、1);// PA -> 1*/
    延迟(5);
    }
    }
    

    在单 PWM 模式下:

    在 EN_GATE 上:

    ------------------------
    读取 Reg1-12
    --------------------------------------------------------
    RD 寄存器:0x01=0x420
    RD 寄存器:0x02=0x100
    RD 寄存器:0x03=0x00
    RD 寄存器:0x04=0x00
    RD 寄存器:0x05=0x344
    RD 寄存器:0x06=0x344
    RD 寄存器:0x07=0x216
    RD 寄存器:0x09=0x20
    RD 寄存器:0x0A=0x00
    RD:0x0B=0x10A REG=0x2RD
    :0x8 

    寄存器0x01 (0x420)=> VDS_STATUS   =实时或所有 VDS 过流监视器的状态
    寄存器0x02 (0x100)=> VDS_HB      =低侧 MOSFET A 的 VDS 过流故障

    在该状态下、

    写入要再次初始化的值:

    WR REG:0x05=0x389
    WR REG:0x06=0x389
    WR REG:0x07=0x301
    WR REG:0x09=0x6a0
    WR REG:0x0A=0x42
    WR REG:0x0B=0x208
    WR REG:0x0c=0x30 

    并再次读取寄存器:

    ------------------------
    读取 Reg1-12
    --------------------------------------------------------
    RD REG:0x01=0x00
    RD REG:0x02=0x00
    RD REG:0x03=0x00
    RD REG:0x04=0x00
    RD REG:0x05=0x389
    RD REG:0x06=0x389
    RD REG:0x07=0x301
    RD REG:0x09=0x6a0
    RD REG:0x0A=0x42
    RD REG:0x0B=0x208
    RD:0x230 RD:c 

    寄存器0x01 - 0x04中标记的故障将自动清除、
    但 nFAULT 仍处于激活状态

    EN_GATE 信号消失后、nFAULT 信号会自动清零。

    对输入信号进行了快照、

    INHA 是 33kHz、50%直流的 PWM 信号

    INLA、INHB、INLB 是微控制器为 DRV8305生成的状态0、状态1、状态2信号

    如果您需要任何其他信息、我很乐意提供这些信息。

    谢谢、

    制造商

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

    您是在连接电机的情况下测试系统、还是在此时测试功率级?

    在您的第一个帖子中、寄存器0x2 = 0x080、对应于 B 相低侧的 VDS 误差。 在第二个阶段、正如您所识别的、寄存器0x20 = 0x100、对应于 B 相高侧的 VDS 误差。 当流经 FET 的电流过大导致压降(超过 FET 的 Rdson)大于寄存器0xC 中编程的阈值时、会触发该误差。 通常、该误差会表明其中一个 FET 短路、从而允许击穿并导致过大的电流。 但是、我想检查并确保您的配置适用于系统的操作配置文件。

    根据您的代码、您要将寄存器0xC 设置为0x30、这会将该值设置为0.123V。 原理图中的 FET SQJ858EP 具有0.006欧姆的 Rdson、这表明您将在大约20安的电流下达到该限值。

    在正常运行期间、您预计该系统中的电流是多少?

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

    您好、Garrett、

    起初、我的想法与您的想法完全相同。 并担心短路。 但在那突然的思考之后,冷酷的思想占了上风。 :-)

    但这是现实。

    根本没有连接任何电机。 CON2、3、4只需保持断开状态。 您可以从所附图片中清晰地看到它。 最重要的是、如果20A 电流过这些电阻器、它也会变得非常热。 但这3个电阻器甚至不是热的。 因此、我想没有大电流流过它们。

    更重要的是、DRV8305电路板由12V/3A SMPS 供电。 如果电流过大、大约为20A、至少会使电源跳闸。 根据过去的经验、我可以说开关电源仅能提供2 - 2.5A 电流、而不能超过此值。

    我还担心 MOSFET 可能会熔断、但有趣的是、电路板仅消耗45mA 电流。 这似乎不是 FET 熔断。 您可以在第3张图片中验证相同。 您可以看到、小型电源也已置位。

    我计划在示波器上测量来自 CON2、3、4的输出波形。 但根本没有输出。

    谢谢、

    制造商

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

    感谢您提供更多信息。 我同意您的观察结果、我认为这不是由实际短路/过流事件引起的。

    我的下一个担忧是、这可能是与 FET 导通相关的问题。 不过、您似乎已经将 IDRIVE 强度设置为0.5A、这应该足以满足 FET 的60nC 最大 Qg 要求、但我们仍然看不到 VGS 错误、因此让我们暂时将其放在一边。

    我的另一个问题是功率级和 PVDD 输入之间的10mH 电感器。 电荷泵由 PVDD 供电并以 PVDD 为基准、因此当您开始切换栅极时、这将导致从 PVDD 汲取的电流大幅增加。 如果 PVDD 电压下降、这也会导致电荷泵电压下降、从而为高侧栅极驱动供电。 如果高侧栅极 FET 的驱动不够强烈、则会导致较高的 Rdson、这可能会导致我们看到的 VDS 误差。

    您是否可以尝试捕获 PVDD、VCPH、GHB 和 nFAULT (在 nFAULT 下降时触发)的示波器?

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

    您好、Garrett、

    我忘了说一件事(我向您保证、我忘了说一件事)、与 PVDD 线路上的10mH 电感器不同、我使用了电流感应电阻器 SMD 0.47欧姆5%、因为电感器不可用。 而且手头也没有跳线。 但我认为这不会是一个障碍。

    我能够在 GHB 上看到一个瞬态(可能看起来像2个栅极脉冲?、这就是所有存在的情况)。除此之外、波形是稳定的。

    EN_GATE = 0、nFAULT 未激活

    --------------------------

    VCPH (引脚38)-> VCPH_nFAULT_not_ACTIVE.jpg

    PVDD (引脚41)-> PVDD_nFAULT_not_ACTIVE.jpg

    GHB (引脚29)-> GHB_nFAULT_not_ACTIVE.jpg

    EN_GATE = 1、nFAULT 激活

    --------------------------

    VCPH (引脚38)-> VCPH_EN_GATE_nFAULT_ACTIVE.jpg

    PVDD (引脚41)-> PVDD_EN_GATE_nFAULT_ACTIVE.jpg

    GHB (引脚29)-> GHB_EN_GATE_nFAULT_ACTIVE.jpg

    启用 EN_GATE 后、nFAULT 也会处于激活状态。

    已附加相关波形。

    谢谢、

    制造商

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我又试了一次跑步,但这次我得到了稍微不同的故障标志..

    ===========================
    STM32F334您好!
    ===========================
    DRV8305唤醒
    SPI 初始化:CPOL=0、CPHA=1、FRF=TI、LEN=16

    ------------------------
    读取 Reg1-12
    ------------------------
    RD REG:0x01=0x480
    RD REG:0x02=0x00
    RD REG:0x03=0x420
    RD REG:0x04=0x00
    RD REG:0x05=0x344
    RD REG:0x06=0x344
    RD REG:0x07=0x216
    RD REG:0x09=0x20
    RD REG:0x0a=0x00
    RD REG:0x0B=0x10A
    RD REG:0x0c=0x2c8

    WR REG:0x05=0x389
    WR REG:0x06=0x389
    WR REG:0x07=0x301
    WR REG:0x09=0x6a0
    WR REG:0x0a=0x42
    WR REG:0x0B=0x208
    WR REG:0x0c=0x30

    ------------------------
    读取 Reg1-12
    ------------------------
    RD REG:0x01=0x10
    RD REG:0x02=0x00
    RD REG:0x03=0x00
    RD REG:0x04=0x00
    RD REG:0x05=0x389
    RD REG:0x06=0x389
    RD REG:0x07=0x301
    RD REG:0x09=0x6a0
    RD REG:0x0a=0x42
    RD REG:0x0B=0x208
    RD REG:0x0c=0x230

    0x480 = PVDD 欠压标志警告;故障指示
    0x420 =低侧 MOSFET C 的 VDS 过流故障;高侧 MOSFET A 的 VDS 过流故障

    看起来很奇怪、在下一个运行中、故障再次稍有不同:

    ===========================
    STM32F334您好!
    ===========================
    DRV8305唤醒
    SPI 初始化:CPOL=0、CPHA=1、FRF=TI、LEN=16

    ------------------------
    读取 Reg1-12
    ------------------------
    RD REG:0x01=0x400
    RD REG:0x02=0x01
    RD REG:0x03=0x00
    RD REG:0x04=0x00
    RD REG:0x05=0x389
    RD REG:0x06=0x389
    RD REG:0x07=0x301
    RD REG:0x09=0x6a0
    RD REG:0x0a=0x42
    RD REG:0x0B=0x208
    RD REG:0x0c=0x230

    WR REG:0x05=0x389
    WR REG:0x06=0x389
    WR REG:0x07=0x301
    WR REG:0x09=0x6a0
    WR REG:0x0a=0x42
    WR REG:0x0B=0x208
    WR REG:0x0c=0x30

    ------------------------
    读取 Reg1-12
    ------------------------
    RD REG:0x01=0x10
    RD REG:0x02=0x00
    RD REG:0x03=0x00
    RD REG:0x04=0x00
    RD REG:0x05=0x389
    RD REG:0x06=0x389
    RD REG:0x07=0x301
    RD REG:0x09=0x6a0
    RD REG:0x0a=0x42
    RD REG:0x0B=0x208
    RD REG:0x0c=0x230


    0x400 =故障指示
    0x01 =检测过流故障
    0x10 =电荷泵欠压标志警告
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Manu、

    我们在所有不同相位上都遇到 VDS 误差、这一事实很好地表明问题与系统相关、而不是由于特定的 FET、因此这是令人鼓舞的。

    我同意0.47欧姆不应导致明显的压降、但是 VCPH UV 和 PVDD UV 误差是我预期在 PVDD 电压下降时会产生的误差类型。

    您能否将 VDS 监视器置于"仅报告"模式、并重新捕获 GHx 波形? 在电压电平有机会稳定之前、VDS 监视器似乎正在启动栅极驱动、因此我想看看实际的栅极输出电压是多少。

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

    您好、Garrett、

    奇怪的情况:即使 VDS 监视器设置为仅报告、nFAULT 仍然有效。

    我不能说在 GHA、GHB 和 GHC 的所有试验中波形都保持相似、但峰值电压基本上保持不变。

    尝试了不同的迭代、每次波形以某种方式或另一种方式稍有不同。

    我的头打结了! ;-)

    GHA 在21V 左右徘徊

    GHB 在8V 左右徘徊

    GHC 在7V 左右徘徊

    日志:

    ===========================
    STM32F334您好!
    ===========================
    DRV8305唤醒
    SPI 初始化:CPOL=0,CPHA=1,FRF=TI,LEN=16
    
    ---
    读取 Reg1-12
    --------------------------------------------------------
    RD REG:0x01=0x420
    RD REG:0x02=0x81
    RD REG:0x03=0x00
    RD REG:0x04=0x00
    
    
    
    
    
    
    
    
    
    389 REG:0x05=0x389 RD REG:0x06=0x389 RD REG:0x07=0x301 RD REG:0x09=0x6a0 RD:0x0A=0x42 WR REG:0x0B=0x208WR- 0x021-0x201- 0x208WR REG- 0x021-0x20WR REG- 0x021-0x021-0x021-0x20WR REG- 0x021-0x20WR
    
    REG- 0x021-0x021-0x20WR REG- 0x021-0x021-0x021-0x021-0x20WR REG- 0x021-0x021-0x20WR REG- 0x021-0x021-0x021-0x021-0x021-0x20WR REG-:0x021-0x021-0x021-0x021-0x
    
    
    
    
    
    读取 Reg1-12
    --------------------------------------------------------
    RD REG:0x01=0x00
    RD REG:0x02=0x00
    RD REG:0x03=0x00
    RD REG:0x04=0x00
    RD REG:0x05=0x389
    RD REG:0x06=0x389
    RD REG:0x07=0x301
    RD REG:0x09=0x6a0
    RD REG:0x0A=0x42
    RD REG:0x0B=0x208
    RD:0x231c
    

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

    在仅报告模式下、器件不会关断栅极驱动输出、但仍会将 nFAULT 置为有效、因此器件按预期运行。

    GHB 的捕获证实了我对栅极驱动器未强导通的怀疑;在该电压电平下、FET 将不会正确导通。

    我怀疑我们看到 VDS 错误而不是 VGS 错误的原因可能是因为您已将 TDRIVE 时间设置为1780ns、但 VDS 监控上的解锁设置为1.75us、而不会出现任何消隐时间。 如果您将寄存器0x7更改为设置1.75us 的 VDS 消隐以及去毛刺脉冲、我怀疑我们会看到 VGS 错误跳闸而不是 VDS 错误。

    即使没有安装电感器、在您开始切换时 PVDD 可能会下降、这一点我仍然很怀疑。 您能否在切换 FET 时重新获取 PVDD 波形、并尝试在电压电平降至10V 以下时触发、以查看实际情况是否如此? 请尝试从尽可能靠近 DRV8305引脚的位置捕获波形、以避免 PCB /其他组件的任何影响。

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

    开机自检按钮一直不停地旋转。 我想知道、这个测试是否能实现它。

    谢谢、

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

    您好、Garrett、

    尝试过几次发布、但 POST 按钮同时旋转了几个小时。 已将开机自检修剪为最低:-|。

    略微更改了代码以简化调试。 控制台可以向 F334板发送基本命令、最终可以发送 EN_GATE = 1或 EN_GATE = 0或随意发出转储 drv8305寄存器。

    通常、我可以设置 EN_GATE = 1、并且通过插入连接器将 nFAULT 置为有效。 通常、大多数情况下、当拔下连接器时、nFAULT 会被置为无效。 但是:

    当在控制台上使用相同的功能时、nFAULT 永远不会被置为无效(在示波器上、我可以看到 EN_GATE 信号下降至0)。 因此、在拔下插头时、EN_GATE 线路上似乎存在其他一些瞬态、这会使 nFAULT 无效。 我想知道是什么使它如此...

    因此、在以下 EN_GATE = 0情况下、我拔下 EN_GATE 连接器、而不是通过控制台发送 EN_GATE = 0命令。

    开关寄存器0x07消隐时间、从0uS 到默认的1.75uS (TBLANK_2US)

    此外,MAIN()函数现在以 EN_GATE = 0启动,通过控制台发送 EN_GATE = 1的命令,以确定某些瞬态是否导致问题。

    19. PVDD (CH2、蓝色走线)与 nFAULT (CH1、黄色走线)的关系图
    示波器设置为在 nFAULT 的下降沿触发、(nFAULT) LED 亮起

    >(R) ead 寄存器
    ------------------------
    读取 Reg1-12
    ------------------------
    RD REG:0x01=0x430
    RD REG:0x02=0x81
    RD REG:0x03=0x00
    RD REG:0x04=0x00
    RD REG:0x05=0x389
    RD REG:0x06=0x389
    RD REG:0x07=0x305
    RD REG:0x09=0x6a0
    RD REG:0x0a=0x42
    RD REG:0x0B=0x208
    RD REG:0x0c=0x231

    几秒钟后再次读取寄存器会得到稍微不同的结果

    >(R) ead 寄存器
    ------------------------
    读取 Reg1-12
    ------------------------
    RD REG:0x01=0x400
    RD REG:0x02=0x01
    RD REG:0x03=0x00
    RD REG:0x04=0x00
    RD REG:0x05=0x389
    RD REG:0x06=0x389
    RD REG:0x07=0x305
    RD REG:0x09=0x6a0
    RD REG:0x0a=0x42
    RD REG:0x0B=0x208
    RD REG:0x0c=0x231

    执行了下电上电以使 nFAULT 再次失效
    nFAULT 无效..

    VCPH (CH2、蓝色走线)与 nFAULT (CH1、黄色走线)的图片
    示波器设置为在 nFAULT 的下降沿触发、(nFAULT) LED 亮起

    >(R) ead 寄存器
    ------------------------
    读取 Reg1-12
    ------------------------
    RD REG:0x01=0x430
    RD REG:0x02=0x481
    RD REG:0x03=0x00
    RD REG:0x04=0x00
    RD REG:0x05=0x389
    RD REG:0x06=0x389
    RD REG:0x07=0x305
    RD REG:0x09=0x6a0
    RD REG:0x0a=0x42
    RD REG:0x0B=0x208
    RD REG:0x0c=0x231

    几秒钟后再次读取..

    >(R) ead 寄存器
    ------------------------
    读取 Reg1-12
    ------------------------
    RD REG:0x01=0x400
    RD REG:0x02=0x01
    RD REG:0x03=0x00
    RD REG:0x04=0x00
    RD REG:0x05=0x389
    RD REG:0x06=0x389
    RD REG:0x07=0x305
    RD REG:0x09=0x6a0
    RD REG:0x0a=0x42
    RD REG:0x0B=0x208
    RD REG:0x0c=0x231

    执行了下电上电以使 nFAULT 再次失效
    nFAULT 无效..

    GHA (CH2、蓝色走线)与 nFAULT (CH1、黄色走线)的图片
    示波器设置为在 nFAULT 的下降沿触发、(nFAULT) LED 亮起

    >(R) ead 寄存器
    ------------------------
    读取 Reg1-12
    ------------------------
    RD REG:0x01=0x420
    RD REG:0x02=0x80
    RD REG:0x03=0x00
    RD REG:0x04=0x00
    RD REG:0x05=0x344
    RD REG:0x06=0x344
    RD REG:0x07=0x216
    RD REG:0x09=0x20
    RD REG:0x0a=0x00
    RD REG:0x0B=0x10A
    RD REG:0x0c=0x2c8

    23、与21相同、但更具缩放效果

    GHB (CH2、蓝色波形)与 nFAULT (CH1、黄色波形)的图片
    示波器设置为在 nFAULT 的下降沿触发、(nFAULT) LED 亮起

    >(R) ead 寄存器
    ------------------------
    读取 Reg1-12
    ------------------------
    RD REG:0x01=0x430
    RD REG:0x02=0x81
    RD REG:0x03=0x00
    RD REG:0x04=0x00
    RD REG:0x05=0x389
    RD REG:0x06=0x389
    RD REG:0x07=0x305
    RD REG:0x09=0x6a0
    RD REG:0x0a=0x42
    RD REG:0x0B=0x208
    RD REG:0x0c=0x231

    执行了下电上电以使 nFAULT 再次失效
    nFAULT 无效..

    GHB (CH2、蓝色波形)与 nFAULT (CH1、黄色波形)的图片
    示波器设置为在 nFAULT 的下降沿触发、(nFAULT) LED 亮起

    >(R) ead 寄存器
    ------------------------
    读取 Reg1-12
    ------------------------
    RD REG:0x01=0x430
    RD REG:0x02=0x481
    RD REG:0x03=0x00
    RD REG:0x04=0x00
    RD REG:0x05=0x389
    RD REG:0x06=0x389
    RD REG:0x07=0x305
    RD REG:0x09=0x6a0
    RD REG:0x0a=0x42
    RD REG:0x0B=0x208
    RD REG:0x0c=0x231


    完成此练习后、我观察到:

    从数据表第20页的7.3.3 VCPH 电荷泵高侧栅极电源:
    "为了支持低电压运行、我们使用了经过稳压的三路电荷泵方案来创建足够的 VGS、以便在低电压瞬态期间驱动标准和逻辑电平 MOSFET。 电荷泵在4.4V 至18V 之间以三倍频器模式调节电压。 超过18V、直到达到最大工作电压、它将切换到倍压器模式、以提高效率。 在 EN_GATE 设置为高电平之前、电荷泵将被禁用、以减少 IC 不需要的功耗。"

    从波形可以看出、VCPH Vmax = 24V。 但我的想法却很难让人感到很不好。 ULD 为3倍电源电压、电压应为~ 36V。进一步而言、三倍频器电压可能仅在芯片内部可用。 这是什么? 对此有什么想法吗?

    VCPH 在24V 左右徘徊、这不等于3x VCC、该值应为`36V、或至少为30V、考虑到 VCC 降至10V。 但这不会发生。
    2、即使在仅报告模式下、栅极脉冲也会下拉并将 nFAULT 置为有效?
    3.用手插入 EN_GATE 连接器会导致一些瞬变、有时会使 nFAULT 无效、但并非总是如此。 只有下电上电后才能再次使其无效。 想知道怎么做,为什么……
    4.在某些时间点,栅极被正确驱动?

    我根本不理解这种行为。 也许您可以提供一些见解?

    谢谢、

    制造商

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

    您好、Garrett、

    很抱歉,我在你回复之前再次发布了。。。

    我自己做了一些测试、也许它可以提供一些额外的信息。

    1 GHB (触发器)

    >(E)启用门

    >(R) ead 寄存器

    ------------------------

    读取 Reg1-12

    ------------------------

    RD REG:0x01=0x430

    RD REG:0x02=0x81

    RD REG:0x03=0x00

    RD REG:0x04=0x00

    RD REG:0x05=0x389

    RD REG:0x06=0x389

    RD REG:0x07=0x305

    RD REG:0x09=0x6a0

    RD REG:0x0a=0x42

    RD REG:0x0B=0x208

    RD REG:0x0c=0x231

    循环通电

    2号 GHB (触发器)

    >(E)启用门

    >(R) ead 寄存器

    ------------------------

    读取 Reg1-12

    ------------------------

    RD REG:0x01=0x430

    RD REG:0x02=0x81

    RD REG:0x03=0x00

    RD REG:0x04=0x00

    RD REG:0x05=0x389

    RD REG:0x06=0x389

    RD REG:0x07=0x305

    RD REG:0x09=0x6a0

    RD REG:0x0a=0x42

    RD REG:0x0B=0x208

    RD REG:0x0c=0x231

    循环通电

    #3 GHB (触发器)

    循环通电

    #4 CH1=GHB 触发(黄色走线)、CH2=电机 B (蓝色走线)

    循环通电

    #5 CH1=GHC 触发器(黄色走线)、CH2=电机 C (蓝色走线)

    ------------------------

    读取 Reg1-12

    ------------------------

    RD REG:0x01=0x4b0

    RD REG:0x02=0x81

    RD REG:0x03=0x60

    RD REG:0x04=0x00

    RD REG:0x05=0x389

    RD REG:0x06=0x389

    RD REG:0x07=0x305

    RD REG:0x09=0x6a0

    RD REG:0x0a=0x42

    RD REG:0x0B=0x208

    RD REG:0x0c=0x231

    循环通电

    #6 CH1=GHA 触发(黄色走线)、CH2=电机 A (蓝色走线)

    >(E)启用门

    >(R) ead 寄存器

    ------------------------

    读取 Reg1-12

    ------------------------

    RD REG:0x01=0x430

    RD REG:0x02=0x81

    RD REG:0x03=0x00

    RD REG:0x04=0x00

    RD REG:0x05=0x389

    RD REG:0x06=0x389

    RD REG:0x07=0x305

    RD REG:0x09=0x6a0

    RD REG:0x0a=0x42

    RD REG:0x0B=0x208

    RD REG:0x0c=0x231

    无论我做什么、我都无法得到 GHA 的波形、因为我得到的是 GHB/GHC。

    我的逻辑思维是、HA MOSFET 可能是问题的罪魁祸首。 首先要做的是对 HA MOSFET 进行降级。 使用万用表检查 MOSFET 时、未显示任何短路。

    下一个想法是在移除的条件下使用 HA MOSFET 测试电路板、而不替换它。 这也没有显示任何差异。

    但有两个有趣的观察结果:

    1.温室气体开始的行为与温室气体气体发生时的情况相似

    2.即使在移除 HA FET 的情况下、

    寄存器读出:

    >(R) ead 寄存器
    ------------------------
    读取 Reg1-12
    ------------------------
    RD REG:0x01=0x430
    RD REG:0x02=0x81
    RD REG:0x03=0x00
    RD REG:0x04=0x00
    RD REG:0x05=0x389
    RD REG:0x06=0x389
    RD REG:0x07=0x305
    RD REG:0x09=0x6a0
    RD REG:0x0a=0x42
    RD REG:0x0B=0x208
    RD REG:0x0c=0x231

    寄存器0x02、低侧 MOSFET B 的 VDS 过流故障、检测过流故障

    移除 HA FET 后,如何检测 OC 故障?

    总的来说、还有另一个发现:

    尽管 DRV8305设置为仅报告、但波形会在短时间内停止、正如您从捕获的波形中看到的那样?

    我的问题是:

    1. DRV8035内部的栅极驱动器是否可能损坏,是否可能损坏 A 段?

    2.也可能用于电流感测 A?

    你怎么看?

    谢谢、

    制造商

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

    详细介绍您的帖子需要一些时间、但要在我的脑海中回答您的一些具体问题:

    VCPH 只能驱动比 PVDD 高大约10V 的电压、以避免对高侧 FET 施加过大的 Vgs。 如图5所示、VCPH 在11V PVDD 以上保持水平或水平更低。 因此、24V VCPH @ 14V PVDD 正是器件应运行的位置
    2.在仅报告模式下,栅极应*不*下拉,但 nFAULT 有效
    3.故障将由 EN_GATE 引脚上的高-低-高脉冲清除(低电平持续时间至少为1us)。 向寄存器0x9的位1写入"1"也可以清除故障。

    我需要一些时间来完成所有示波器捕获、看起来您也刚刚发布了一个新的更新、但当我有更多的故障排除建议时、我会告诉您。

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

    您好、Garrett、

    [引用用户="Garrett Walker "]


    VCPH 只能驱动比 PVDD 高大约10V 的电压、以避免对高侧 FET 施加过大的 Vgs。 如图5所示、VCPH 在11V PVDD 以上保持水平或水平更低。 因此、24V VCPH @ 14V PVDD 正是器件应运行的位置

    [/报价]

    是的、有道理。

    [引用用户="Garrett Walker "]

    2.在仅报告模式下,栅极应*不*下拉,但 nFAULT 有效

    [/报价]

    在仅报告模式下,如果您查看波形,栅极似乎被下拉,不是吗? 还是其他一些保护机制? 但无法找到任何其他反复读取数据表的内容。

    谢谢、

    制造商

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

    您好、Garrett、

    在没有所有 MOSFET 的情况下进行了另一轮测试、同时电流感应电阻器已就位。


    已启动
    ===========================
      STM32F334您好!
    ===========================
    DRV8305唤醒
    SPI 初始化:CPOL=0、CPHA=1
    PWM 初始化
    DRV8305寄存器
    ------------------------
    读取 Reg1-12
    ------------------------
    RD REG:0x01=0x00
    RD REG:0x02=0x00
    RD REG:0x03=0x00
    RD REG:0x04=0x00
    RD REG:0x05=0x344
    RD REG:0x06=0x00
    RD REG:0x07=0x00
    RD REG:0x09=0x00
    RD REG:0x0a=0x00
    RD REG:0x0B=0x00
    RD REG:0x0c=0x2c8

    DRV8305初始化

    WR REG:0x05=0x389
    WR REG:0x06=0x389
    WR REG:0x07=0x305
    WR REG:0x09=0x6a0
    WR REG:0x0a=0x42
    WR REG:0x0B=0x208
    WR REG:0x0c=0x31

    DRV8305寄存器
    ------------------------
    读取 Reg1-12
    ------------------------
    RD REG:0x01=0x00
    RD REG:0x02=0x00
    RD REG:0x03=0x00
    RD REG:0x04=0x00
    RD REG:0x05=0x389
    RD REG:0x06=0x389
    RD REG:0x07=0x305
    RD REG:0x09=0x6a0
    RD REG:0x0a=0x42
    RD REG:0x0B=0x208
    RD REG:0x0c=0x231

    在没有任何 MOSFET 的情况下、电流感应电阻器都已就位、
    启用门

    --------------------------------------------
           STM32F334控制台菜单
    --------------------------------------------
           (E/E)=使能门
           (D/D)=禁用门
           (T/T)=切换门
           (Q/Q)=退出菜单
           (R/R)=读取寄存器
    --------------------------------------------
    >(E)启用门
    >(R) ead 寄存器
    ------------------------
    读取 Reg1-12
    ------------------------
    RD REG:0x01=0x430
    RD REG:0x02=0x421
    RD REG:0x03=0x00
    RD REG:0x04=0x00
    RD REG:0x05=0x389
    RD REG:0x06=0x389
    RD REG:0x07=0x305
    RD REG:0x09=0x6a0
    RD REG:0x0a=0x42
    RD REG:0x0B=0x208
    RD REG:0x0c=0x231

    寄存器0x01
    0x430 =电荷泵欠压标志警告、
    或所有 VDS 过流监控器中、
    故障指示

    寄存器0x02
    0x421 =检测过流故障、
    低侧 MOSFET C 的 VDS 过流故障
    高侧 MOSFET A 的 VDS 过流故障

    禁用门、再次读取寄存器
    (d)启用门
    >(R) ead 寄存器
    ------------------------
    读取 Reg1-12
    ------------------------
    RD REG:0x01=0x400
    RD REG:0x02=0x01
    RD REG:0x03=0x00
    RD REG:0x04=0x00
    RD REG:0x05=0x389
    RD REG:0x06=0x389
    RD REG:0x07=0x305
    RD REG:0x09=0x6a0
    RD REG:0x0a=0x42
    RD REG:0x0B=0x208
    RD REG:0x0c=0x231

    寄存器0x02
    0x01 =检测过流故障
    这是两个计数的神秘之处、因为 EN_GATE = 0 MOSFET 被下拉
    此外、MOSFET 甚至不存在。

    VCPH = 13.8V、这是可以接受的、因为 EN_GATE = 0、
    根据数据表、电荷泵按 EN_GATE = 0关断
    为了验证是否再次设置了 EN_GATE = 1语句、然后 VCPH = 25.2V
    因此、电荷泵会按预期工作、这与我的想法相反。
    VCPH 被限制在大约 VCC + VGS (~10V)= 12.6 + 10 = 22.6V ->~25V、这与您之前所说的非常相似。



    寄存器再次被读取、

    >(E)启用门
    >(R) ead 寄存器
    ------------------------
    读取 Reg1-12
    ------------------------
    RD REG:0x01=0x420
    RD REG:0x02=0x1A1
    RD REG:0x03=0x00
    RD REG:0x04=0x00
    RD REG:0x05=0x389
    RD REG:0x06=0x389
    RD REG:0x07=0x305
    RD REG:0x09=0x6a0
    RD REG:0x0a=0x42
    RD REG:0x0B=0x208
    RD REG:0x0c=0x231

    寄存器0x02
    0x1a1 =检测过流故障、
    低侧 MOSFET C 的 VDS 过流故障、
    低侧 MOSFET B 的 VDS 过流故障、
    高侧 MOSFET B 的 VDS 过流故障

    在任何情况下都不可能做到这一点。 我认为 DRV8305是坚果:-)

    你怎么看?

    谢谢、

    制造商

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

    您好、Garrett、

    双手感到发痒,找到问题的根源.. :-)

    将条件切换为:

    第一。 MOSFET 全部被移除
    2。 VDS 保护被禁用
    3号。 禁用 SNS 过流保护故障和报告
    4. 禁用栅极驱动器故障和报告
    5号。 将电荷泵欠压阈值电平设置为4.6V
    6号。 VDS 感应消隐7us

    void drv8305_init (void)
    {
    static uint16_t reg_8305[13];
    static uint16_t data;
    uint8_t i;
    
    //初始化存储*
    for (i = 1;i < 13;i++)
    reg_8305[i]= 0;
    
    //读取 drv8305寄存器*/
    for (i = 1;i+
    
    
    = 0x08;if i = 1);i+ I = 1;I = 1 (I = 0x13);I = I + I = 1;I = 1)
    REG_8305[i]=数据;
    }
    
    REG_8305[0x05]= TDRIVEN_1780NS | IDRIVEN_HS_500mA | IDRIVEP_HS_500mA;
    REG_8305[0x06]= TDRIVEP_1780NS | IDRIVEN_LS_500mA | IDRIVEP_HS_500mA | REG_WDD_VDD_ON_EN_015_IN_IN_V_015_V_INT_VDD_INT_VCCS_015_0_IN_IN_V_0_IN_0_IN_IN_V_0_IN_V_V_0_IN_INT_VDD_INT_VDD_INT_VDD_TS_EN_EN_EN_EN_IN_IN_IN_INT_VDD_INT_VDD_EN_IN_IN_INPUT_TS_0_IN_IN_IN_TS_INPUT_IN_IN_IN_IN_IN_V_IN_IN_V_0_TS_IN_IN_IN_V_015_TS_
    
    
    
    
    REG_8305[0x0a]= DC_CAL_CH3_NORMAL | DC_CAL_CH2_NORMAL | DC_CAL_CH1_NORMAL | CS_BLANK_500ns | GAIN_CS3_10VV| GAIN_CS2_10VV| GAIN_CS1_40VV;
    
    REG_8305[0x0B]= CLIN_I VDS_I = 0x305+(
    
    
    
    
    = 0x8VDS_I RE_I = 0x305+)| RE_I REVDS = 0x305+
    
    = 0x8V (= 0x305+= 0x8VDS_I RE_I RE_I = 0x305+= 0x8V);RE_I RE_I REVDS = 0x305+= 0x8V = 0x8VD+= 0x8V = 0x305+= 0x8VD+= 0x3+= 0x3+= 0x3+= 0x3+(RE_I RE_I RE_I RE_I
    
    
    



    启动、使能门、读取寄存器:

    ===========================
    STM32F334您好!
    ===========================
    DRV8305唤醒
    SPI 初始化:CPOL=0,CPHA=1
    PWM 初
    始化转储 DRV8305寄存器
    -------------------------------------------------------
    读取 Reg1-12
    --------------------------------------------------------
    RD REG:0x01=0x00
    RD REG:0x02=0x00
    RD REG:0x03=0x00
    RD REG:0x04=0x00
    
    
    
    
    
    
    
    
    
    
    389 REG:0x05=0x389 RD REG:0x06=0x389 RD REG:0x07=0x30d RD REG:0x09=0x7b1 RD REG:0x0A=0x42 DRRD- 0x02B=0x30WR REG-
    
    
    0x08WR REG- 0x30D- 0x430RD- 0x430RD- 0x08WR
    
    
    REG- 0x2024=0x430RD- 0x08WR REG- 0x2024- 0x02- 0x430RD- 0x2024- 0x430RD- 0x2024- 0x430RD- 0x430RD- 0x430RD- 0x08WR REG- 0x2024- 0x430RD- 0x2024=0x430R REG- 0x430RD- 0x2024- 0x2024- 0x430R REG- 0x430RD- 0x02- 0x2024
    
    
    
    读取 Reg1-12
    --------------------------------------------------------
    RD REG:0x01=0x00
    RD REG:0x02=0x00
    RD REG:0x03=0x00
    RD REG:0x04=0x00
    RD REG:0x05=0x389
    RD REG:0x06=0x389
    RD REG:0x07=0x30d
    RD REG:0x09=0x7b1
    RD REG:0x0A=0x42
    RD REG:0x0B=0x208---
    
    
    
    STM32F334控制台菜单
    -------------------------------------------------------
    (E/E)=使能门
    (D/D)=禁用门
    (T/T)=切换门
    (Q/Q)=退出菜单
    (R/R)=读取寄存器-------------------------------------------------------
    
    >(E)启用门
    >(R) ead 寄存器
    -------------------------------------------------------
    读取 Reg1-12
    --------------------------------------------------------
    RD REG:0x01=0x10
    RD REG:0x02=0x00
    RD REG:0x03=0x00
    RD REG:0x04=0x00
    RD REG:0x05=0x389
    RD REG:0x06=0x389
    RD REG:0x07=0x30d
    RD REG:0x09=0x7b1
    RD REG:0x0A=0x42
    RD REG:0x0B=0x208
    RD:0x208
    

    第一。 GHA

    2。 GLA

    3号。 GHB

    4. GLB

    5号。 GHC

    6号。 GLC

    GLA 和 GLB 看起来很奇怪,不是吗? 栅极驱动器 GLA 和 GLB 是否会损坏?

    此外、仅在故障禁用时启用栅极。 在单独报告模式下、一个周期被下拉。

    此外、电路板上还会发出微弱的尖叫声音。 很难识别它的来源。 以前,声音在那里,但只有一小部分声音在那里,我的理解是,它与 EN_GATE = 1有关,但我被错误地站在那个地方,似乎声音可能是电荷泵声音?

    您认为8305上的输出级是否损坏?

    谢谢、

    制造商

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

    我同意 GLA 波形是奇数、但我在 GLB 波形中根本看不到任何信号(可能您附加了错误的图像?)。

    我还同意 SnS_OCP 错误是可疑的、但从 GLA 波形来看、我们看到这些错误可能是有道理的。 根据数据表、当 SLx 引脚上的电压超过2V 时、SNS_OCP 误差将跳闸。 当 DRV8305的栅极输出处于关断状态时、源极和栅极在内部短接在一起。 从示波器捕获来看、由于 GLA 未放电、SLA 可能会浮动、并从 GLA 波形上看到被上拉至~8V。 您能否获取显示 SLA 引脚电压电平的波形?

    至少、我会尝试在您的电路板上重新流动 DRV8305的焊接连接、以确保所有引脚与焊盘保持良好接触。 如果方便、您还可以考虑更换器件以排除损坏的可能性、但此时我不相信器件本身已损坏。

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

    您好、Garrett、

    我的手又想换一下8305,但坐在我手上直到专家到达,给它最后的祈祷和仪式。 ;-)

    GLB 波形:

    实际上、它不会丢失。 我想知道为什么示波器显示了这一点。 尽管示波器未触发、但在自动模式下尝试它。 但是、实际上 GLB 引脚上根本没有波形/电压、这就是波形显示的波形。 由于其他原因、我认为我的观察中出错了、但重新验证了几次。 当然、GLB 引脚上没有波形/电压。

    SLA 引脚:

    电路板上根本没有 MOSFET。 我只是想排除任何与 FET 相关的问题、并删除了所有这些问题。 SLA 通过电流感应电阻器连接到 GND,因此 SL_A/SN1引脚上自然不应有电压? 仍然给它一个快照:嗯、正如预期的那样、sl_A 上没有波形

    我在其中捕获了 SH_A、SH_B、SH_C 波形。

    第一。 SH_A

    2。 SH_B

    3、SH_C

    4.苏丹解放军

    我已经做了回流焊。 想象一下、将使用尖头热铁向下按 SLA 引脚、但最终使用放大镜将示波器探头放在 Pin35 (SLA)上。

    嗯,真的很神奇! 正如您预期的那样。

    5.全球人道主义援助

    6.全球法律援助协会

    7.温室气体

    GLB

    9.温室气体

    10.全球法律中心

    看到8305实际上根本没有死,让人有点高兴。 :-)

    此外、这次在 EN_GATE = 1时、nFAULT 保持无效。

    非常感谢您的宝贵帮助!

    看起来一切正常、希望尝试使用默认设置来确认一切

    已恢复默认寄存器设置

    void drv8305_init (void)
    {
    static uint16_t reg_8305[13];
    static uint16_t data;
    uint8_t i;
    
    //初始化存储*
    for (i = 1;i < 13;i++)
    reg_8305[i]= 0;
    
    //读取 drv8305寄存器*/
    for (i = 1;i+
    
    
    = 0x08;if i = 1);i+ I = 1;I = 1 (I = 0x13);I = I + I = 1;I = 1)
    REG_8305[i]=数据;
    }
    
    REG_8305[0x05]= TDRIVEN_1780NS | IDRIVEN_HS_500mA | IDRIVEP_HS_500mA;
    REG_8305[0x06]= TDRIVEP_1780NS | IDRIVEN_LS_500mA | IDRIVEP_HS_500mA | REG_WDD_EN_VDD_EN_ON_EN_IN_015_V_INT_VDD_TS_ENABLE_LS_INPON_015_IN_V_015_V_IN_IN_IN_V_TS_VDD_V_EN_INT_VDD_TS_ENK_END_015_EN_IN_IN_IN_IN_V_IN_IN_V_TS_015_TS_V_INT_VDD_INT_VDD_TS_IN_TS_TS_INPON_TS_VDD_EN_EN_EN_EN_IN_INEST_VDD_IN_IN_IN_IN_IN_IN_TS_V_V_IN_IN
    
    
    
    REG_8305[0x0a]= DC_CAL_CH3_NORMAL | DC_CAL_CH2_NORMAL | DC_CAL_CH1_NORMAL | CS_BLANK_500ns | GAIN_CS3_10VV | GAIN_CS2_10VV | GAIN_CS1_40VV;
    REG_8305[0x0B]= CLIN_I VDS_I = 0x305+(
    
    
    
    
    = 0x8VDS_I RE_I = 0x305+)| RE_I REVDS = 0x305+
    
    = 0x8V (= 0x305+= 0x8VDS_I RE_I RE_I = 0x305+= 0x8V);RE_I RE_I REVDS = 0x8V = 0x305+= 0x8VD+= 0x8V += 0x305+= 0x3+(VD+= 0x3+= 0x3+= 0x3+= 0x3+= 0x3+);(RE_I
    
    
    

    在启用栅极之前读取寄存器

    >(R) ead 寄存器
    ------------------------------
    读取 Reg1-12
    --------------------------------------------------------
    RD REG:0x01=0x00
    RD REG:0x02=0x00
    RD REG:0x03=0x00
    RD REG:0x04=0x00
    RD REG:0x05=0x389
    RD REG:0x06=0x389
    RD REG:0x07=0x305
    RD REG:0x09=0x4a0
    RD REG:0x0A=0x42
    RD REG:0x0B=0x208
    RD:0x230 RD:c
    

    已启用门

    (e)启用门
    >(R) ead 寄存器
    --------------------------------------------------------
    读取 Reg1-12
    --------------------------------------------------------
    RD REG:0x01=0x420
    RD REG:0x02=0x200
    RD REG:0x03=0x00
    RD REG:0x04=0x00
    RD REG:0x05=0x389
    RD REG:0x06=0x389
    RD REG:0x07=0x305
    RD REG:0x09=0x4a0
    RD REG:0x0A=0x42
    RD REG:0x0B=0x208
    RD:0x230 RD:c
    

    在另一个下电上电时、我得到了寄存器0x02 = 0x220

    现在可以是什么?

    谢谢、

    制造商

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

    我假设这是最近一次测试、但 FET 仍然未安装、这是正确的吗?

    通常情况下、SHx 引脚有一些轻微泄漏、这会导致 SHx 电压上升到 GND 和 VCPH 之间的某个位置(或 VBAT、如果安装了高侧 FET、体二极管将限制此电压)、具体取决于泄漏量。 如果未安装低侧 FET、这将导致 VDS 监视器跳闸(0x200 = VDS_LA、0x020 = VDS_LC)、因为 SHx 与 SLx 之间将存在较大的电压差。 然而、如果 FET 被安装、当打开时、它将对这个电压放电、而 SHx 与 SLx 的差异将几乎为0。

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

    您好、Garrett、

    应该等了,我才提前发布;

    将所有 FET 焊接回来。 在全部3个桥臂上、MOTOR_A、NOTOR_B、MOTOR_C

    我在全部三个 MA、MB、MC 上得到相同的波形

    >(R) ead 寄存器
    ------------------------------
    读取 Reg1-12
    --------------------------------------------------------
    RD 寄存器:0x01=0x00
    RD 寄存器:0x02=0x00
    RD 寄存器:0x03=0x00
    RD 寄存器:0x04=0x00
    RD 寄存器:0x05=0x389
    RD 寄存器:0x06=0x389
    RD 寄存器:0x07=0x305
    RD 寄存器:0x09=0x4a0
    RD 寄存器:0x0A=0x42
    RD 寄存器寄存器:0x0B=0x208--
    
    --(RED----)启用 Rd------(0x230--
    ------)
    
    读取 Reg1-12
    --------------------------------------------------------
    RD REG:0x01=0x00
    RD REG:0x02=0x00
    RD REG:0x03=0x00
    RD REG:0x04=0x00
    RD REG:0x05=0x389
    RD REG:0x06=0x389
    RD REG:0x07=0x305
    RD REG:0x09=0x4a0
    RD REG:0x0A=0x42
    RD REG:0x0B=0x208
    RD:0x230 RD:c 

    似乎没有任何错误! 误差是由于未焊接的 FET、AFAICS 造成的。

    但我仍然想知道该误差是如何显示 VDS 过流误差的? 不过有点令人困惑。

    非常感谢。 感谢您的耐心和投入此帮助的时间。

    我欠你一杯啤酒。 无论何时、您都可以找到这些器件!

    谢谢、

    制造商