PN5190 IRQ seemly missing

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

PN5190 IRQ seemly missing

1,352 Views
rydertacongmanh
Contributor II

Dear experts,

Our reader is using the IC PN5190 firmware 2.3 and the NxpNfcRdLib_06.06.00_20200924

Below is the software flow we are checking:

0. Putting the card in a distance threshold above the antennas wherecommand RequestB will be failed

1. Turn off RF
phhalHw_FieldOff()

2. Turn on RF
phhalHw_FieldOn()

3. Apply RF protocol for card type ISO14443B
phhalHw_ApplyProtocolSettings(PHHAL_HW_CARDTYPE_ISO14443B)

4. Loop for 250 ms(this loop will exit if reader is able to detect the card. But in this testing, we put the test card in position so that this commadn reqB will be failed)

*status = phpalI14443p3b_RequestB(
                                                           pPalI14443p3b, /*Pointer to ISO14443p3b PAL Structure*/
                                                           0x00, /*Number Slots*/
                                                           0x10, /*Application Family Identifier*/
                                                          PH_OFF, /*Enable Extended ATQB*/
                                                          aAtqb, /*ATQB Response from Card*/
                                                         &bAtqbLen /*ATQB Response Length*/
);

5. After the loop in no4, the software will go to step in no1

We observer that after for awhile the IRQ signal seemly missed. The process of waiting is stucked for IRQ from PN5190 for 10 seconds then able to exit, in this code portion as below

rydertacongmanh_0-1647332343978.png

We used oscilloscope to ensure the issue for pin IRQ PN5190 and a GPIO for trigger purpose as below:

  • Before entering the waiting IRQ process, GPIO is pulled as LOW value.
  • After exit the waiting IRQ process, GPIO is pulled HIGH value.

In case the issue happen, during 10s GPIO pull LOW, we saw there is no IRQ from PN5190.

rydertacongmanh_2-1647332970202.png

Questions:

- Normally even if the card is not detected, PN5190 still need to wait for about ~ 680us follow this function as below:

PH_CHECK_SUCCESS_FCT(statusTmp, phhalHw_SetConfig(
pDataParams->pHalDataParams,
PHHAL_HW_CONFIG_TIMEOUT_VALUE_US,
PHPAL_I14443P3B_SW_ATQB_TIME_US + PHPAL_I14443P3B_SW_EXT_TIME_US));

We are not sure the reason why in this case there is no IRQ for the timeout event 680us. Please help to let us know if you have suggestion/advise to test/checking in this issue.

 

Thank you very much,

Best regards,

ryder

 

 

 

Labels (1)
0 Kudos
4 Replies

1,321 Views
danielchen
NXP TechSupport
NXP TechSupport

Hi ryder:

From function phhalHw_Pn5190_WaitIrq(),  the time out value is 10S.  The function is waiting for the event E_PH_OSAL_EVT_RF, it should be posted by CLIF ISR once the interrupt line goes high to the CLIF HAL.

danielchen_0-1647574720681.png

Regards

Daniel

0 Kudos

1,316 Views
rydertacongmanh
Contributor II

Dear Daniel,

Thank you for your reply.

 

From function phhalHw_Pn5190_WaitIrq(),  the time out value is 10S.  The function is waiting for the event E_PH_OSAL_EVT_RF, it should be posted by CLIF ISR once the interrupt line goes high to the CLIF HAL

-> Yes, normally there is IRQ raised, but when the issue happen we saw that there is no any IRQ raised during the waiting duration for 10s as the mentioned oscilloscope 's result.

Below is the flow of control currently:

0. Putting the card in a distance threshold above the antennas wherecommand RequestB will be failed

1. Turn off RF
phhalHw_FieldOff()

2. Turn on RF
phhalHw_FieldOn()

3. Apply RF protocol for card type ISO14443B
phhalHw_ApplyProtocolSettings(PHHAL_HW_CARDTYPE_ISO14443B)

4. Loop for 250 ms(this loop will exit if reader is able to detect the card. But in this testing, we put the test card in position so that this commadn reqB will be failed)

*status = phpalI14443p3b_RequestB(
                                                           pPalI14443p3b, /*Pointer to ISO14443p3b PAL Structure*/
                                                           0x00, /*Number Slots*/
                                                           0x10, /*Application Family Identifier*/
                                                          PH_OFF, /*Enable Extended ATQB*/
                                                          aAtqb, /*ATQB Response from Card*/
                                                         &bAtqbLen /*ATQB Response Length*/
);

5. After the loop in no4, the software will go to step in no1

--> Is it possible that in step no4, we are sending command RequestB continueously in loop 250ms without guard time can cause this issue of missing IRQ from PN5190?

Thank you very much,

Best regards,

ryder

0 Kudos

1,299 Views
danielchen
NXP TechSupport
NXP TechSupport

This possibility can not be ruled out.  I would suggest you refer to NfcrdlibEx3 Demo,  this demo will demonstrate reader functions to detect type A, type B, type F , type V tags and 18000p3m3 tags.

 

Regards

Daniel

0 Kudos

1,288 Views
rydertacongmanh
Contributor II

Hi Daniel,

Yes, we applied the guard time between two commands reqB consecutive and so far the issue not happen. But this is seemly strange because when we use the PN5180, the issue did not happen with this guard time. 

Thank you,

Best regards,

Ryder