I think that I2C bus is used when connecting multiple devices for memory and power sequence management on the board with FPGA. Some systems use the I2C bus between boards.

The I2C bus is a simple two-wire system!

The I2C bus can exchange information between devices with only two single clock (SCL) and single data (SDA) line wiring.

Because of its simplicity, it is often used in SMBus, PMBus, ATCA's IPMB bus, etc. used in communication equipment.

Simple but watch out for trouble!

People tend to think that the I2C bus is easy to design because it is a two-wire system, simple and low-speed communication.

However, it is not uncommon to fall into a situation where communication is not possible.

In particular, when it is necessary to connect to the backplane for communication equipment, etc., or when communication is performed by connecting IO cards with long wires, the possibility of trouble is high.

What caused the communication error?

Communication errors are most likely caused by wiring capacitance exceeding the I2C bus specifications. The I2C bus standard specifies a maximum wiring capacitance of 400pF.

When connecting to the backplane or using long wiring between IO cards, the wiring capacitance will deviate from the I2C standard, and as shown in Figure 1, the rising waveform will be dull and communication errors will occur, so care must be taken.

Article header library 127585 pic01 2
Figure 1: Rising waveform

Is it possible to fix it by adjusting the pull-up resistor?

Normally, if the rising waveform is dull, increase the pull-up current (reduce the pull-up resistance) so that it can be driven even if the wiring capacitance is large.

However, if the pull-up current is too large, the side effect is that the Low level will increase (by the amount of pull-up current x parasitic resistance), and it may deviate from the VOL specification.

*Please refer to this article for VOL regulations.
Have you checked the VOL regulation of the I2C bus?

So, if the communication error cannot be avoided by adjusting the pull-up resistor, what should be done?

Article header library 127585 pic02 1
Figure 2: Connections between I/O boards

Solutions to improve communication errors

What should I do if I need to connect to a backplane like a communication device, or if communication errors cannot be avoided due to parasitic capacitance such as connecting boards with flat cables for I2C bus communication? Is not it?

As a workaround if the parasitic capacitance does not comply with the standard, use the I2C bus buffer products from Analog Devices.

Article header library 127585 pic03 1
Figure 3: I2C bus buffer LTC4315

The LTC4315 has a Rise Time Accelerator function that can improve the corrupted rise waveform.

Placing the LTC4315 on the controller board, as shown in Figure 3, allows it to communicate properly even when connected to the backplane.

The LTC4315 is a must-have product for IC bus communication that solves the problem of large parasitic capacitance between boards (devices).


Click here for recommended articles/materials

Have you checked the VOL regulation of the I2C bus?

Click here to purchase products

LTC4313IDD-1#PBF
LTC4315IMS#PBF
LTM2883IY-5S#PBF