USBシリアル変換器を作る

お手製のUSBシリアル変換機は、ケースに入れた物が2個ある。
・FTDIのFT231XS
・Silicon LabsのCP2102
以前は、単品でデバイスを買って取り付けやすい事から、FT231XSを推していたのだが、RX64MマイコンとPC間でシリアル通信を頻繁に行うアプリを実験した時に、他のUSBシリアル(CP2102)と比較して能力が劣る事を体感した。
高いボーレートで、データが欠落するまでは調べていないが、CP2102と比較して明らかに転送能力が劣るようだ。(少し大きな容量を送る場合に分割されてしまい、転送時間が余分にかかる、これは、データを欠損していない事から、ドライバーの問題と思える)

少し調べると、「FT231XS」は、「FT232RL」より安い価格帯の製品なので、「FT232RL」より劣るように作ってあるようだった。
※そうしないと、より価格が高いデバイスの存在意義が無くなってしまう、もちろんFT232RLは、シリアル通信以外にも、色々フォーマットをサポートしており、その意味では差別化されているものの、USBシリアル以外で使う事は少ないと思うので、メーカーとして差別化をする必要があるのだと思える。

アマゾンでは中華製のUSBシリアルが沢山売られていて、その中でも、値段と機能が優れているCP2102のモジュールを数個買ったのだが、FT231XS単品より安価で、モジュールになっているのがありがたく、性能も良い、下記のモジュールは、全ての端子が配線されており、インジケーターLEDも付いている。

工作の実験では、電源を、3.3V、5V、の切り替えがほしい。
また、ケースに入れて、見栄えや、機能性、安全性を良くしたいなどの理由で、適当なケースに入るようにした。
http://www.takachi-el.co.jp/data/pdf/2016-01-057.pdf
※タカチ製CS75N
CP2102モジュールは、USBのコネクターが直に付いているので、外して、モジュール基板のみにして内部基板に組み込み、マイクロUSBコネクタに直す。
※最初から、デバイスだけ買った方が良さそうにも思うが、デバイスだけ買うよりモジュールを買って加工する方が安くて、扱いやすいし(QFPパッケージは工作しずらい)、既にバイパスコンデンサなど周辺回路が整っている。

AVRなどでは、5Vが主流だが、RXマイコンなどでは3.3Vが主電源になる為、USBシリアルから電源を供給出来た方が、何かと利便性が高い、デバイスにも3.3Vレギュレーターは内臓されているが、これは内部デバイス用で、外部で利用する用途ではないので、別途レギュレーターを載せる。(販売されている多くのUSBシリアル変換モジュールでは、3.3Vのレギュレーターが内臓された物がほぼ無い)
電源は、スイッチを付けて、切り替えを行う、ただ、3.3Vのマイコンに5Vを印加する間違いを起こす事はあるので、その点は十分注意する必要がある、以前に電源切り替えのスイッチにトグルスイッチを使ったが、物を上に載せた場合などに切り替わる場合があるので、スライドスイッチにした。

穴の加工が、面倒だが、プラスチックなので、ヤスリやドリルで忍耐さえあれば何とかなる、モジュールに載っているLEDの光を確認出来るように、LEDの真上に穴をあけてある、この穴は、グルーガンで塞ぐと、埃も入らないし、半透明で良い感じになる。

懸念事項として、シリアル出力(TXD、/RTS)からの電流問題がある。
通常、電源は、USBシリアルから供給するので、その場合は問題無いのだが、マイコン側で電源が用意してあり、信号のみ接続した場合に、マイコン側の電源が入って無い場合、USBシリアルの電源が入っていない場合の主に二りで、シリアル出力線を通して電源電流が流れてしまう事があった。

以前に、RX64Mでインサーネット接続用プログラムを組んでいた時に、シリアル接続をしているとネットワークが接続出来ない事があり、原因を調べたところ、USBシリアル出力からの電圧が、RXマイコンに流れて、それがインサーネットのPHYデバイスにも流れていた為、リセット時のbootstarp機能が正しく働かなくて、誤動作していた。
USBシリアルのTXDとRXマイコンのRXDに1K程度の抵抗を入れて、とりあえず回避したが本来はアイソレーションするべきと思う。
基板を起こす際には、それらを含めた回路を組むと思うが、今回は割愛した。

※一応、マジックで書いた上から、プリントした紙をはった。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください