FlexIO configurate I2C when use DMA

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

FlexIO configurate I2C when use DMA

1,441 Views
qm1013
Contributor III

hello, NXP:

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

 

QQ图片20200911143440.png

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
3 Replies

1,123 Views
Bosko100
Contributor I

Hi Omar/NXP, 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

1,418 Views
Alexis_A
NXP TechSupport
NXP TechSupport

Hello @qm1013 ,

Could you share the configurations used for the DMA channel?

Also, the new SDK release is the RTM 4.0.0 (using S32 Design Studio 3.3), this has a similar tool to processor expert called Config Tools that I will suggest to use. 

Best Regards,

Alexis Andalon

0 Kudos

1,439 Views
qm1013
Contributor III

Besides, the MCU is S32K144 , and the PA version is SDK_S32K1xx_15.

we used the flexio_i2c driver.

0 Kudos