mxrt1020 LPI2C behaving differently in different power modes after adding interfaces

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

mxrt1020 LPI2C behaving differently in different power modes after adding interfaces

578 Views
tbtbtbt
Contributor III

Hello,

I am working on a project that uses lpi2c in a mix of low power mode and overdrive run mode (as defined by the powermode_switch demo app). My setup worked perfectly in both power modes for the I2C1 interface, but I also need I2C2 working in the project. So, after getting I2C1 working, I added I2C2 using the same configuration, setup and usage as I2C1. Now, every time I try to make an i2c transfer in overdrive run mode, I get a FIFO overrun error. However, this is not true in low power mode as the transfer completes fine. Another weird thing is that only master transfers to slave get the FIFO overrun error, master requests work fine in both power modes. This is true for both i2c1 and i2c2 interfaces.

Also, I am using an arduino uno for communication with the rt 1020 board. I can see that the data does not get fully transmitted to the uno during overdrive run mode by looking at the serial monitor, but whenever I terminate the debug session in this run mode, it triggers endless i2c transfers and I can see all of the data being sent in full. Very weird.

I've looked all over for what could be causing this, but I haven't been able to find anything. I use an I2C send helper function which all interfaces share so maybe I need to separate them? But then why would requests work fine always and sends work fine while in low power mode. 

Any help would be much appreciated. 

0 Kudos
2 Replies

550 Views
jeremyzhou
NXP Employee
NXP Employee

Hi,
Thank you for your interest in NXP Semiconductor products and for the opportunity to serve you.
According to your reply, the FIFO overrun error and uncomplete transmit only happen in the overdrive run mode, is it right?
I think I need more information to figure the issue out, for instance, the screenshot of I2C data transmit, demo code, etc.
Looking forward to your reply.
Have a great day.
TIC

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

 

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos

573 Views
tbtbtbt
Contributor III

The problem was actually unrelated to the power modes like I initially thought. I was able to solve this by just retrying a send every time a send failed. This solved the problem, but I still don't know why this was happening.

0 Kudos