FlexIO in S32K144

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

FlexIO in S32K144

1,592 Views
qm1013
Contributor III

hello, NXP:

when I use flexio which is configrated of DMA and I2C. 

FLEXIO_I2C_DRV_MasterSendDataBlocking this function is always return with STATUS_I2C_RECEIVED_NACK. 

when I use Oscilloscope test the I2C bus, the device address is send and receive OK , but the device address is sent twice.

However, when the FLEXIO i2c is set to interrupt mode , the communication is ok.

I don't know why. Could you give me some help?

0 Kudos
Reply
2 Replies

1,576 Views
Omar_Anguiano
NXP TechSupport
NXP TechSupport

Hello

It is possible that the delay between SCL and SDA is not compliant or too marginal with the defined timing. In those cases, unwanted START or STOP conditions can occur in the middle of the I2C pattern sent, causing the slave to get a different message or resulting in a missing acknowledgment.

It would be helpful if you send me the oscilloscope captures and the configuration of the i2c.

If you have more questions do not hesitate to ask me.

Best regards,

Omar

0 Kudos
Reply

1,231 Views
Bosko100
Contributor I

Hi all, I've the same issue. I'm working with S32K144 and SDK 3.0.2. I've configured flexio I2C with S32DS to work with DMA. When I use FLEXIO_I2C_DRV_MasterSendDataBlocking, sometimes device address is sent twice. This issue appear wit communication set to 400Kb. If I reduce communication speed to 100 Kb issue disappear.  Is this expected due to DMA timing limitation? Is this issue fixed into SDK 4.0.0?

0 Kudos
Reply