Can we connect multiple slaves with different baud rates to a master. For example, I am having a temperate sensor which would work at 50kbps and port expander at 400 kbps, Can these two slaves connect to my master(microcontroller) on the same I2C?
If you can add anything more why it should not be a problem, it would help
Electronic – Multiple baud rate slaves to a single I2C Master
i2c
Related Topic
- Electronic – ADC with I2C interface with multiple addresses
- Electronic – Arduino I2C communication between 2 master networks
- Electronic – arduino – how to choose the right pullup resistances for i2c lines with multiple slaves
- Electrical – I2C design with secure message
- Electronic – Multiple slave I2C on different power rails
Best Answer
It's fine so long as you only run the bus as fast as the slowest device on the bus. So in your case, it would work so long as you always run the bus at 50 kbit/sec, even when addressing a part that is capable of running faster. If you try to run a bus at, say, 400 kbit/sec with a device only rated to 50 kbit/sec on it, it is possible that the device may misinterpret some part of the data as a start bit and then cause trouble with the transmission. Basically, you have three choices: run the bus slow, segment the bus with multiple I2C controllers or an I2C mux, or swap out the slow devices for faster ones.
Note that this is less of a problem with SPI devices as SPI uses an explicit chip select line for each device. In this case, it is possible for an SPI bus to run faster than the slowest device, so long as the selected device can handle the speed.