![]() I2C is also used to communicate circuits that cannot share a ground reference, such as industrial automation and drives, motor controls, solar panel microinverters, and medical systems that require protective isolation between I2C control signals and the network. In addition, critical device values, such as the maximum negative I/O voltage, may be exceeded. In these cases it is quite common that there are differences in the local ground potential between the connected devices that can affect the noise margins of the system. I2C has grown in popularity and its use has spread to situations that require longer communication distances. This signal is typically unidirectional, although a target device may take longer to respond to a request, if necessary, by keeping SCL and SDA low while generating an ACK. The SCL line controls the speed of data communication on the bus. The destination devices also use the SDA line to confirm the correct receipt of the request (ACK) by holding SDA low or by denying correct reception (NACK) by letting SDA go high. The controller uses the SDA line to select the destination device and register access to that device, which sends the requested data over the SDA line itself. ![]() The controller has open collector I/O that can pull the data (SDA) and clock (SCL) lines low and require a pull-up resistor that allows multiple controllers and target devices to coexist without causing conflicts on the bus. The I2C bus typically has a controller, such as a microcontroller or SoC, and one or more destination devices. The simplicity and efficiency of I2C have led to its communication principles being included in standards such as SMBbus and PMBus. The standard establishes a two-wire connection for bidirectional data and clock lines that can be implemented inexpensively. Originally intended for short distance communication within the board, its success has multiplied the number of applications and the maximum data handling capacity has been expanded to include Standard (100 kHz), Fast (400 kHz), Fast Plus (1 MHz), High-Speed (3,4 MHz) and Ultra-Fast Plus (5 MHz). The I2C (Inter-Integrated Circuit) bus was introduced in the 1980s to allow communication between a central CPU and peripheral devices for configuration, monitoring, and control. A solution with discrete optical isolators is easily implemented and can offer flexibility and cost savings, for example, in industrial applications. ![]() For the TVS diodes you could use these, for instance.Torsten Siems, Field Applications Engineer, Toshiba Electronics Europe GmbHĪpplications based on the I2C bus sometimes require high voltage isolation to ensure protection and reliability. That resistor's value shouldn't be too high for two reasons: it will form a divider with the pull-ups and so lift up your low level, and also it will deteriorate the falling edges of your signal. ![]() ![]() If you want to protect your RPi against spikes there may be a more simple solution: use TVS (Transient Voltage Suppression) diodes, possibly in combination with a small series resistor. If you think you do need isolation this document may help to get you started. For a proper PSRR (Power Supply Rejection Ratio) you can have a separate LDO close to each sensor. Make sure the sensors' power supplies are properly decoupled. If it's the power supply you worry about then isolating the bus doesn't make much sense. So noise may not be a too big problem there. Are you sure you need isolation? The I2C bus carries digital signals, and is relatively low impedance you can go as low as 2 kΩ. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |