cancel
Showing results for 
Search instead for 
Did you mean: 

ST25DV GPO Interrupt

Diego72x
Associate II

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 ?

 

1 ACCEPTED SOLUTION

Accepted Solutions
JL. Lebon
ST Employee

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.

View solution in original post

4 REPLIES 4
JL. Lebon
ST Employee

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.

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. Lebon
ST Employee

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.

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