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.

MCF8316A: No reaction over I2C bus.

Part Number: MCF8316A
Other Parts Discussed in Thread: MOTORSTUDIO, MCF8316D,

Tool/software:

Hello!

As the title says I am having some trouble communicating with the device over I2C. I am not using the eval board, instead a breakout PCB designed in line with the recommendation in the datasheet.

Having trawled these forums for answers, and finding no solution for my issue. I shall answer some common questions:

VDD is between 10-13v.

AVDD : 3.3v

DVDD : 1.5v

FB_BK : 5.3v

FG_PIN pulled to 3v3 via a 5.1K resistor.

nFAULT pulled to 3v3 via 5.1K.

3v3 in this case is supplied by an external MCU - NOT AVDD

SDA&SCL are pulled to 3v3 on the MCU board (datasheet for MCU board claims 4.7k)

MCU is a STM32F4 (pyBoard V1.1) with a SoftI2C to allow the 100us pause between bytes.

Some more voltages:

across Ccp - 4.8v

across Cfly - 11.56v

I know the device is booting, as the regulators get up to voltage and the FG pin toggles between high and low as the motor is slowly rotated by hand, but I can't seem to get any communication back and forth over I2C.

Thanks in advance!

  • Hi Arthur,

    All details are proper and I don't see issue with schematic.

    Just to verify I2C protocol, is there a way to hook GUI (Use EVM and MOTORSTUDIO), click I2C address finder?

    If you can do I2C logs please share it.

    Another information, we want to recommend use MCF8316C or MCF8316D.

    There many improvements made over MCF8316A, please refer to the FAQ 

    Thanks and Best regards

    Venkatadri S

  • Hi Venkatadri,

    Thanks for verifying the schematic.

    Unfortunately I don't have access to an Eval Board for the MCF8316, hence trying with a breakout board.

    The code as written does a scan for I2C devices as part of the start sequence, and I can verify that works with an alternate I2C device.

    I have replaced the ic.

    I am now receiving an ACK when polling address 0x02 (0x01 << 1) and no ACKs on any other random address. I would take that as the device responding as appropriate. The original I2C scan does not pick it up, but a raw write to the device address will return an ACK.

    For anyone else with the same issue, I am unsure what went wrong with the first device, but I can mark this as resolved for now.

    Many thanks,

    Arthur