2025-11-27 12:39 AM - edited 2025-12-01 6:42 AM
We have a board with a stm32u5. were VDDIO are connected to 1.8 V and the I2C bus have pullup to 3.0 V. Some I2C devices uses 3.0 V logic levels and som 1.8 V.
Between which voltage levels shall i measure the rise and falltime that i enter in cubemx.
30%->70% of 1.8 V or 3.0 V .
We have possibility to turn off and on some devices on the bus that changes the rise and falltime on the bus. Shall then the longer or shorter rise/falltimes be used?
One reason we are asking is that our design engineers wonder why the signal of the clock never is piece wise equal in on and off timing as it is the case with other I2C masters
2025-11-27 1:02 AM
@Sebastian33 wrote:the I2C bus have pullup to 3.0 V. Some I2C devices uses 3.0 V logic levels and som 1.8 V. ?
Surely, that cannot work ?
The 1.8V devices need to be on a 1.8V bus ?
In any I2C bus, the master needs to be configured to a setting that will work for all slaves on the bus.
2025-11-27 7:22 AM
If the master is at 1.8 V, they should be the rise/fall times for 1.8 V. These setting shouldn't matter much.
A pin in open-drain mode pulled up to 3 V externally will work just fine here on a 1.8 V bus on the STM32 side.