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.

MCT8316A: I2C address not acknowledged

Part Number: MCT8316A
Other Parts Discussed in Thread: MSP430FR2355, MSP430FR2311,

Tool/software:

I cannot get the MCT8316A to even acknowledge its own address.  I get a NAK on the first byte of all zeros.  

I have double checked the I2C timing.

I have nfault pulled up, by enabling pullup on GPIO in microcontroller.  Have also added external pullup resistor of 4.7K. (not shown on schematic)

Brake, drvoff, and speed inputs are all high.

I have checked all voltages and they are above the undervoltage lockout specifications.  I'm not sure what I am doing wrong.

MCT8316A_sch.pdf

  • Hi Andy,

    Could you please ensure that there's also an external pullup resistor on the FG pin? Both nFault and FG need to have pull-ups present on device power-up to enter into normal operation.

    Regards,
    Eric C.

  • Hi Eric,

    Yes, the FG pin also has a pullup enabled on the GPIO pin internally on the microcontroller.  I'm measuring 4.95V on this signal.

    Thanks,

    Andy

  • Hi Andy,

    Since you mentioned that you've checked all voltages (buck regulator, AVDD, DVDD), I believe the device should be powered up correctly, and the issue could be in the I2C implementation.

    Is the MCT8316A the only I2C target device on your I2C bus? or are there other I2C devices on the same I2C bus in your schematic?

    Are you using a hardware I2C peripheral in your microcontroller or are you implementing software I2C (bit-banging)?

    Please refer to this E2E FAQ for an example code that implements hardware I2C using a MSP430FR2355 LaunchPad to talk to MCx device.

    Please also refer to this E2E Post for an example code that implements software I2C using a MSP430FR2311 LaunchPad.

    If you have a MCT8316AEVM, you can try jumper-wiring the I2C SDA, SCL, and AGND from the EVM's communication interface over to your board and see if the device responds. Similarly, you can try jumper-wiring your microcontroller's I2C signals over to the EVM's MCT8316A to confirm whether your I2C implementation is good or not. Please note that the EVM's I2C bus is pulled up to 3.3V using the device's built-in AVDD, so you'll need to be careful to de-solder existing pull-ups to avoid I2C bus voltage conflict if you try this.

    Regards,
    Eric C.