I2C SDA abnormal
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-07-27 8:49 PM
When I used the STM32L412KB as an I2C slave. when there only one slave on the bus, all the function works well. but if there hastwo devices on the bus and continue to access one slave device, the non-addressed I2C slave will damage the SDA bus. I captured the waveform, the SDA is driving high (not act as OD, act like as push-pull). if alternative to read the slaves (two slave devices), there is no error happened.
I used the CubeMX to get the configuration and initialization. The port configuration is attached.
- Labels:
-
I2C
-
STM32L4 series
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-07-27 10:57 PM
Each slave obviously have unique addresses, right?
Is the other slave an mcu?
Go debug mode and chech the gpio registers to confirm open drain mode. Registers don t lie.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-07-28 1:30 AM
Yes, two sensors has unique address (eg. 1 & 2)
all the slave is our products which use the STM32L412.
Check the register, all values looks no change
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2020-07-28 6:01 AM
A slave can't drive SDA high if it's on open drain mode. I suggest you recheck your assumptions. Are both slaves identical apart from slave address? Both are STM32L4 chips?
