Clock Stretching for NT3H2111 NFC Chip

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

Clock Stretching for NT3H2111 NFC Chip

361 Views
mk7
Contributor I

Hello NXP Community,

I am currently working on a project involving the NT3H2111 NFC chip, which communicates with an nRF52840 microcontroller. I have encountered an issue related to the clock stretching feature of the NT3H2111 and would appreciate some guidance.

Here's the situation:

  • The NT3H2111 NFC chip has clock stretching enabled by default.
  • While the I2C peripheral on the nRF52840 supports clock stretching, the i2c driver that I am using does not. As a result, any transfer that takes longer than the theoretical time plus a custom specified margin triggers a timeout.

Given this, I have a few questions:

  1. Deactivation of Clock Stretching: What are the potential consequences of deactivating the clock stretching feature on the NT3H2111 chip? Is it safe to disable this feature, or could it impact the chip's performance or reliability?
  2. Upper Bound on Clock Stretching: If we keep clock stretching enabled, what is the maximum duration for which the NT3H2111 can stretch the clock? Understanding this limit could help us adjust the margins in the i2c driver to prevent the timeout.

Thank you in advance for your help!

0 Kudos
Reply
3 Replies

307 Views
Ricardo_Zamora
NXP TechSupport
NXP TechSupport

Hello,

 

Hope you are doing well. According to the Data Sheet, When I2C_CLOCK_STR is set to 0b, a pause of at least 50 μs shall be kept before this start condition.

 

Also, you need to force on your MCU, that READ sequence shall be atomic. Complete sequence of above figure needs to be executed, otherwise that tag may go to undefined state and stretches the clock infinitely.

 

All the available information can be found on DS, on section 9.

 

Regards,

Ricardo

0 Kudos
Reply

267 Views
mk7
Contributor I

Dear Ricardo,

Thank you for your response. I had previously read through that section of the documentation and was hoping for further clarification, hence the two questions. 

Please confirm my understanding from your response:

There will be NO undefined state or infinite clock stretch when disabling the clock stretching (I2C_CLOCK_STR=0b) as long as I add a 50us delay before the start condition?

 

Thank you very much!

0 Kudos
Reply

260 Views
Ricardo_Zamora
NXP TechSupport
NXP TechSupport

Hello,

 

If you follow all the remarks from the DataSheet, there should not be problem.

 

Regards,

Ricardo

0 Kudos
Reply