I am trying to analyze/debug USB Power Delivery (USB-PD) communications using an existing Logic Analyzer but this only accepts logical high down to 2.0V and the USB-PD logic levels appear to be around 1.1V (give or take 0.1V of noise). There is also a different logical HIGH level of 1.7V when no communication is occuring which appears to have something to do with the High Impedance level of a tristate driver. Furthermore, when the USB-PD chip (MAX77958) is set to Dual Role Port (DRP) it sends out a 4.4V square wave on the same pin.

In the end, I'm looking for a way to analyze these USB-PD 1.1V logical levels while safely handling the higher 1.7V and 4.4V signals without burning out the logic analyzer which only handles up to 5V. Image of this 4.4V square wave and a blip of the 1.7V to USB-PD communications transition in the scope image below are taken on one of the CC pins:

enter image description here

If you capture the blips of USB-PD you can see something similar to below:

enter image description here

Ideally I can do this with a level shifter, but I already tried using TI's TXB0304EVM and had very unexpected results; see below for a before/after when I turned on the 1.2V source on VCCA while testing a 2.5V square wave input signal:

enter image description here enter image description here

From what I can tell, this chip/eval board was not intended to be used with long traces or any significant capacitance. As I'm using a breadboard and a bunch of jumper wires, I guess I'm not using this as specified. I've never used and level shifters so I'd like to know what specs I should be looking at in selecting an appropriate one such that the above will not occur again, but instead I can get something identical to that first image, but where logical HIGH levels are shifted from 1.1V to something above 2.0V (e.g. 3.3V). I.e. something similar to what is given in the TXB0304 datasheet:

enter image description here

I also read through this TI primer on level shifters, but I'm still not sure what I really need. I think I can just get away with a Dual-Supply Unidirectional Voltage Level Translator like the SN74AVC2T244, as I'm only analyzing the USB-PD packets, not sending any back, but looking for someone with more experience to confirm I'm not overlooking anything. I'm really not sure what is meant by open-drain applications or push-pull in this context, so any info on how to determine the required hardware here would be helpful.

Supplemental details

I realize I could practically speaking buy any one of:

  1. A dedicated USB-PD packet analyzer (e.g. https://www.infineon.com/cms/en/product/evaluation-boards/cy4500/?utm_source=cypress&utm_medium=referral&utm_campaign=202110_globe_en_all_integration-dev_kit)
  2. A different logic analyzer that can handle a lower voltage range for logical HIGH (e.g. https://cdn.shopify.com/s/files/1/0174/1800/files/scanaquad_summary_2017.pdf)
  3. Use level shifting to adjust the existing 1.1V values to something above 2.0V

but as this is likely just a one-off side project, I'm looking to keep things cheap and broadly applicable, so option 3 here looks like the best fit.


1 Answer 1


I've successfully used an LM393 dual comparator for level-shifting. It's a very common and inexpensive parts in multiple packages (SMD and TH).

It is used as part of a project to implement USB-PD communication mostly in software as opposed to a dedicated USB PD controller IC. The result can be found on GitHub and the associated Wiki.

It includes instructions for building a USB PD Protocol Analyzer with parts costing about 5$.


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.