CH340G USBシリアル変換IC

中国メーカーオリジナル製品のUSB<->シリアル変換IC


2016-04-05

回路図。これは電源電圧5Vの時の例。FT232とほぼ同じ事が出来るが水晶は外付け。USB通信に要求される発振器の誤差はセラロックでは僅かに精度不足といった程度の物が要求されるので内蔵できなかったのだと思う
***********************
回路について
***********************
・JP2は回路図のVCCとUSBの5Vを切り離せるようにするための物
 装置側から電源供給する場合USBの5Vとは切り離せるようにしておかないとマズイ
・R1,R2は安全のために入れてある。バグの無いソフトと正しい回路なら不要
・C1は0.1μFでも可。これはUSBの3V電源用のパスコン。実測すると4V程度有ってFT232に比べるとテキトーな感じ
・JP4はブレッドボードで使うときに安定させるための物で電気的な意味は無い
***********************
 CH340について
***********************
・通信速度の設定はWindowsプログラムからCOMポートをOPENするときに設定
・ドライバーは以下のメーカーのホームページからダウンロード。CH341SER.ZIPというのがドライバー
 解凍しCH340SERフォルダーにあるSETUP.EXEがインストーラー
 2016-08-28追記
   現時点では CH341SER.ZIP ではなく CH340SER.EXE が添付されている
   CH340SER.EXEは インストーラーそのもの
 Windows8は装置を接続すると自動インストールされるらしい
 当方の開発機(Win8.1)では自動インストールされなかったので手動インストール
 ドライバーをインストールしCH340を接続するとCOMポートがWindowsに追加される
・何故かデータシートにはSOPパッケージのCH340Gのピンレイアウトが載っていない
 以下のメーカーホームページを参照
・1.27mmピッチの足間隔なので0.6mm以下の細い半田があれば半田付けは容易
・電源電圧は5V又は3.3V
・MPUとの接続
  CH340GのTXD<->MPUのRX
  CH340GのRXD<->MPUのTX
・基板実装済みの物が必要な場合はAliexpressで送料込み$1程度。配送に10日~1ヶ月かかる
 但しUSBのAコネクターが付いている。Bコネクターの方が実験には便利
・ICだけなら20個で$7~$8
メーカーはここ

CH340SCH.png

テスト基板

R0029105.jpg
CH340Gから送った文字をそのまま返すエコーサーバー サンプルプログラム
0001  #include <SoftwareSerial.h>
0002
0003 #define rxPin 10
0004 #define txPin 11
0005
0006 SoftwareSerial mySerial = SoftwareSerial(rxPin, txPin);
0007
0008 void setup() {
0009 pinMode(rxPin, INPUT);
0010 pinMode(txPin, OUTPUT);
0011 mySerial.begin(9600);
0012 Serial.begin(9600);
0013 }
0014
0015 void loop() {
0016 char c;
0017
0018 if( mySerial.available() ) {
0019 c = mySerial.read();
0020 Serial.write(c);
0021 mySerial.write(c);
0022 Serial.println("");
0023 }
0024 }
行番号
解説
全体
シリアルモニター(TeraTerm等)<->CH340G<->Arduinoのソフトウェアシリアル。ソフトウェアシリアルで受信した文字をArduinoのシリアルモニターでも出力している。特にこれは無くても機能確認にはなるがArduinoの標準機能なので入れてある

上のスケッチの実験風景

R0029111.jpg
回路図&基板レイアウトなど
ファイル ファイルタイプ 添付ファイルの解説
CH340_eagle.zip EAGLE EAGLE VER4.15以上用
ch340gtest_ino.zip arduino サンプルスケッチ。上と同じ物
CH340DS1.PDF PDF CH340データシート

実際の回路例はVFD時計の作り方(Arduino)を参照