Giter VIP home page Giter VIP logo

usb_pd_monitor's Introduction

usb_pd_monitor

USB PD monitor implemented in a Tang Nano 9K FPGA board. USB-PD packet data is decoded from the CC pins and then sent out the FPGA as UART TX data. The Tang Nano 9K's USB-to-UART bridge (software FTDI FT2232C running on the BL702 IC) can be accessed with Python to see the packet data. The only physical connections needed are CC1, CC2 and their ground pins. The Tang Nano 9K is powered by the USB connection to the host computer. picture Using the 1.8V pins, this FPGA board is able to monitor the USB-PD messages on the CC pins without any levelshifters.

See fpga/src/tang_nano_9k_generic.cst for pins used. 3.3V buffered CC1 and CC2 outputs are available to veiw with a logic analyzer (I highly recommend the $12 Saleae clones on Amazon.com, as sigrok pulseview has full USB PD decoding). I also have a 3.3V buffered "uart_tx_buf" signal which can connect to a logic analyzer or another serial-to-usb adapter.

Tang Nano 9k board Info: https://wiki.sipeed.com/hardware/en/tang/Tang-Nano-9K/Nano-9K.html

I used the eLabBay USB C passthrough breakout board: picture https://elabbay.myshopify.com/products/usb3-1-cm-cf-v1a-usb3-1-type-c-male-to-female-pass-through-breakout-board

Here are some captures from Sigrok's Pulseview using my HiLetgo $12 logic analyzer:

D0 is the buffered 3.3V version of the CC pin data. D1 is the 3.3V uart_tx_buf that the FPGA sends to the USB-to-UART bridge IC on the Tang Nano board. Pulseview is able to fully decode the 3.3V CC pin data. picture picture

usb_pd_monitor's People

Contributors

charkster avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

jeronimopenha

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.