I am sending the following as a WUPA sequence:
0x8F, 0x90, 0x3D, 0x00, 0x0F, 0x52
Should this cause an interrupt?
Thanks,
jh
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
I am sending the following as a WUPA sequence:
0x8F, 0x90, 0x3D, 0x00, 0x0F, 0x52
Should this cause an interrupt?
Thanks,
jh
Hello John,
You should be getting a TX complete interrupt after you send that command. Are you getting an interrupt after you send that command ?
The P2P application note supports initiator mode for 106kbps. Currently it uses the polling command 0x26 (REQA), however you can modify the code to send a WUPA (change the NFC_A_send_SENS_REQ() in the nfc_a file) to compare the TRF7970A configuration and command flow to send the polling command successfully (www.ti.com/lit/pdf/sloa192).
Hope this helps!
Best regards,
Erick
Hello John,
You need to modify the ISO Control Register( 0x01) to 0x88 to receive witthout CRC after you send that command. The WUPA response does not have CRC.
Best regards,
Erick
Hello John,
For NFC-A the anticollision flow to activate either a Peer to Peer @ 106kbps (target) or a ISO14443-A (T2T or T4TA) tag the commands used are the same. Therefore, the Peer to Peer Initiator (@106kbps) will send the same commands as you would for a reader application. What registers did you configure before sending the WUPA command?
Best regards,
Erick
Hello John,
It needs to be set to 0x88 before sending the WUPA sequence, It doesnt need to be mdofieid to 0x08 (receive with CRC) until the SEL_REQ command is sent select the tag. (0x93 0x70 UID BCC CRC_A)
Please make sure that the follwing registers have been written:
- Chip Status Control Register (0x00) ==> 0x20 (3V) or 0x21 (5V) depending on your power supply.
- Modulator and SYS_CLK control (0x09) ==> 0x00 (when the transceiver boots up it needs to be written to since BIT7 is set by default and needs to be cleared.
- ISO Control (0x01) ==> 0x88 (ISO14443-A @ 106kbps, receiving without CRC)
- NFC Target Detection Level (0x18) ==> 0x00 (ensure that is cleared at boot up)
Best regards,
Erick
Hello John,
Those values look correct. Are you running your MCU from the 13.56MHz (SYS_CLK) output from the TRF7970A? If not, you can write a 0x00 to register 0x09 because the modulation depth applies to load modulation for target mode.
Would you be able to send me a logic screenshot of the communication between the TRF7970A and the MCU (including MOSI, MISO, SPI Clock, Slave Select, and IRQ)?
What hardware (i.e. MSP430F5529LP+DLP7970 BoosterPack) are you currently using to test the NFC functionality ?
Best regards,
Erick
Hello John,
I'm glad to hear that the command is being sent successfully.
You are correct the response in the FIFO should be the ATQA (SENS_RES).
When polling for tags I recommend to use REQA (this is what NFC enabled smartphones use to poll for NFC-A technology). WUPA is typically used when a tag has been put to sleep and we want to wake it. Nevertheless, tags will reply to both REQA and WUPA with the same response. The anticollision process can be initiated with either command.
Best regards,
Erick
Hello John,
When the IRQ register is read the IRQ line should be cleared. If it is not, then you can send another 0x83 (Soft. Init Direct Command) & 0x80 (Idle Direct Command) reconfigure the TRF7970A and try sending the polling command again. Are you able to send other polling commands (SENSB_REQ for NFC-B or SENSF_REQ for NFC-F)? This would require to ISO Control Register to be modified to match the NFC technology.
Make sure the start-up sequence follows the timing guidlines shown in Figure 6-3 from the TRF7970A datasheet (http://www.ti.com/lit/gpn/trf7970a).
Do you have a MSP430F5529 Experimenter + TRF7970ATB or MSP430F5529 Launch Pad + DLP7970 ? We can use one of those two hardware setups in sniffer mode to check if your hardware is sending the command correctly.
Best regards,
Erick
Hello John,
In our NFC driver we delay 10 mS after the EN line is set high. For the reset-idle pair I delay 1 mS to allow the transceiver to be ready for commands. Before you added the delay, how much time was there between the reset pair and the folllowing command?
Best regards,
Erick