USB について
ホームページホームページ > ブログ > USB について

USB について

Jun 25, 2023

多くの人が指摘しているように、USB-C で重要なのは規格だけではなく実装です。 結局のところ、実際に対処しなければならないのは実装であり、USB-C に関するほとんどの問題が発生するのは実装です。 この規格には、最初からケーブルのマークがないなど、いくつかの欠点がありますが、現時点では、USB-C 規格は一部の人々が考えているよりもはるかに優れていると確信しています。

実際の、オープンソースの、隣接する、興味深い製品における USB-C の実装をいくつか紹介したいと思います。 彼らは皆、何らかの形で不完全です。完璧が稀な厄介な現実世界に対処しなければならないので、そうでないはずはありません。

今日はピネシルをチェックしてみましょう。 数年前に発売された、低価格と高品質を両立させたPine64社のはんだごて。 この製品は、電源入力用にバレル ジャックと USB-C ポートの両方を備えています。これは、バレル ジャックのみの TS100 や低電力の独自チップ TS80 アイアンがそれを実現できなかった Miniware アイアン戦略からの歓迎すべき脱却です。 そして、TS100 T12 スタイルのチップを中心としたデザインを考えると、Pinecil が趣味の世界で当然の地位を占めたのも不思議ではありません。

さて、Pinecil は単純なデバイスであるべきだと考えているかもしれません。 USB-C ポートから大電力を取り出す通常の方法は Power Delivery (PD) トリガー IC であり、それを単に使用することもできます。 ただし、USB-C 電源の記事を読んだことがある人なら、45 W と 60 W の充電器のシナリオを覚えているかもしれません。このような配置ではすぐに失敗します。 全体として、トリガー IC の構成可能性は非常に低く、一部の PSU との PD 互換性の問題が発生した場合、代替品が存在する場合には、その IC をわずかに異なるロジックの IC に交換する以外に何もすることができません。通常はそうではありません。 これはコストが高くつき、実際の製品の使用には制限がかかります。

Pinecil は、「PD スタック ソフトウェア + PD フロントエンド IC」という方法を採用し、MCU の一部を PD 通信のリアルタイム性に特化しました。 使用される PD フロントエンドは FUSB302 で、通常の I2C インターフェイスを介して MCU に接続されます。 マイクロコントローラー自体は、Pinecil v1 の GD32VF103 から Pinecil v2 の BL706 に変更されており、どちらも RISC-V です。

さて、ここでは抽象的な話を始めましたが、PD スタック、実際には Pinecil ソフトウェア スタック全体を可能にする実際の作業を行っているハッカーについて話すのは理にかなっています。 PD および Pinecil ソフトウェア全体の責任者は、TS100、TS80、および MCU を搭載したその他のはんだごて用に最初に開発された IronOS ファームウェアで知られる [Ralim] です。 Pinecil がまだ構想段階だった頃、Pine64 は [Ralim] に連絡を取り、必要な PD 作業を含めて IronOS を移植できるかどうかを尋ねました。

長年にわたって、「フロントエンド + MCU」アプローチは多大な成果を上げてきました。 主な理由は PSU の互換性です。特にエッジケースに関しては PD の実装が難しいため、USB-C 電源通信には多くのばらつきがあります。 確かに、Pinecil アイロンの初期ファームウェアは、一部の Apple 電源ブリックなど、世の中の多くの電源では動作しませんでした。

さて、素晴らしいことに、誰かが GitHub に PSU の互換性の問題を提起すると、[Ralim] はリモートで「このバイナリを試してみる」デバッグするか、同じ PSU を直接購入することによって、この問題を追跡できることです。 次に、スタックがエッジ ケースを処理する方法を変更することで問題を修正し、修正をテストして、誰もが使用できるように新しい Pinecil ファームウェア バージョンを GitHub にアップロードします。 1 年以内に USB-C の問題のほとんどは解消され、Pinecil の問題が発生した場合は、工場出荷時にフラッシュされた古いバージョンからファームウェアを更新するだけで済む可能性があります。

長年にわたり、スタックは非常に成熟しており、最も重要なことに、実戦テストが行​​われています。現在、Pinecil が動作しない PSU を見つけるのは困難です。 デバッグとハッカーの利便性の理由から、+ ボタンを押しながら USB-C PSU を Pinecil に接続すると、すべてのプロファイルをリストした PD デバッグ メニューが表示されます。ある意味、Pinecil は、ユーザーが使用できる PD デバッガー ツールです。すでに所有しているかもしれません。