NFC fixes and workarounds

nRF5 SDK v15.2.0

Fixes for hardware-related anomalies. More...

Functions

static bool type_52840_check (void)
Internal auxiliary function to check if the program is running on the NRF52840 chip. More...
static bool type_52840_sample_check (void)
Internal auxiliary function to check if the program is running on first sample of NRF52840 chip. More...
static bool type_52840_final_check (void)
Internal auxiliary function to check if the program is running on final version of NRF52840 chip. More...

Detailed Description

Fixes for hardware-related anomalies.

If you are using the nRF52832 chip, you must define the macro HAL_NFC_ENGINEERING_BC_FTPAN_WORKAROUND to apply workarounds for the following anomalies:

  • 79. NFCT: A false EVENTS_FIELDDETECTED event occurs after the field is lost.
  • 116. NFCT does not release HFCLK when switching from ACTIVATED to SENSE mode.

If you are using the IC revision Engineering A of the nRF52840 chip, you must define the macro HAL_NFC_NRF52840_ENGINEERING_ABC_WORKAROUND to apply workarounds for the following anomalies:

  • 98. NFCT: The NFCT is not able to communicate with the peer.
  • 116. NFCT does not release HFCLK when switching from ACTIVATED to SENSE mode.
  • 144. NFCT: Not optimal NFC performance

If you are using the IC revision 1, Engineering B, or Engineering C of the nRF52840 chip, you must define the macro HAL_NFC_NRF52840_ENGINEERING_ABC_WORKAROUND to apply workarounds for the following anomalies:

  • 190. NFCT: Event FIELDDETECTED may be generated too early.

The use of implemented workarounds for the nRF52840 chip is determined at runtime and depends on the chip variant.

The current code contains a patch for anomaly 25 (NFCT: Reset value of SENSRES register is incorrect), so that it now works on Windows Phone.

Function Documentation

static bool type_52840_check ( void )
inline static

Internal auxiliary function to check if the program is running on the NRF52840 chip.

Return values
true It is the NRF52480 chip
false It is other chip
static bool type_52840_final_check ( void )
inline static

Internal auxiliary function to check if the program is running on final version of NRF52840 chip.

Return values
true It is NRF52480 chip and it is final version
false It is other chip
static bool type_52840_sample_check ( void )
inline static

Internal auxiliary function to check if the program is running on first sample of NRF52840 chip.

Return values
true It is NRF52480 chip and it is first sample version
false It is other chip