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.

AM2612-Q1: AM261 I2C Issue

Part Number: AM2612-Q1
Other Parts Discussed in Thread: AM2612

Hi experts,

 

Good day! I am asking for customer.

Question 1:

In AM2612, is there error register that can indicate I2C error? Customer is using AM2612 as I2C peripehral device using interrupt mode. She found that it can't enter interrupt occasionally, 2% possibility. It will occurs AAS interrupt or XRDY interrupt.
When it can't enter interrupt, customer found that I2C clock is driven low. Sometimes Data line will also be driven low. But at that time AM2612 still can run. If customer cut the clock line hardware between AM2612 and I2C controller device, she found that I2C controller can recover.Customer is now using SDK.

normal waveform:

Question4_normal_waveform.jpeg

 

issued waveform:

Question4_issue_waveform1.jpeg

Question4_issue_waveform2.jpeg

 

2. Is there a detailed flow description of the I2C peripheral interrupt handling? There is no information in the TRM.

 

3. I2C BCM detailed description. I2C BCM is mentioned in register addendum but there is no detailed description on TRM.

 

Best Regards

Kita

  • Hi Kita,

    In AM2612, is there error register that can indicate I2C error?

    There are a handful of APIs you can use to check a variety of I2C errors. See the I2C LLD APIs.

    2. Is there a detailed flow description of the I2C peripheral interrupt handling? There is no information in the TRM.

    The I2C LED Blink Interrupt LLD example is a good place to start. You can also check the I2C Low Level Driver documentation. Please let me know if you have any follow-up questions.

    3. I2C BCM detailed description. I2C BCM is mentioned in register addendum but there is no detailed description on TRM.

    I assume you are referring to the I2C Backward Compatibility Mode. What additional information are you looking for?

    Regards,

    Brennan

  • Hi Brennan,

    Please check feedback from customer.

    1. I want to get the detailed error cause from the I2C register. I could not find the register that shows error cause in I2C LLD APIs

    The reason customer wants to get this register because they want to find the root cause of I2C peripheral can't enter interrupt that I described in the first thread. Do you have idea on this?

    2. Customer wants to have I2C peripheral interrupt handling. Does "I2C LED Blink Interrupt LLD " works on peripherals work mode?

    3. Yes, Backward Compatibility Mode. TRM and datasheet doesn't have detailed description on what's Backward Compatibility Mode and what's it used for. Could you give detailed description on this?

    Best Regards

    Kita

  • Kita,

    I am looping in a SW expert to help with items 1 and 2.

    3) I2C Backward Compatibility Mode refers to the I2C peripheral being backward-compatible to an I2C bus operating in standard mode (10kbps to 100kbps) and fast mode (up to 400kbps).

    The timing diagram below demonstrates the effect the BCM bit has on I2C module registers and interrupts:

    Regards,

    Brennan