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.

DRV8873: Open load detection in passive mode

Part Number: DRV8873

Hello to all,

one of our customer would like to implement the function "open load" but has following issue/question:

In the datasheet of the DRV8873 page 24 (7.3.2.4.1 Open-Load Detection in Passive Mode (OLP)) it says that the Bit: EN_OL in the IC1 register needs to be set
--> But there is no Bit called EN_OL in the IC1 register. 
Therefore they assume that the EN_OLP in the IC4 register is meant?

If they go trough those points in the datasheet, they get an error on the nFault-Pin. 
They would then read the SPI registers to get the actual status.However, this reading process causes the error status to be reset even though no load is connected.

The read SPI register (diagnosis) provides the register value: 0.
While the status register indicates an Open Load Detection (OLD) during the reading process.

What is the correct procedure for carrying out an open load diagnosis?
Why is the error status reset by reading the registers, there is no CLR_FAULT command executed?

thanks in advance.

Best regards,
Brian

  • Hi Brian,

    We will investigate and report back by Friday.

  • Hi Brian,

    My apologies; I am still researching the question.

    Please expect a reply by Tuesday of next week.

  • Hi Brian,

    Sorry for the delay.

    --> But there is no Bit called EN_OL in the IC1 register. 
    Therefore they assume that the EN_OLP in the IC4 register is meant?

    Yes, that is correct. EN_OLP in IC4 Control register is meant.

    If they go trough those points in the datasheet, they get an error on the nFault-Pin. 
    They would then read the SPI registers to get the actual status.However, this reading process causes the error status to be reset even though no load is connected.

    The read SPI register (diagnosis) provides the register value: 0.
    While the status register indicates an Open Load Detection (OLD) during the reading process.

    What is the correct procedure for carrying out an open load diagnosis?
    Why is the error status reset by reading the registers, there is no CLR_FAULT command executed?


    I do not see this behavior on the EVM.
    Reading the registers does not reset the fault bits.
    Once EN_OLP is enabled with no load, the fault bits are set and can be read until either:

    1) The CLR_FLT bit is set in IC3 Control or
    2) a nSLEEP reset pulse is issued.

    As an experiment, please increase the SleepMs time at step 4 to 2, assuming that is ms.

    And let us know the results.