Bi-directional Level Translator Component for PSoC Creator

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.
RodolfoGL
Employee
Employee
250 solutions authored 250 sign-ins 5 comments on KBA

I saw a few times requests to create a bi-directional level translator. It is pretty straight forward to do an unidirectional level translator with PSoC. Simply connect one pin directly to other. However doing a bi-directional is way more complicated. 

The attached project contains a component that implements a circuit to do just that. I used the I2C SDA line as a test project. Note that this component will not work with a I2C SCL lines. But it can work with other digital buses that require a bi-directional pin with turning around cycles on the interface. Some examples are: MDIO, SWD, LPC.

Here is a glimpse of the internal circuit of this component:

RodolfoGL_1-1639449777635.png

The attached project runs on PSoC 6, but it can be ported to any PSoC with UDBs with minimal resources and does not require any APIs to start or configure it.

0 Replies