Question
We are using ADuM1250 for I2C isolation in our product (for industrial
automation). Side 1 is supplied by VDD1=3.3V and SCL1 and SDA1 are pulled up to
the same VDD1=3.3V. Side 2 of the isolator is supplied from VDD2=5V and SCL1
and SDA1 are pulled up to 3.3V (derived from VDD2=5V with an LDO regulator).
Side 2 of the isolator is connected to distributed I2C bus. We want to
distribute 5V supply, but pull-ups for Side 2 are on the CPU board of master
I2C, supplied with 3.3V. We have a problem with I2C communication because of
this difference in power supply (5V) and pull-up voltage (3.3V) on Side 2 of
the isolator. Some of the requests/responses are OK, but most of them are not
OK. If we supply VDD2 with 3.3V, communication is OK. Why is this happening and
is it possible to use ADuM1250 in this way? We assume that the problem is in
compare levels inside of ADuM1250 when it is supplied with a voltage higher
than the levels of SCL and SDA lines.
Answer
The levels are likely the problem. It is not recommended to pull the output up
to a different rail than the local power supply. The detect levels are set by
the supply, so it is exactly like running a 3.3V digital output into a 5V
digital input, it is not guaranteed to work for CMOS levels that scale with the
supply.