はじめに
USB PDの信号をAliExpressで格安で買ったコンパレータでPulseViewで見ようとしましたが、USB PDの信号の振幅が1V程度しか無いため見れませんでした。そこで作成しようと思いました。
ロジックアナライザ側の入力
とりあえずロジックアナライザ側の入力側の回路を解析します。
yanorei32の雑記「詳解?格安ロジックアナライザ」
見つつ、自分の手持ちの2つを比較したところ、以下の回路図の用に100kΩと100Ωで構成されるものでした。
これから、基本的に3.3V CMOS-Levelっぽさそうです。
作成回路
ちょうど余っていて比較的遅延時間の短いTLC374CNがあったので、これを使用することにしました。
データシートを見ると、遅延はTTLレベルの変化で200ns、オープンドレイン、4回路だったのでちょうど良いです。以下のような回路を組んで見ました。
500kHzのデューティ比50%の信号を入力したところ、立ち上がり時は460nsの遅延でした。立ち下がり時は240nsの遅延です。400kHzくらいの信号が限界な感じだと思います。まあ、今回の用途では十分です。
試しに1MHzを入力してみましたが、もちろんダメダメです。
実用
ロジックアナライザとUSB PDに接続してみました。左下のボードはCH32X035を搭載したマイコンボードです。これからUSB PDの信号を引き出してます。
今回作成したレベル変換器の入力と出力はこんな感じになりました。振幅が1V程度の信号がちゃんと3.3Vレベルの信号に変換されています。
PluseViewでは下のようにUSB PDの信号の解析ができました。
おわりに
コンパレータを使ったレベル変換器を作ってUSB PDの信号を見れるようになって良かったです。しかし、PluseView側がUSB PD 3.0までしか対応しておらず、3.1の信号観測は目デコードしなければならないです...









