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

NFC-Nrf52 doesn't respond wake-up command if crc check is disabled for rx

I implement a card emulation and the card itself doesn't conform to 14443A-3 crc check. I need to disable crc check on card selected event

NRF_NFCT->RXD.FRAMECONFIG &= ~NFCT_RXD_FRAMECONFIG_CRCMODERX_Msk;

However if I do that, on anticollition procedure, it doesn't respond to wake-up command and causes very strange behaviors on the reader.

If I don't disable crc check it works well.

If I try to re-enable crc check on SLP_REQ on EVENTS_RXFRAMEEND but it doesn't help.

Do you know how to bypass crc check and it still respects to sleep/wakeup command?

Thanks in advance.

Parents
  • FormerMember
    0 FormerMember

    The following code snipped from wake_on_nfc with NRF_NFCT->RXD.FRAMECONFIG &= ~NFCT_RXD_FRAMECONFIG_CRCMODERX_Msk; added, works fine when I test it here:

    int main(void)
    {
        utils_setup();
    		NRF_NFCT->RXD.FRAMECONFIG &= ~NFCT_RXD_FRAMECONFIG_CRCMODERX_Msk;
        // Turn on LED to indicate that the device entered System ON mode.
        bsp_board_led_on(BSP_BOARD_LED_0);
    		
    while (true)
    {
        if (m_system_off_mode_on)
        {
            nrf_delay_ms(100);
            // Enter System OFF mode.
            NRF_POWER->SYSTEMOFF = 1;
        }
    }
    }
    

    Is that what you meant, disable CRC and then wake up the chip?

  • FormerMember
    0 FormerMember in reply to FormerMember

    I'm sorry for the late response. How were you able to see the correct and incorrect behavior?

Reply Children
No Data
Related