MCP2221A-I/ST 選定メモ:USB を I2C/UART に変換する小さな便利チップ

Microchip MCP2221A-I/ST の主要パラメータと使用時の注意点を整理する。USB 2.0 から I2C/UART への変換、GPIO の多機能化、電源範囲、パッケージ、速度制限、そしてハードウェアデバッグ用ツールとして便利な理由を扱う。

MCP2221A-I/ST は Microchip の USB 2.0 to I2C/UART ブリッジ IC です。新しいチップではありませんが、手元に置いておく小さなツールを作るにはかなり向いています。片側を PC の USB に接続し、もう片側に I2C、UART、いくつかの GPIO を出しておけば、レジスタの一時読み出し、設定書き込み、基板上の周辺デバイスのデバッグに使えます。

このチップに注目したのは、LGA3647 の高 TDC OEM CPU 向けに VRM の ICC_MAX を変更する話を整理していたとき、MCP2221A という名前をよく見かけたからです。多くの既存ツールは、これを使って PC を USB-I2C ホストにし、マザーボード上の VRM コントローラへアクセスしています。

このチップでできること

MCP2221A の中心機能はかなり明快です。

  • USB から UART への変換。
  • USB から I2C への変換。
  • 4 本の再利用可能な GP ピン。
  • USB CDC と HID の複合デバイス対応。
  • 設定ツールによる VID、PID、文字列ディスクリプタ、起動設定の変更。

つまり、一般的な USB シリアル変換チップのようにも使えますし、自前の MCU ファームウェアなしで USB-I2C ブリッジとしても使えます。

主要パラメータ

LCSC に掲載されている MCP2221A-I/ST は Microchip 純正品で、商品番号は C130462、パッケージは TSSOP-14 です。

まず覚えておきたい主なパラメータは次の通りです。

  • USB:USB 2.0 Full-Speed、12 Mbps。
  • UART:最大 460800 bps
  • I2C:I2C Host として動作し、最大 400 kHz
  • 電源電圧:3.0V から 5.5V
  • 動作温度:産業グレード、-40℃ から +85℃
  • GPIO:4 本の GP ピン。LED、ADC、DAC、クロック出力、割り込み検出などに再利用可能。
  • パッケージ:MCP2221A-I/STTSSOP-14

旧版の MCP2221 とかなり近いデバイスですが、主な違いは MCP2221A で UART の最大ボーレートが 115200 から 460800 に上がっている点です。

デバッグツールに向いている理由

ハードウェアデバッグでは、一度だけ一時的にバスへアクセスできれば十分な場面がよくあります。そのためだけに MCU ファームウェアを書くのは、少し大げさです。

たとえば次のような用途です。

  • I2C アドレスのスキャン。
  • EEPROM やセンサレジスタの読み出し。
  • PMBus/VRM コントローラの設定。
  • 基板上に一時的な UART コンソールを用意する。
  • GPIO で有効化ピンを High/Low にする。
  • 内部用の小型 USB-I2C/UART 変換ボードを作る。

MCP2221A の利点は、PC 側のサポートが比較的成熟していることです。Windows では複合 USB デバイスとして列挙され、UART 側は CDC、I2C 制御側は HID を使います。一時的なツールとしては、独自 USB ファームウェアを保守するよりずっと楽です。

I2C 側の注意点

MCP2221A は I2C Host として使うのに向いています。ただし、万能の高速キャプチャデバイスとして考えるべきではありません。

よくある注意点は次の通りです。

  • I2C は最大 400 kHz なので、高速ロジックアナライザのような期待で使わない。
  • I2C のプルアップ抵抗は、対象基板の電圧とバス容量に合わせて設計する。
  • すでに電源が入っている対象基板に接続する場合、通常は GND を共通にし、SCLSDA だけを接続するほうが安全。変換器から対象基板へ安易に給電しない。
  • 対象基板上の BMC、PCH、別の主制御 IC が同じ I2C バスを使っている場合、バス調停やアクセスのタイミングが複雑になる。
  • VRM、EEPROM、PMBus パラメータを書き込む前に、アドレス、レジスタ、書き込みの副作用を確認する。

修理や基板改造の場面で一番危ないのは、たいていチップそのものではありません。SCLSDAGND、電源ピンの配線ミスです。

UART 側に向いている用途

UART は最大 460800 bps で、通常のログ、コマンドライン、デバイス設定には十分です。

CH340 や CP2102 のような USB-UART を置き換えるだけなら、MCP2221A が最安とは限りません。このチップの価値は、同じ IC で I2C と GPIO も使えるところにあります。最低価格のシリアルケーブルより、多機能デバッグアダプタ向けの部品です。

GP ピンを無駄にしない

MCP2221A の 4 本の GP ピンは、さまざまな機能に設定できます。代表的な用途は次の通りです。

  • 通常の GPIO 入出力。
  • UART アクティビティ LED。
  • SSPND サスペンド状態出力。
  • USBCFG。USB 列挙完了を示すために使う。
  • ADC 入力。
  • DAC 出力。
  • 設定可能なクロック出力。
  • 外部割り込みエッジ検出。

自分で小さな基板を作るなら、少なくともこれらのピンをパッドやピンヘッダに出しておくとよいです。最初は使わなくても、後からデバッグで役に立つことがあります。

基板を作るときの基本方針

単純な MCP2221A 変換ボードなら、だいたい次の方針で作れます。

  1. USB コネクタをチップの D+D- に接続する。
  2. VDD は用途に合わせて 3.3V または 5V に接続する。
  3. データシートに従って VUSB にデカップリングコンデンサを置く。
  4. SCLSDA をピンヘッダへ出し、プルアップ抵抗の実装位置を用意する。
  5. URxUTx をピンヘッダへ出す。
  6. GP0 から GP3 もできるだけ引き出す。
  7. RST は推奨回路に従って処理し、浮かせて予期しないリセットが起きないようにする。
  8. 必要に応じて USB コネクタ付近に ESD 保護を追加する。

未知の対象基板へ外付けする用途が主なら、I2C 側には電圧レベル選択、プルアップ抵抗の有効化、保護回路を用意しておくと安心です。デバッグケーブルは抜き差しが多いので、誤接続と静電気は現実的なリスクとして扱うべきです。

向いている場面

MCP2221A が向いているのは、次のような場合です。

  • 小型の USB-I2C/UART デバッグアダプタを作りたい。
  • PC から I2C デバイスへ直接アクセスしたい。
  • USB プロトコル用の専用 MCU ファームウェアを書きたくない。
  • ツール基板に簡単な GPIO も欲しい。
  • Windows 環境で既存 DLL、設定ツール、サードパーティスクリプトと組み合わせたい。

あまり向かないのは、次のような場合です。

  • 最低コストの USB-UART だけが必要。
  • より高い UART ボーレートが必要。
  • 高速 I2C や SPI が必要。
  • 複雑な GPIO タイミングが必要。
  • 量産機器内の主制御 IC として使いたい。

まとめ

MCP2221A-I/ST の位置づけははっきりしています。高性能キャプチャ IC でも完全な MCU でもなく、扱いやすい USB to I2C/UART ブリッジです。USB ファームウェアを書かずに、PC、I2C、UART、数本の GPIO をすばやくつなげるところが強みです。

基板レベルのデバッグ、I2C レジスタ設定、PMBus、VRM パラメータの読み書きが多いなら、MCP2221A ベースの小さなボードを手元に置いておくと便利です。実機に接続する前に大事なのは、細かいパラメータを暗記することではなく、電源、共通 GND、プルアップ、電圧レベル、対象基板上のバス占有関係を確認することです。

参考リンク

记录并分享
Hugo で構築されています。
テーマ StackJimmy によって設計されています。