STマイクロ X-NUCLEO-SNK1M1でUSB Type-C PD(Power Delivery)を試してみた
前からUSB Type-C PD(Power Delivery)には興味があったのですが、なかなかいいものがなく(見つけられなかっただけかもしれませんが)保留状態だったのですが、ふとSTマイクロからX-NUCLEO-SNK1M1というのが出ているのに気づきました。
SNKはシンクの事で使用側に当たります。他に供給側のX-NUCLEO-SRC1M1(ソース)やシンク・ソース両対応のX-NUCLEO-DRP1M1(Dual Role Power)もあります。
通常の使用はシンクだろうという事でシンクを試してみます。
これらはSTM32 Nucleo-64ボードに載せる(STM morpho拡張ピンヘッダーに接続)する事で使用できます。
STM32 Nucleo-64ボードの中でもUCPD対応マイコンを搭載しているNUCLEO-G071RB、NUCLEO-G474RE、NUCLEO=G0B1REだと実際に電流が取り出せます。
それ以外のNUCLEOでもソース電流能力の特定などはできます。
購入はmouserを利用しました。
昨今の半導体不足でDigikeyなどにも無かったのですがmouserだけNUCLEO-G071RB(とX-NUCLEO-SNK1M1)の在庫がありました(2022年9月22日現在)。
購入して動作させてみて気づいたのですが、NUCLEO-G071RBだけUSBコントローラーペリフェラルがなくUSB通信ができません。他の2つにはあるのですが。
もっとも他の2つは在庫がないので購入しようがないのですが。
まあSTマイクロマイコンを使ったUSB通信はワタシは経験があるので必要があれば実装するという事で。
という事で今回はPower Deliveryのみの確認になります。
やったことはGetting started with USB-Power Delivery Sinkに書かれていることだけです。
全く同じ事を書いてもしょうがないので結果だけ示します。
1箇所だけ元のサンプルではシンク側の設定で15V、1.5Aまでだったのですが今回、動作確認に使用したPDソース側は20Vまで対応しているので、20V、1.5Aの設定を追加しました。
また動作モニターにはSTM32CubeMonUCPDを使います。
動作確認に使用したPDソースは20V、3.25A(65W)まで対応しているのですが、65Wの負荷がないのとそんなに流すのは少し怖いので20V、1A(20W)の負荷(抵抗器:約20Ω/20W)を使用しました。
(60Wを超える負荷の場合、USBケーブルも対応していなければいけないはずですが、その60W超え対応USBケーブルにこのサンプルファームウェアが対応しているかはよくわかりません)
結果は以下の通り、ちゃんと20Vが出ていますね(左下のグラフ)。
(一回ファームウェアを書き込んでしまえば、NUCLEO-G071RBのJP2を外して、X-NUCLEO-SNK1M1のJP3,JP4をショートすればUSB Type-Cケーブル1本で動作させられます)
Getting started with USB-Power Delivery Sinkに書かれていることをやっただけですが、こんなに小さいコネクタで100Wも(今回は20Wですが)流せるのは本当かな?というのがあるので、やってみました。
100Wはともかくとして高電力が供給できるPCが増えてくれば、USB Type-Cケーブル一本をつなげば動作させられる測定器などができるので、そういった設計を手掛けてみたいところです。
ただX-NUCLEO-SNK1M1はUSB-IF認証取得済みとありますが、これ自体を製品に組み込まないでくれ(FOR EVALUATION ONLY. NOT FCC APPROVED FOR RESALE)とあるので、顧客が要望するなら自らUSB-IF認証を取得しなければならず、そうするとハードルは高くなりそうです。
終わり