0
\$\begingroup\$

I have a master (MSP430 with 3.3 V) and only one slave (TMF8805 at 3.3 V). My confusion comes from the sensor's datasheet where the power supply (absolute max ratings) allow for 2.7 V to 3.3 V. This is great as the MSP430 is powered at 3.3 V as well.

However, the I2C signals for the sensor specify that they are typically pulled up to 1.8 V. Back to the absolute max ratings, however, say these lines (SDA & SCL) can go up to 3.6 V I believe.

Should I be alright simply to pull these lines to 3.3 V with 10 kΩ resistors?

From my understanding it should be fine, but I don't want to order any more faulty boards. If not, I guess my next step would be to find a logic-shifter. I already have the NXB0104GU12X on my board for other purposes. Would this potentially work if needed?. Why would the device be powered at 3.3 V and have recommended or "typical" IO levels for I2C at 1.8 V to begin with?

\$\endgroup\$

2 Answers 2

0
\$\begingroup\$

It is ok to use a 10 kohm pull up to 3.3 V for the I2C.

Also note that 3.3 V is specified as the "typical" upper limit for TMF8805 Vsupply. Going outside it will risk the performance. Regardless if you select 3.0 V or 3.3 V as the power supply, the SDA and SCL signals are tolerant to voltages up to 3.6 V and it's explicitly stated there's no protecton circuit (diodes to Vsupply). Signal thresholds are also ok with 3.3 V, as long as your I2C master can pull the signal below 0.3 or 0.54 V depending on the supply voltage you select.

\$\endgroup\$
0
\$\begingroup\$

The data sheet mentions that the IO levels of SDA and SCL are tuned so it can communicate with an MCU that has 1.8V IO voltages. So that is why the 1V8 is said as the typical pull-up.

As maximum nominal supplies can be 3.3V, and I2C pins tolerate up to 3.6V, everything suggests it can communicate with a 3.3V MCU.

The manufacturer also provides an evaluation board in the form of Raspberry Pi shield and it uses 1.5 kohm pull-ups to 3.3V.

Regarding the 10k resistances, it might work, but it sounds really high pull-up value for a I2C bus.

The device needs at least 2.7V supply voltage to operate the internal circuits such as the light source and reception circuitry properly. It can still communicate with a 1.8V MCU, so internal operation is a separate thing on the host interface communications.

\$\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.