cancel
Showing results for 
Search instead for 
Did you mean: 

ST25R3918 RFID POLLING APPLICATION (NFC-V)

NAmam.2
Associate II

Hi,

I have derived this code from the ST25NFCLib, and the software works correctly when interfacing with the NUCLEO-L476RG board.

However, when I connect the same setup to my proto board, I observe a difference during the following I2C transaction.

During the initialization process, the master sends command 0xDF (Measure Power Supply) and then waits for the IRQ signal.

In the working setup, the IRQ status registers (1Ah–1Dh) return the values:

00, 80, 00, 00

Whereas in the non-working setup, the IRQ status registers return:

00, 00, 00, 00

I am not sure why the IRQ response is different in the proto board setup.

Please note the following:

  • Both the working and non-working setups use the same ST25R3918 daughter board.
  • Both setups use the same interface signals: 3.3V, GND, IRQ, SCL, and SDA.
  • The I2C communication speed is identical on both setups.

I am attaching the I2C transaction screenshots for reference:

  • The upper transaction belongs to the non-working setup.
  • The lower transaction belongs to the working setup.

Please let me know if you notice any missing initialization command or any issue in the sequence below.

//INITIALIZATION COMMANDS LIST
I2C_TRANSACTION Init_ST25R[MAX_ST25R_INIT_TRNSCTIONS]={
            {INST_SEND_CMD1,0xC1,0x00,0x00,0x00,NULL,0x00},//SET DEFAULT, puts ST25R3918 into powerup mode - command C1
            {INST_RD_REG1,0x3F,0x00,0x00,0x00,NULL,0x00},//READ REG-3F IDENTITY REG(should be 2A for ST25R3918)
            {INST_RD_REG3,0x44,0x01,0x00,0x00,NULL,0x00}, //POWER_ON seq read
            {INST_WR_REG3,0x04,0x02,0x10,0x00,NULL,0x00},//POWER_ON SEQ Write - FC,04,10
            {INST_RD_REG1,0x02,0x00,0x00,0x00,NULL,0x00},//READ REG-02
            {INST_RD_REG1,0x02,0x00,0x00,0x00,NULL,0x00},//READ REG-02
            {INST_WR_REG1,0x02,0x01,0x80,0x00,NULL,0x00},//WRITE REG-02, 80 - ENABLE OSCILLATOR & REG, THIS CAUSES ISR
            {NULL,0x16,0x01,0x80,0x00,&WaitForIrq1,0x00},//WRITE REG-16 with, 0x80 - INTR MASK REG - masking OSC interrupt
            {INST_WR_REG1,0x16,0x01,0x80,0x00,NULL,0x00},//WRITE REG-16 with, 0x80 - INTR MASK REG - masking OSC interrupt
            {INST_RD_REG1,0x31,0x00,0x00,0x00,NULL,0x00},//READ REG-31 AUX disp reg -OSC stble
            {INST_RD_REG1,0x2C,0x00,0x00,0x00,NULL,0x00},//READ REG-2c REGULATOR VOLTAGE CONTROL
            {INST_SEND_CMD1,0xDF,0x00,0x00,0x00,NULL,0x00},//Command to measure POWER SUPPLY - GENERATES IRQ - command DF
            {NULL,0x17,0x01,0x80,0x00,&WaitForIrq2,0x00},//WRITE REG-17 with, 0x80 - INTR MASK REG - masking OSC interrupt
            {INST_WR_REG1,0x17,0x01,0x80,0x00,NULL,0x00},//WRITE REG-17 with, 0x80 - INTR MASK REG - masking OSC interrupt

 

 

 

0 REPLIES 0