Initially this looks like a device problem, but it is not. The Analog Devices “ Implementing an I2C Reset” suggests :įrequently the master, which is usually a microcontroller or a gate array, will be interrupted in the middle of its communication with an I2C slave and, upon return, find a stuck bus. There are many scenarios when something like this can occur. The bus relies on orderly communication and if a device holds one of these lines low you’re in trouble. There are two “Bus Stuck” scenarios: either the SDA or SCL lines become held low. Each device has an address on the bus and will only speak when spoken to by the Master.įor the purposes of this article I shall just look at what can go wrong and how we might recover from it. With a potential multitude of devices hanging off this same bus, they must play nicely with each other, and in order to do this, there is often a Master and number of Slave devices. It is an incredibly useful interface and you can hang a multitude of very useful chips off just these two wires, for example Real-Time Clocks, EEPROM memories, Accelerometers, interface expands, etc. These should normally sit high at whatever voltage your system is running at ie 5V or 3V3. The i2c (Inter-IC Communication) Bus consists of 2 wires (hence often called Two-Wire Interface aka TWI when you want to avoid using the i2c licensed term) the Data (SDA) and Clock (SCL). Recover from and remove the bus lock-up condition.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |