2019-07-30 03:03 AM
Hello,
I'm currently working with te Nucleo-F446RE and have some strange values while I'm using the I2C1. I had it up and running for a while but later on my sensor wasn't responding anymore. The connections and circuits didn't change.
When I started meassuring the signals I saw that my SDA
values were -0.5V for low and 3.5V for high, while my Vdd is just 3.3V. the sensor I am using has a voltage range of -0.1V to 3.5V for any pin. I think this is why they are not responding anymore.
I already tried using a new Nucleo, but this was giving the same voltages straight from the package. Also I tried it on other I2C busses and switched from internal to external pull up, using the 3.3V supply pin from the Nucleo and several resistorvalues.
Has anyone an idea why the low voltage is -0.5V? And is there a way to fix this problem?
2019-07-30 03:36 AM
Sounds like grounding problems.
JW
2019-07-30 04:16 AM
All the grounds are connected. It is also just with the SDA , SCL is acting normal. The channels of the scope I'm using are also connected to a ground reference. When I write the same pins as GPIO output and apply it to the same circuit the levels are just fine. It only happens in SDA mode of PB7.
2019-07-30 02:10 PM
There's no negative voltage supply on the Nucleo board nor inside the STM32 device on it. So, if you see negative voltage, it's either a measurement error (or, more precisely, a misinterpreted measurement), or some attached device produces the negative levels.
Let me guess: the grounding clip of the oscilloscope probe is connected to the target I2C device, and that device is powered from the Nucleo. Measure voltage on a GND pin on the Nucleo while I2C is working.
JW
2019-08-21 01:34 AM
With this meassurements the ground clip of the oscilloscope is clipped to the ground pins of the NUCLEO device. But I also placed a wire between the earth pin of the scope to the ground of the boards.
On the different ground pins of the device are the ground levels a bit positive, between 12 and 17 mV on the multimeter. When the scope is attached to the ground, there are spikes on the ground voltage on the moments the SCL is changing polarity. But the main level is around 11mV.
The first image is a captured message. The blue line is the SCL while the yellow one is SDA. The cursor lines repesent the baselines of each signal. Clearly the SCL stays within the correct values while the SDA low level is way to low.
The second image is the ground level corresponding to the message above.
The next image is a close up of the data signal with some meassurement values.
The last image is a close up of the SCL with the same meassured variables as image number 3.