Skip to main content
Associate
August 18, 2026
Question

ST25R3920B NFC Reader Card Detection Timing Analysis

  • August 18, 2026
  • 0 replies
  • 8 views

Hi ,

We observed the timing details for each state during card detection. These measurements were captured while running the demo cycle continuously in a while loop for card detection on bare metal.

 

We are using the NFC Reader stack on an AUTOSAR platform and executing the NFC task every 1 ms. During testing with NFC-A and Proprietary technologies, we observed that the card detection and validation process takes approximately 300 ms.

Could you help us understand how these timing values are expected to be observed and interpreted?

We observed that the PollTechDetectCnt reached 1162 during testing. Could you please confirm the expected number of iterations for each state in the polling and card detection sequence?

 Initialization for discovery parameters - 

 

 discParam.compMode = RFAL_COMPLIANCE_MODE_NFC;

  discParam.devLimit = 1U;

  discParam.nfcfBR = RFAL_BR_212;

  discParam.maxBR = RFAL_BR_KEEP;

  discParam.p2pNfcaPrio = false;

  discParam.wakeupEnabled = false;

  discParam.wakeupConfigDefault = false;

  discParam.wakeupNPolls = DISCOVERY_CNT;

  discParam.wakeupConfig.period = RFAL_WUM_PERIOD_100MS;

  discParam.wakeupConfig.irqTout = false;

  discParam.wakeupConfig.indAmp.enabled = true;

  discParam.wakeupConfig.indAmp.reference = RFAL_WUM_REFERENCE_AUTO;

  discParam.wakeupConfig.indAmp.delta = RFAL_WKPU_DELTA_TWO;

  discParam.wakeupConfig.indAmp.autoAvg = true; /**Changed to TRUE as per  HSI Requirement  */

  discParam.wakeupConfig.indAmp.aaWeight = RFAL_WUM_AA_WEIGHT_4; /**Added as per  HSI Requirement  */

  discParam.wakeupConfig.indPha.enabled = true;

  discParam.wakeupConfig.indPha.reference = RFAL_WUM_REFERENCE_AUTO;

  discParam.wakeupConfig.indPha.delta = RFAL_WKPU_DELTA_TWO;

  discParam.wakeupConfig.indPha.autoAvg = true;

  discParam.wakeupConfig.indPha.aaWeight = RFAL_WUM_AA_WEIGHT_4; 

  discParam.wakeupConfig.cap.enabled = false;

  #ifdef ST25R3916

  discParam.wakeupConfig.swTagDetect = true;

  #endif /* ST25R3916 */

  #ifdef SW_ALPCD

  discParam.wakeupEnabled = true;

  #endif /* SW_ALPCD */

  (void)ST_MEMSET(&discParam.propNfc, 0x00, sizeof(rfalNfcPropCallbacks));

  discParam.propNfc.rfalNfcpPollerInitialize = NULL;

  discParam.propNfc.rfalNfcpPollerTechnologyDetection = &PropNfcTechnologyDetection;

  discParam.notifyCb = &NFCNotif;

  discParam.totalDuration = 5ms;

  discParam.techs2Find = (RFAL_NFC_POLL_TECH_A | RFAL_NFC_POLL_TECH_PROP);

  discParam.isoDepFS = RFAL_ISODEP_FSXI_256;