2022-06-27 11:55 PM
I am now dealing with the work of I2C. As a device, I connect an Eeprom AT24 chip. There are 10K Ohm pull-up resistors. There are no other devices on the bus and nothing else is connected to the boards. Transmission rate 400 kHz.
When I connect Eeprom to the ST Nucleo stm32l031 demo board, I see a completely normal waveform.
When I connect ST Nucleo STM32L4R5 to the demo board, I see very slowly rising leading edges of the signals.
The GPIO and I2C settings are the same on both boards.
Changing the value of the pull-up resistors changes the waveform very little.
What could be the difference in the operation of I2C on these two microcontrollers?
2022-06-28 12:50 AM
It seems, on the second oscilogram, that signal voltage is nearly 4V. Are pullup and memory chip connect to correct power tree?
2022-06-28 12:58 AM
Is it software or hardware selectable?
2022-06-28 01:38 AM
It is hardware selectable. It must be the same voltage as CPU has. And, I would use 3k3 pullup rezistors fo 3.3V.
2022-06-28 01:50 AM
surely, you can use this to capture a screenshot?
This will give a much clearer result than a photograph...
2022-06-28 06:22 AM
So it depends on the STM board.
Check what else is connected on both boards to the I2C pins going external.
There are many options on the Nucleo boards, with loooong signal lines and many solder bridges.
I was actually quite surprised that and how some high frequency signals are routed all over the board...
If that doesn't help, get the layout files and compare the routing.