cancel
Showing results for 
Search instead for 
Did you mean: 

st25r3918 Passive Target Mode Example

emcnicholas
Associate II

Hello i have a design using the st25r3918 and I have the reader portion of the design up and running using the latest rfal 3.0.  The device we are designing also requires the reader to act as a tag.  We would prefer to do this in passive target mode and emulate a nfca tag rather then listener mode as shown in the BLE pairing example.  Is there an example or procedure to place the device in passive target mode?

As a side note we have been working on using the active target mode and while I can detect the nfca field and the rfal moves to the card emulation state the radio state stays at radio busy so no data is recieved by the phone.

 

Thanks

Ed

1 ACCEPTED SOLUTION

Accepted Solutions
Brian TIDAL
ST Employee

Hi,

when using the second mode (discParam configured for CE mode), the wakeup mode can be enabled. When a smartphone enters the ST25R3918 operating volume, the ST25R3918 exits from wake up, enters CE mode and answers to the smartphone.

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

View solution in original post

6 REPLIES 6
Brian TIDAL
ST Employee

Hi,

if I understand properly (please correct me if I am wrong), you would like to emulate a Listener configured for the NFC-DEP protocol instead of a Listener configured for Type 4A Tag Platform. In that case, the SEL _RES answer to the SEL_REQ just needs to indicate the support of the NFC-DEP Protocol instead of Type 4A Tag Platform. The lmConfigPA.SEL_RES field of the rfalNfcDiscoverParam discParam has to be configured with 0x40 instead of 0x20 (if demo_polling.c is being used in your application, ceNFCA_SEL_RES can be updated from 0x20 to 0x40). Then, in the application main cycle, when a RFAL_NFC_POLL_TYPE_NFCA is found, P2P data exchange can be achieved with rfalNfcDataExchangeStart and rfalNfcDataExchangeGetStatus API. If demo_polling.c is being used, you can for example modify the case RFAL_NFC_POLL_TYPE_NFCA  in demoCycle() as following:

                    case RFAL_NFC_POLL_TYPE_NFCA:
                    case RFAL_NFC_POLL_TYPE_NFCF:
                        
                        platformLedOn( ((nfcDevice->type == RFAL_NFC_POLL_TYPE_NFCA) ? PLATFORM_LED_A_PORT : PLATFORM_LED_F_PORT), 
                                       ((nfcDevice->type == RFAL_NFC_POLL_TYPE_NFCA) ? PLATFORM_LED_A_PIN  : PLATFORM_LED_F_PIN)  );
                        platformLog("Activated in CE %s mode.\r\n", (nfcDevice->type == RFAL_NFC_POLL_TYPE_NFCA) ? "NFC-A" : "NFC-F");

                        if( nfcDevice->rfInterface == RFAL_NFC_INTERFACE_NFCDEP )
                        {
                            demoP2P( nfcDevice );
                        }
                        else
                        {
                            demoCE( nfcDevice );
                        }
                        break;

Note: clause 4.18 of the ISO/IEC 18092 defines the Passive Communication Mode. ISO/IEC 18092 defines as well Initiator (clause 4.7) and Target (4.23). But Passive Target mode is not defined in the ISO/IEC 18092. This is an ambiguous terminology. Do you mean a device acting as a target in passive communication mode?

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Thank you for the reply.  I have a device for a customer who wants to be able to read in a certain mode and then be the lowest power tag in another mode.  I might have misunderstood what passive target is in the implementation.

I am looking to send the device BLE pairing info over NFC in the lowest power mode available.  All of the tags we read are NFCA so NFCA is fine and likely preferred.

Is the Listener configuration the lowest power option?

 

Thanks,

Ed

Hi

if my understanding is correct, you want to use the st25r3918 in 2 different modes:

  1. reader mode where the device can read/write a tag
  2. Card Emulation (CE) mode where the device emulate a tag with a BLE pairing NDEF record that can be read by a reader (typically a smartphone)

Do you plan to use both modes (i. and ii.) combined together in a cycle (i.e. polling for tags --> CE  --> polling for tag --> CE --> etc.) or do you plan to move from reader mode to CE mode by a user action (e.g. button pressed)? Phones usually supports as well reader and CE modes. When a smartphone enters into the ST25R3918 operating volume, it will randomly act as a reader or a tag in CE. If Active P2P is supported by the phone, it can as well enter in Active Communication Mode. Note: Not all NFC-enabled Android phones are supporting NFC P2P anymore (APIs marked as deprecated by Google).

Can you share more information about your use cases and about the requirement "to send the device BLE pairing info over NFC in the lowest power mode available"? When the ST25R3918 is in CE mode, it does not emit field, so its power consumption is the one from Ready mode (see tables 111 and 112 from the datasheet). It can be reduced by using the wake up mode.

Rgds

BT

 

 

 

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
emcnicholas
Associate II

Your understanding looks correct and we will not be using the 2 modes at the same time.  I see that in table 112 that ready is 5.6ma and I was trying to get more in the INFCT level when not being read.

Brian TIDAL
ST Employee

Hi,

when using the second mode (discParam configured for CE mode), the wakeup mode can be enabled. When a smartphone enters the ST25R3918 operating volume, the ST25R3918 exits from wake up, enters CE mode and answers to the smartphone.

Rgds

BT

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
emcnicholas
Associate II

ok i will try that