当社では、USBシリアル変換ICにFTDI社製のものをよく使っています。他社の同様のICに比べて少しお高いのですが、安定していてトラブルが少ないので重宝しています。具体的な型番で言うとFT232RやFT231Xを使っています。
使う分には全く問題ないこれらのICですが、製造時にはちょっと困ったことがあって、それを解決したよという話です。
FT232RやFT231Xを使った製品の動作チェックを行う際、当社ではWindows PCにつないでいました。WindowsのシリアルポートはCOMnnn(nnnは数字)という名前がついて、つないだ順に一つずつ数字が増えていきます。USBデバイスの作り方によって違うのですが、FTDIのICの場合は内蔵のシリアルナンバーを判別してIC一つにCOMを一つ割り当ててくれます。
普段同じボードを繰り返し使う時はそれで何の問題もないのですが、製造時の動作チェックの場合は100台も200台もつなぐので、その分だけCOMポートが増えてしまうのです。COMポートは最大255までしか作れないので、300台のチェックをしたいときにはいったんFTDIのデバイスとして登録されたCOMポートを削除しないといけないのです。これでは作業効率が上がりません。そんな場合の対応方法として、FTDIが対処方法を提示してくれています。これを設定してみました。
注意)この作業ではWindowsのレジストリを手で修正します。間違えて関係ない部分を修正、削除してしまうとWindowsが動作しなくなってしまうこともありえます。何か問題が発生しても当社は責任を取りかねます。ご注意ください。
さて、まずはレジストリエディタを起動してください。[Windows]キーを押しながらXキーを押して、両方のキーを放したあと[Windows]キーを押しながらRキーを押します。
すると「ファイル名を指定して実行」ダイアログが出るので、regeditと入力してOKを押します。
regeditが起動するので、
コンピューター¥HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Control¥usbflags¥ に移動します。次にregeditのウィンドウの右側で右クリックして、[新規]-[バイナリ値(B)]を選びます。
新しい値 #1という入力欄ができるので、ここに
IgnoreHWSerNum04036001 ← FT232Rの場合
IgnoreHWSerNum04036015 ← FT231Xの場合
を入力します。
続けてデータを入力するために、「(長さ0のバイナリ値)」というところをクリックします。すると「バイナリ値の編集」というダイアログが開くので、「01」と入力してOKを押します。「1」だけだと「10」という値になってしまうので「01」を入力してください。
デバイスマネージャを起動して、いろいろな基板をつないで試してみてください。接続するUSB端子を変えると違うCOMポートが割り振られるので、COMポートがダブる心配はありません。
やたらCOMポートが増えて困っている人はお試しください。では!