PN5180: Timer1 not run

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

PN5180: Timer1 not run

598 Views
TrungDT
Contributor I

Hi NXP technical team,

I am using custom PN5180 board base on your PN5180 schenematic but sometimes when I send REQA command (ISO14443A-3) without the card, the function phhalHw_Pn5180_WaitIrq run infinity (not using PN5180_IRQ pin).

I check it and i found this in pnhalHw_Pn5180_Wait.c :
do
{
/* Read the IRQ register and check if the interrupt has occured */
PH_CHECK_SUCCESS_FCT(statusTmp, phhalHw_Pn5180_Instr_ReadRegister(pDataParams, IRQ_STATUS, &dwRegister));
}while(!(dwRegister & dwIrqWaitFor));

I tried read TIMER1_STATUS register during the while statement but T1_VALUE field not change while T1_RUNNING field = 1.

What causes this problem?

Thanks.

0 Kudos
Reply
4 Replies

545 Views
TrungDT
Contributor I

Hi danielchen,

Thanks for your answer.


I also made a new one, and sometimes it still goes into the infinity loop. As your answer, the new one ends the loop when I put the tag in the range of its antenna, but the old one cannot.

Can I ask what the reason causes this problem? Can I fix it with either software or hardware or both?

I am temporarily fixing this problem using the MCU timer with the given timeout value, which is the same as the PN5180 Timer1 timeout value.

Thanks and best regards.

0 Kudos
Reply

530 Views
danielchen
NXP TechSupport
NXP TechSupport

could you please let me know how can I reproduce this issue on my side with PN5180 EVK board?  For the MCU timer, and timer on PN5180,  maybe the difference is the accuracy.   

You can set a bit in the ISR of Timer1, to check whether Timer1 is run.

0 Kudos
Reply

514 Views
TrungDT
Contributor I

I polling the tag by sending REQA command frequently in loop of main  and sometime the system run into crashes.

I am using phpalI14443p3a_Sw_RequestA function for sending REQA command.

When the system is crashed, I still check the TIMER1_STATUS register, the T1_RUNNING field (bit 20) adrealy set to 1 but the T1_VALUE field not change. 

I am worried the the cause of the error is our hardware. I think the issue due to passive electronic components error (do not meet reference).

 

0 Kudos
Reply

560 Views
danielchen
NXP TechSupport
NXP TechSupport

If you put one tag in the range of the antenna the application should ends the loop and move on.