I2C with 3.3V pull ups

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
user_4564791
Level 1
Level 1
First like given

Hello guys,

I need to communicate with a PSoC as master (working with 5V) to a device via I2C. The device only allows 3.3V. Therefor I pull the I2C lines with external resistors (4.7k) to 3.3V. The I2C Pins are set to "open drain drive low" and the input treshold is set to "LVTTL".

The measured voltages don't show the expected 3.3V Levels but rather 4V...

Does anyone know how I can decrease the voltage? I think I applied all the things mentioned in the I2C datasheet.

pastedImage_0.png

Thanks in advance

Kurt

0 Likes
1 Solution

Hi,

thanks for checking my project. I guess it is because I am using the KitProg. In the electric schematics you can see that there are some on Board Pull-ups. I guess this is why Pin 12.0 and 12.1 aren't working but the other Pins from Port 12 are working...

pastedImage_0.png

When I desolder R9 and R7 I get the 3.3V as expected!

Thanks for your help.

Kurt

View solution in original post

0 Likes
4 Replies
Len_CONSULTRON
Level 9
Level 9
Beta tester 500 solutions authored 1000 replies posted

Kurt,

I did not see anything wrong with your configuration of SCL or SDA pins.

If you're measuring 4V on SCL or SDA, check your bias source to the external 4.7K resistors.   You bias may not be 3.3V as you were hoping.

A Note on your note:  The reference to "TTL" is the input thresholds used in the PSoC to determine logic levels.  A "true" open-drain configuration should not pull the voltage high.  It requires a pullup resistor elsewhere on that signal.

Len

Len
"Engineering is an Art. The Art of Compromise."

Hi Len,

thank you for your prompt reply. When I change the SDA Pin from 12.1 to 12.5 and the SCL Pin from 12.0 to 12.4 it is working...

Any idea why? When I measure the voltage on the 12.0 and 12.1 Pin I measure ~4.7V and not the expected 0V.

My problem is that I plug the PSoC to a PCB and therefor need the Pins 12.01 and 12.1 for the I2C Interface.

Thanks in advance

Kurt

0 Likes
Vasanth
Moderator
Moderator
Moderator
250 sign-ins 500 solutions authored First question asked

Hi,

I programmed your project on a CY8CKIT-059 and checked the SCL pin after giving a pull-up to 3.3V. I could measure 3.3V. Is there anything I am missing ?

Best Regards,
Vasanth

Hi,

thanks for checking my project. I guess it is because I am using the KitProg. In the electric schematics you can see that there are some on Board Pull-ups. I guess this is why Pin 12.0 and 12.1 aren't working but the other Pins from Port 12 are working...

pastedImage_0.png

When I desolder R9 and R7 I get the 3.3V as expected!

Thanks for your help.

Kurt

0 Likes