Skip to main content
Visitor II
April 7, 2024
Solved

ST25DV GPO Interrupt

  • April 7, 2024
  • 2 replies
  • 1691 views

I'm trying the ST25DV, ( open drain connection with pullup resistor of 20k ) but I can't get the interrupt to work through the GPO pin
The product code read is 0x51

I wrote the register with GPO_EN = 1 and RF_ACTIVITY_EN = 1, RF_WRITE_EN =1, FIELD_CHANGE_EN = 1,

after an RF WRITE I see through IT_STS_Dyn that the interrupt has been triggered,
but from the GPO pin I never see the interrupt ( I always read the pin at logic high level )

What am I missing for it to work ?

 

    This topic has been closed for replies.
    Best answer by JL. Lebon

    Hello, 

    The values you have are not correct.
    GPO_EN bit is bit 0, both in GPO configuration Byte and in GPO_CTRL_Dyn register.
    In your setting, this bit is set to 0, so nothing will go out of the GPO pin.

    Most probably, you are using the wrong documentation.
    From the product code 0x51, it looks like your tag is a ST25DV64KC, not a ST25DV64K.
    The GPO configuration is different between those two versions and the GPO_EN bit and other bits are not in the same place.

    What you probably want to have is GPO=0x95

    Please have s look at the ST25DVxxKC datasheet https://www.st.com/resource/en/datasheet/st25dv64kc.pdf

    Best regards.

    2 replies

    ST Employee
    April 8, 2024

    Hello, 

    Can you please provide the values you read in:
    - GPO1 (I2C system address 0000h, or RF read configuration @00h)
    - GPO2 (I2C system address 0000h, or RF read configuration @01h)
    - and GPO_CTRL_Dyn register (I2C user address 2000h or RF read dynamic configuration @00h)
    Also, if you read always high level, I guess you have a pull-up resistor on the GPO pin. What is the value of the resistor?

    Best regards.

    Diego72xAuthor
    Visitor II
    April 8, 2024

    In GPO (I2C system address 0000h ) I read 0xca,
    In GPO_CTRL_Dyn register (I2C user address 2000h ) read 0x00

    The demo board I' m using is the ST25DVC Discovery ANT C3 which by default ontakes a pullup resistor of 20K

    JL. LebonAnswer
    ST Employee
    April 9, 2024

    Hello, 

    The values you have are not correct.
    GPO_EN bit is bit 0, both in GPO configuration Byte and in GPO_CTRL_Dyn register.
    In your setting, this bit is set to 0, so nothing will go out of the GPO pin.

    Most probably, you are using the wrong documentation.
    From the product code 0x51, it looks like your tag is a ST25DV64KC, not a ST25DV64K.
    The GPO configuration is different between those two versions and the GPO_EN bit and other bits are not in the same place.

    What you probably want to have is GPO=0x95

    Please have s look at the ST25DVxxKC datasheet https://www.st.com/resource/en/datasheet/st25dv64kc.pdf

    Best regards.

    Diego72xAuthor
    Visitor II
    April 12, 2024

    Thanks, problem solved, actually I was looking at the wrong documentation :(