FlexIO in S32K144

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

FlexIO in S32K144

1,846 次查看
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 项奖励
回复
2 回复数

1,830 次查看
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 项奖励
回复

1,485 次查看
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 项奖励
回复