I have strange issue with a custom design reader based on the PN7462AU and on the example phExCcid.
The hardware is 100% following the documentation and the NXP reference design.
In a small production of 10 readers, all programmed with the same software and the same EEprom data, only 4 are working as expected and 6 have the same issue:
- When a contact card is inserted no ATR is read by the phhalCt_AtrParser() function, I get a time out error after 10s.
- The function phhalCt_WaitForAtrBytes() returns a timeout error after 10s of card insertion.
- I checked the I/O pin of the smartcard with a scope and I saw the ATR is properly sent by the card at the right time during the activation sequence.
The strange thing is if I insert a mute card the function phhalCt_WaitForAtrBytes() returns MUTE_ERROR as soon the card is inserted (no 10s timeout).
It means the 7816 UART is able to differenciate a card emitting an ATR and a mute card, with the faulty readers nothing is stored in the 7816 FIFO!
With the LPC Link-2 and MCUxpresso I ran the phExCcid example in debug mode and with the 6 faulty readers there is no call to CTIF_IRQHandler() while the card sends its ATR.
These 6 readers behave like if the 7816 UART was not enable?
All the soldering had been checked 4 times, all the voltages on VBUSP, VBUS, VUP are Ok.
During the card activation the Card VCC, RST, CLK are all OK. Decoupling capacitor are closed as possible to the PN7462.
Any idea on how to solve this issue.