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: I2C Errata

Part Number: MCF8316A

Concerning the I2C errata for the above part and listed in this thead...

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1066777/faq-production-device-information

It is mentioned that the part can lose the ability to communicate via I2C when the motor is spinning.

I believe the cause of this could be related to the FG pin. I first discovered that if the FG pin is left open the device will not communicate via I2C even though it boots properly. Once pulled high the I2C bus on the chip starts working.

I then configured the part to spin my motor and wrote some code to read back the motor/control loop parameters. When writing the read-back code I initially debugged it with the part freshly rebooted, having never spun a motor, and as such the read-back worked fine. However, when I then attempted to read-back, after MPET had already run, the I2C bus had stopped responding. I measured the FG pin and it was pulled down.

So I went into the configuration parameters and swapped the FG pin to only run in closed-loop (as MPET is open loop I figured the FG pin should be left alone when running MPET). Low and behold the I2C bus started working again and I could read back the register values after MPET had run.

I'm not sure what kind of workaround could be made for this but it could be useful information and indicates that something might be possible.

Hopefully the new version of the MCF8316A silicon is going to address this.

Regards,

Matt.

  • Hey Matt,

    I have assigned a member of our team to your thread. We will aim to provide feedback shortly.

    Best,

    Akshay

  • Hi Matt,

    Thanks for providing your observations on this issue. It's possible that when you changed the FG pin to output only in closed-loop helped reduce the algorithm's load on the motor controller and helped relieved the issue when MPET is running (MPET spins the motor up using open-loop / blind commutation). However, this may not help with reading I2C registers while the motor spins at high speeds in closed-loop.

    The MCF8316B's firmware has been updated addresses this issue.

    Regards,
    Eric C.