0
\$\begingroup\$

I'm running a PCF8523 RTC directly on the battery supply that can vary from 3-4.28 V. The RTC must communicate over fast mode I2C with a microcontroller running at 3 V IO.

The RTC VIH is 0.7xVDD = 2.996 V so conceivably I could just use the 3 V supply for pullups to the RTC and it should work but it feels quite marginal having the pullups so close to the VIH limit hence (though maybe not)? I'd like to use a level translator to go from 3 V to 3-4.28 V.

I found this application note AN104441 from NXP that describes a level shifter circuit using one discrete N-channel enhancement MOSFET. It seems to be appropriate for my use case but the example demonstrates translating from a lower voltage to a higher voltage and I'm wondering if I'm safe going from 3 V to 3-4.28 V with this circuit.

The final paragraph on page 4 suggests that I'm fine:

Supply voltages other than 3.3 V for VDD1 and 5 V for VDD2 can also be applied, e.g., 2 V for VDD1 and 10 V for VDD2 is feasible. In normal operation VDD2 must be equal to or higher than VDD1 (VDD2 is allowed to fall below VDD1 during switching power on/off).

My questions:

  1. Am I overthinking it by using level translation or should I just use 3 V pullups?
  2. Am I okay using the method suggested in AN10441?
  3. Based on AN10441 method what would happen if VDD1 < VDD2?
  4. Are there any special considerations I should make for my choice of N type MOSFET?
\$\endgroup\$

1 Answer 1

0
\$\begingroup\$
  1. As you rightly pointed out, VIH min is very close to 3V. With the variation in 3V supply, you will most likely violate the specification. So, better to use level translation.
  2. Yes, the level shifting suggested in AN10441 is very commonly used
  3. VDD1 is the lower voltage and VDD2 is the higher voltage. So, the 3-4.28V is the VDD2 (i.e., the RTC - SCL2 & SDA2) and 3V is VDD1 (i.e., the 3V micro-controller - SCL1 & SDA1) in your case. Note that I2C SDA is bi-directional and this level shifter hence translates the data in both directions.
  4. I think the choice of the NMOS might not be too constraining because the pullup current is not too high (less than 10mA). The NMOS VTH << 3V so that it turns ON.
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.