Using bi-directional logic level shifter for SWD.

gpioresistorsswd

I have a SWD emulator running on a cypress FX3 board where two of its gpio pins emulates SWDCLK and SWDIO pins. The board runs at 1.8V.
These pins have to be connected to target – spansion FM4 which runs at 3.3V or 5V. I got this logic level converter.

While I2C works with this converter, SWD doesnt seem to work. This converter uses pull-up resistors on each channel. SWD requires pull-down on its clock and pull-up on its data. Is there any way to connect this 1.8V emulator to the 3.3/5 V target using this converter or some custom circuit?

I am an electronics newbie so please give specific directions for a custom circuit. Also Cypress FX3 supports 1.8 V and 3.3 V, but for some limitations, I can use 1.8 V only.

Best Answer

Why can't you go with bidirectional logic level converter ic. For Open drain or pushpull application you can go with Texas TXS010X series leval translator and for normal level translation TXB010X can be used.

These leval translator has internal pull up resistor inbuilt as indicated below on page-3 of TXB0108 datasheet.

enter image description here

Refer the datasheet of TXS010X for more detail about the pull and pull down onfiguration for TXS010X series.