I have an I2C slave device in which the maximum input voltage to SCL & SDA is 3.6V. And the I2C Master device is PIC16F877A operating at 20MHz which provides a 5V output on SCL & SDA.
Pls help me to interface these two devices.
I have an I2C slave device in which the maximum input voltage to SCL & SDA is 3.6V. And the I2C Master device is PIC16F877A operating at 20MHz which provides a 5V output on SCL & SDA.
Pls help me to interface these two devices.
This is a very simple level shifter that will allow you to interface the two devices. The levels shifter is perfect for I2C because it is bidirectional.
simulate this circuit – Schematic created using CircuitLab
If there are no 5V slaves on your I2C bus you might well get by with connecting the pull-up resistors to 3.3V. The voltage on those resistors determine the bus voltage, not the connected chips.
A consequence is that the 877 will see a lower voltage than it expects (with a 5V bus), so you might need to run the bus at a lower speed.