🛠️

シリアル変換モジュール「CP2102」のVID・PIDを変更する方法

2022/09/20に公開

はじめに

USBデバイスには、固有のVID(メーカー番号)とPID(製品番号)が登録されています。
これらのIDはデバイス情報として利用でき、USB経由でコンピュータに接続する際に必要となります。何かしらの特定のソフトウェアに接続する際に、想定されたVID・PIDでないと正常動作をしない場合があります。その場合、VID・PIDやUSBインターフェースの仕様を合わせ込む必要があります。

本記事では、近年よく使用されるマイコン「ESP32」やその後継機「ESP32-S2」のVID・PIDを書き換える方法について説明します。具体的には、上記のマイコンに搭載されているUSBシリアル変換モジュール「CP2102」のVID・PIDを書き換えます。

使用するソフトウェア

USBシリアル変換モジュール「CP2102」は、そのメーカであるSilicon Labs社の仕様書によると、1度に限ってVID・PIDの変更が可能になっています。
その変更には、Silicon Lab社が提供しているソフトウェア「Simplicity Studio」を使用します。

注意点

VID・PIDを書き換える際の注意点は下記のとおりです。

  • CP2102のVID・PID書き換えは一度切り
  • VID・PIDを書き換えると、Arduino IDEがESP32を認識できなくなり、プログラムを直接書き換えが不可能(文鎮化)※逃げ道としてOTA機能を有効にしておくとWiFi経由で書き換え可能)
    なので、本当に必要があるときのみ書き換えるようにしましょう。

変更手順

  1. ESP32などCP2102が搭載されたマイコンをPCに接続し、アプリケーションを立ち上げます。すると、アプリケーションで該当するシリアル変換チップが認識される。

  2. 「Start」ボタンを押す。そして次の画面で「Create New Project」ボタンを押します。

  3. 別ウィンドウで表示される「Xpress Configuration Project」を選択肢、「NEXT」を押します。
    次の画面では、プロジェクト名や保存場所が選択できます。特に変更がなければ「FINISH」を選択します。

4.「Device Configuration」内でVID・PIDの項目で任意に変更できます(例:VID:0x1234、PID:0x4567)。

  1. VID/PIDを変更したあと「Program To Device」を押し、シリアル変換チップに書き込みます。
    正常に成功すれば、ログにその旨が表示されます。※Macで正常に書き込まれない場合は、Widows環境で試してみると良いです。

6.WindowsのデバイスマネージャーやMacのシステム情報から、実際にVID・PIDの変更が確認できれば成功です。

おわりに

本記事では比較的よく使うマイコン「ESP32」にのっているシリアル変換モジュール「CP2102」のVID・PIDの変更方法について説明しました。USBインターフェースの仕様は奥深いので、決してVID・PIDの変更をしたからといって、完璧に動くなにかできるとは限りません。が、こういった方法もあるので取り上げてみました。

Discussion