Can not read NFC card on PN7150

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

Can not read NFC card on PN7150

1,236 Views
peterwu
Contributor II

My PN7150 can read most NFC cards.

I got a  ISO 14443-A NFC card.

ACOS3 Microprocessor Card (Contactless) | ACS 

I can receive i2c data from PN7150, but can not parse its UID and return Undetermined target.

Here is the i2c log 

====================================================

<< 61 03 0e
<< 61 03 0e 01 05 00 09 04 00 04 b0 8c d0 72

<< 61 03 0e
<< 61 03 0e 02 04 00 09 04 00 04 b0 8c d0 72

<< 61 03 0e
<< 61 03 0e 03 02 00 09 04 00 04 b0 8c d0 72

>> 21 04 03 01 05 03

<< 41 04 01
<< 41

- POLL MODE: Undetermined target
>> 21 06 01 01

<< 41 06 01
<< 41

CARD REMOVED

====================================================

I used NXP Software package is SW3241.zip

I traced the code in NxpNci.c 

It seem did not have case when i2c receive is  

Answer[0] == 0x61

Answer[1] == 0x03

in "bool NxpNci_WaitForDiscoveryNotification(NxpNci_RfIntf_t *pRfIntf)"

Any idea for it  ?

Tags (1)
0 Kudos
4 Replies

911 Views
peterwu
Contributor II

But I can not read this ACS NFC card . 

could I send this card to NXP to analyze ? 

if yes, send your real address to my private mail box .

We checked with our local agent, they did not have idea for ACS card . 

0 Kudos

911 Views
peterwu
Contributor II

Yes, I had read 17 bytes.   Sorry, I made mistake in printf.  

My question is 

the code check condition "((Answer[1] != 0x05) && (Answer[1] != 0x03))" in while loop.

but in below just allow "if (Answer[1] == 0x05)" case.

so could I change to "if (Answer[1] == 0x05) || (Answer[1] == 0x03) "   ?? 

pastedImage_1.png

0 Kudos

911 Views
Kan_Li
NXP TechSupport
NXP TechSupport

Hi Peter,

No, you need not do that, as the else condition includes the case of "Answer[1] == 0x03".


Have a great day,
Kan

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

911 Views
Kan_Li
NXP TechSupport
NXP TechSupport

Hi Peter,

Looks like the NCI message is not complete, for 61 03 frame, it is expected to have 17 bytes. for example,

[NCI][NOTIFICATION][61 03 0e 01 05 00 09 04 00 04 b0 8c d0 72 00 00 00]
   RF_DISCOVER_NTF
      * RF Discovery ID        = 1 [0x01]
      * RF Protocol            = {Std} PROTOCOL_NFC_DEP [0x05]
      * RF Technology and Mode = {Std} NFC_A_PASSIVE_POLL_MODE [0x00]
      * Length of RF Technology Specific Parameters = 9 [0x09]
      * RF Technology Specific Parameters = [0x04 0x00 0x04 0xB0 0x8C 0xD0 0x72 0x00 0x00]
         --> SENS_RES                = [0x04 0x00]
         --> NFCID1 Length           = 4 [0x04]
         --> NFCID1                  = [0xB0 0x8C 0xD0 0x72]
         --> SEL_RES Response Length = 0 [0x00]
         --> SEL_RES Response        = []

      * Notification Type      = Last Notification [0x00]


Have a great day,
Kan

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos