#USB
#Serial
#CP2102

USB-シリアル変換モジュールの色々

More than 1 year has passed since last update.

概要

Linuxボード、マイコンボードとの通信、Flashの書き換えする際にシリアル通信を使用しますが、
古来から使われているRS-232C(±5~15V)の信号レベルではなく信号レベルをTTL,LVTTL,3.3VとしたUSB-シリアル変換モジュールが使われるようになりました。

色々なUSB-シリアル変換モジュール

最も多く使われているのはFDTI社製USB-シリアル変換チップを使用したモジュールです。

6ピンのピンソケットが用意されている場合、DTR,RX,TX,5Vor3.3V,CTS,GNDの信号配列となっていることが多いです。
ArduinoやBeagleBone Black等のボードにジャンパーワイヤ無しで接続できるため1個は持っていても損はないと思います。
Linux,Mac,Windowsで使用する際も困ることは少ないでしょう。
ドライバのダウンロードページはこちら

次に多いのがSilicon Labs社製のUSB-シリアル変換チップを使用したモジュールです。

CP2102を使用したモジュールです。
ドライバのダウンロードページはこちら

その他、Prolific社のPL2303やwch社のCH340,CH341がありますが、どうしても使用したい場合を除いて
ドライバーのインストールに難があるためオススメは出来ません。
PL2303のドライバ
古いPL2303のドライバ
CH340,CH341のドライバ

使用する電圧に注意

FT232RLを使用したモジュールは5V/3.3V切り替えができる場合があるのでボード側の対応する電圧を確認し、切り替えスイッチやジャンパピンを正しく設定しましょう。
FT231,FT234,CP2102は信号レベルは3.3V(LVTTL)ですが5Vトレラントとなっているためボード側が対応できれば信号レベルが5Vなボードでも使用できます。

異常な電圧が出力されるCP2102モジュール

3.3Vや信号線から異常な電圧が出力されるCP2102モジュールが出回っていますので注意が必要です。

確認しているのは上のようなモジュールです。(左側が異常なモジュール)
使用している電子部品では判断できません。


3.3V-GND間で4.38Vと1V高い電圧が出力されています。
3.3Vだけでなく信号線も同じ電圧が出力されるため使用する前に必ずテスターで電圧を確認しましょう。

どうしても使用したい場合は…

異常な電圧が出力される原因はCP2102のRSTがVBUS(5V)に接続されているためです。
パターンカットすれば正常な電圧(3.3V)が出力されるようになります。


精密なパターンカットが必要なためオススメはしません。

参照

@leonellive氏のツイート
https://twitter.com/leonellive/status/896341664599605249
https://twitter.com/leonellive/status/899676541482926080
https://twitter.com/leonellive/status/900831214961033216

CP2102 3.3V output is 4.25V on CJMCU module
https://www.silabs.com/community/interface/forum.topic.html/cp2102_3_3v_outputi-EaVr