cancel
Showing results for 
Search instead for 
Did you mean: 

m24sr64 - i2c problem - token release sequence

Catheline Yoan
Associate
Posted on December 11, 2017 at 10:20

hello

i use the nfc memory m24sr64 with the dedicated source code ('STM32CubeExpansion_NFC1_V1.6.0').

I have an issue using the i2c token release sequence, supposed to close the i2c session.

In fact, our micro sends the start condition and the slave adress, but then, the ms24sr blocks the SCL line to low level for 28ms before releasing it.

Then the stop condition occurs.

So, during the i2c token release sequence, our micro sends 8 clock period for the start and the slave adress, and the 9th appears 28ms later.

So, the token release sequence seems not being correct, compared to the sequence on the m24sr64 datasheet.

Do you have an idea why the m24sr64 should block the SCL line during the token release sequence, although we send its correct adress ?

thank you !

1 ACCEPTED SOLUTION

Accepted Solutions
Rene Lenerve
ST Employee
Posted on December 14, 2017 at 09:51

Hi Catheline,

Normally the I2C Token release is supposed to put the SCL line Low for 40ms in the BSP driver. For that it uses the HAL_Delay function based on the HAL Systick timer. Did you modify the TimeBase of the Systick, it should be set to 1ms.

Best Regards.

View solution in original post

1 REPLY 1
Rene Lenerve
ST Employee
Posted on December 14, 2017 at 09:51

Hi Catheline,

Normally the I2C Token release is supposed to put the SCL line Low for 40ms in the BSP driver. For that it uses the HAL_Delay function based on the HAL Systick timer. Did you modify the TimeBase of the Systick, it should be set to 1ms.

Best Regards.