This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

NFC Problem in SDK15

Hi everyone,

Yesterday I asked a question, but no one has answered yet.

Previous question:

https://devzone.nordicsemi.com/f/nordic-q-a/35067/nfc-tag-can-t-work-with-ble-in-sdk15

I have several Boards in my hand and I did a few tests today and the results are confusing.  I do not change my NFC code, because it works fine in SDK14.1. I just implement this NFC code in ble_app_template project.

SDK  Hardware result
SDK14.1 nrf52840 PDK (0.9.3) NFC works fine
nrf52840 PDK (0.11.0) NFC works fine
nrf52832 Board from third party(QFAAB0) NFC works fine
SDK15 nrf52840 PDK (0.9.3) NFC works fine
nrf52840 PDK (0.11.0) can't detect NFC Tag
nrf52832 Board from third party(QFAAB0) NFC works fine

I would appreciate your help.

Regards,

Fengjie

Parents
  • Hi,

    There is a issue with hal_nfc_t2t.c file, where the HFCLK is requested too early, which does not affect revision A. Can you see if the following changes fixes the issue?

    diff --git a/components/nfc/t2t_lib/hal_t2t/hal_nfc_t2t.c b/components/nfc/t2t_lib/hal_t2t/hal_nfc_t2t.c
    index 25c79fb..1ce35f6 100644
    --- a/components/nfc/t2t_lib/hal_t2t/hal_nfc_t2t.c
    +++ b/components/nfc/t2t_lib/hal_t2t/hal_nfc_t2t.c
    @@ -546,8 +546,6 @@ static inline void nrf_nfct_field_event_handler(volatile nfct_field_sense_state_
             case NFC_FIELD_STATE_ON:
                 if (!m_field_on)
                 {
    -                HAL_NFC_DEBUG_PIN_SET(HAL_NFC_HCLOCK_ON_DEBUG_PIN);  //DEBUG!
    -                nrf_drv_clock_hfclk_request(&m_clock_handler_item);
     
     #ifdef HAL_NFC_NRF52840_ENGINEERING_ABC_WORKAROUND
                     /* Begin: Bugfix for FTPAN-190 */
    @@ -562,6 +560,8 @@ static inline void nrf_nfct_field_event_handler(volatile nfct_field_sense_state_
                     /* END: Bugfix for FTPAN-190 */
     #endif // HAL_NFC_NRF52840_ENGINEERING_ABC_WORKAROUND
     
    +                HAL_NFC_DEBUG_PIN_SET(HAL_NFC_HCLOCK_ON_DEBUG_PIN);  //DEBUG!
    +                nrf_drv_clock_hfclk_request(&m_clock_handler_item);
                     HAL_NFC_DEBUG_PIN_CLEAR(HAL_NFC_HCLOCK_ON_DEBUG_PIN);  //DEBUG!
                 }
                 m_field_on = true;
    

    (The same issue is also present for type 4 tags, and the fix is similar in hal_nfc_t4t.c instead).

Reply Children
No Data
Related