2025-07-24 1:54 AM
Hi I am using ST25R3916B as NFC reader and it is interfaced with STM32G0B1RT6N via I2C lines. I am not able to communicate with reader IC . I have checked I2C_EN line is connected to VDD_D voltage output from reader IC. it is 2.05V and SCL and SDA lines are pulled up to 3.3V with 10K resistor.
Pls help me where i am doing wrong
2025-07-24 2:05 AM
@Dilip wrote:SCL and SDA lines are pulled up to 3.3V with 10K resistor.
That's rather high - try something more like 2k7.
Look at the I2C lines using an oscilloscope: are the waveforms OK - especially the rising edges?
See: https://electronics.stackexchange.com/a/473799
Once the waveforms are OK in the analogue domain, use a logic analyser to see what's happening at the I2C protocol level...
@Dilip wrote:I am not able to communicate with reader IC .
What, exactly, do you mean by that?
How to write your question to maximize your chances to find a solution
2025-07-24 2:11 AM
Hi,
sounds about right what you are doing. Please provide scope shots and logic analyzer traces of what you are doing. First step should be reading the IC Identity register: Send 0x7f to the device and do a repeated start and read one byte. Is the address being ACK'ed? What data do you get? How does this look on analog SDA/SCL?
More information required to analyze.
Ulysses
2025-07-24 3:52 AM
Hi Ulysses,
I dont how to read to IC identity register because I2C communication is not working. Right now both SCL and SDA lines logic high 3.3V on oscilloscope.
2025-07-24 4:01 AM
So you have a basic problem with your STM32 configuration and/or your hardware.
Please give details of your hardware.
have you tested your STM32 I2C on an ST board?
have you tried ST's I2C examples?
Can you drive the lines high and low just using basic GPIO?
Again, see: How to write your question to maximize your chances to find a solution
2025-07-24 4:11 AM
Hi Andrew,
My other GPIOs and one more I2C interface is is working very well on my board with STM32 MCU. Also on other I2C lines , I am interfacing a EEPROM and there too i have used 10K pull ups.
In the hardware I am using STM32G0B1RT6N MCU interfaced with ST25R3916B over I2C lines having 10K pull up on SCL and SDA. On MCU side PA9 and PA10 lines are used for I2C .
I am able to turn on and off the GPIOs
2025-07-24 4:15 AM
@Dilip wrote:I am able to turn on and off the GPIOs
So think about what that tells you...
It shows that it's not the hardware shorting them high - doesn't it?
So the problem must be somewhere in your I2C software for this particular I2C interface - mustn't it?
2025-07-24 11:05 PM - edited 2025-07-25 1:02 AM
Hello Dilip,
around 2.05V is the VDD_D supply in power down mode. It should be 2.95 or 3.0 when the chip is supplied via VDD=3.3V and the enable bit is set.
BR Travis
2025-07-25 2:09 AM
But would that explain no activity at all on the I2C lines?
Surely, even if the ST25 is in power-down, @Dilip should still see the Master (STM32) clocking-out the address?
2025-07-25 2:21 AM
Yes, exactly.
When the ST25 is in power down mode, we should still be able to see the master frames.
Also the Power Down registers can be written and read out in this state (like the operation control register)
To analyze further we would need analog (e.g. scope shots) and digital traces (digiview traces) of the SPI communication.
BR Travis