シリアル変換モジュール「CP2102」のVID・PIDを変更する方法
はじめに
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経由で書き換え可能)
なので、本当に必要があるときのみ書き換えるようにしましょう。
変更手順
-
ESP32などCP2102が搭載されたマイコンをPCに接続し、アプリケーションを立ち上げます。すると、アプリケーションで該当するシリアル変換チップが認識される。
-
「Start」ボタンを押す。そして次の画面で「Create New Project」ボタンを押します。
-
別ウィンドウで表示される「Xpress Configuration Project」を選択肢、「NEXT」を押します。
次の画面では、プロジェクト名や保存場所が選択できます。特に変更がなければ「FINISH」を選択します。
4.「Device Configuration」内でVID・PIDの項目で任意に変更できます(例:VID:0x1234、PID:0x4567)。
- VID/PIDを変更したあと「Program To Device」を押し、シリアル変換チップに書き込みます。
正常に成功すれば、ログにその旨が表示されます。※Macで正常に書き込まれない場合は、Widows環境で試してみると良いです。
6.WindowsのデバイスマネージャーやMacのシステム情報から、実際にVID・PIDの変更が確認できれば成功です。
おわりに
本記事では比較的よく使うマイコン「ESP32」にのっているシリアル変換モジュール「CP2102」のVID・PIDの変更方法について説明しました。USBインターフェースの仕様は奥深いので、決してVID・PIDの変更をしたからといって、完璧に動くなにかできるとは限りません。が、こういった方法もあるので取り上げてみました。
Discussion