FTDI USBシリアル変換アダプターRev.2の信号レベルについて

このページをスマホなどでご覧になる場合は、画面を横長にする方が読みやすくなります。
2016年11月29日 公開。

2016年8月にスイッチサイエンスからFTDI USBシリアル変換アダプター Rev.2(以後、Rev.2基板と略記します)が発売されました。この商品は、旧製品のFTDI USBシリアル変換アダプター(5V/3.3V切り替え機能付き)(以後、Rev.1基板と略記します)の形状をスリム化して低価格化した商品ですが(写真1参照)、信号レベルがRev.1基板と完全に互換ではありませんので注意が必要です。

この記事では、Rev.2とRev.1の回路構成の違いと信号レベルの違いについて解説します。

写真1、旧製品(Rev.1基板、左)と新製品のFTDI USBシリアル変換アダプター Rev.2(Rev.2基板、右)
↑ 画像をクリックすると拡大
写真1、旧製品(Rev.1基板、左)と新製品のFTDI USBシリアル変換アダプター Rev.2(Rev.2基板、右)

目次

1. FTDI USBシリアル変換アダプター Rev.2とは … 1ページ
2. FT231XSとFT232RLの違いについて … 1ページ
3. Rev.2基板とRev.1基板の回路構成と信号レベルの違い … 1ページ
3-1. VCCIOの電圧の違いについて … 1ページ
3-2. DTR出力のドライブ能力について … 1ページ

1.FTDI USBシリアル変換アダプター Rev.2とは

Rev.2基板は、FTDI社のFT231XSを使用したUSBシリアル変換器です。パソコンのUSBポートに接続すると、ArduinoなどのマイコンのUARTと通信できる様になります。

基本的にはSparkFun社のFTDI BASICの互換品ですが、信号電圧が5Vまたは3.3V固定のFTDI BASICと比較すると、信号電圧がジャンパピンの設定で5Vと3.3Vが切り替えられる様になっている点が改良されています。

Rev.2基板は、Rev.1基板をスリム化し、低価格化した物ですが、Rev.1基板ではUSBシリアル変換用のICにFT232RLを使用していた点でも異なります。

スイッチサイエンスの説明によると、Rev.2基板はRev.1基板より基板の幅が狭くなって、ACジャックを取り付けたArduino Proでも使用できる様になったそうです。

2.FT231XSとFT232RLの違いについて

Rev.2基板に使用されているFT231XSとRev.1基板に使用されているFT232RLは、共にFTDI社のUSBシリアル変換ICです。パソコンにインストールするドライバーは共通ですので、ソフト的には互換性があります。

しかし、信号レベルについては、両者で差があります。FT232RLの場合ロジック用の電源(VCCIO)の電圧範囲が1.8V~5.25Vとなっているのに対し、FT231XSの方は1.62V~3.63Vになっています。FT231XSを使う場合、TX信号に5Vが出力できません。(RX信号の方は5Vトラレントになっています)

スイッチサイエンスは、Rev.2基板を開発するにあたって、より新しい型番のFT231XSを採用する事で、部品が製造中止になるまでの期間を確保すると共に、低価格化を図ったものと思われますが、その代償として、5Vモードにしても、TX信号線の出力電圧が3.3Vになってしまいました。

参考:2016年11月時点の秋月電子でのFT231XSの価格は210円ですが、FT232RLは400円もします。

広告

3.Rev.2基板とRev.1基板の回路構成と信号レベルの違い

Rev.1基板の回路図(図1)とRev.2基板の回路図(図2)とを比較すると、2か所、大きな違いがあります。以下、それぞれの違いについて説明します。

図1、Rev.1基板の回路図
↑ 画像をクリックすると拡大
図1、Rev.1基板の回路図
スイッチサイエンスのRev.1基板の販売ページから回路図をダウンロードし、加筆後掲載しています。
図2、Rev.2基板の回路図
↑ 画像をクリックすると拡大
図2、Rev.2基板の回路図
スイッチサイエンスのRev.2基板の販売ページから回路図をダウンロードし、加筆後掲載しています。

3-1.VCCIOの電圧の違いについて

図1を見れば分かる様に、Rev.1基板では、FT232RLのVCCIOピンの電圧が、JP1の設定により5Vと3.3Vに切り替えられる様になっています。よって、5Vのモードでは、TX出力(JP2の3番ピン)の電圧もH出力時には5Vになります。

一方でRev.2基板では、図2を見れば分かる様に、FT232XSのVCCIOピンの電圧が3.3V固定になっています。よって、5Vのモードにしても、TX出力のH出力時の電圧が、3.3Vになってしまいます。

実際にTX出力の電圧波形をオシロスコープで観察した結果を図3(Rev.1基板)と図4(Rev.2基板)に示します。これらの波形は、Rev.1基板およびRev.2基板を5Vモードに設定した上で、Tera Termで通信速度を9600bpsに設定して'a'の文字を送信する事により出力しました。

図3、Rev.1基板のTX出力の波形
↑ 画像をクリックすると拡大
図3、Rev.1基板のTX出力の波形
H出力時の電圧が5Vになっているのが分かります。
図4、Rev.2基板のTX出力の波形
↑ 画像をクリックすると拡大
図4、Rev.2基板のTX出力の波形
H出力時の電圧が3.3Vになっているのが分かります。

図3を見て分かる様に、Rev.1基板のH出力時の電圧が約5Vなのに対して、図4のRev.2基板のH出力時の電圧が約3.3Vになっています。

ところで、図5はATmega328P(Arduino Unoに使われているマイコン)のデータシートを一部抜き出したものです。H信号の電圧の下限は、VCC(電源)の0.6倍である事が分かります。VCC=5Vの場合は、3V以上の電圧を入力しなければならない事が分かります。Rev.2基板のTX出力は3.3Vと、一応この基準を満たしてはいますが、ノイズマージンが少なく、誤作動しやすい条件で動作する事になる事が分かります。

図5、ATmega328PのDC特性(抜粋)
図5、ATmega328PのDC特性(抜粋)
Atmel社のデータシート Atmel 8-bit Microcontroller with 4/8/16/32KBytes In-System Programmable Flash(8271E–AVR–07/2012)より抜粋。

3-2. DTR出力のドライブ能力について

図1と図2を比較すると分かりますが、Rev.1基板のDTR出力端子はFT232RLに直結されているのに対し、Rev.2基板のDTR出力はMOS-FETを使ったレベル変換回路が入っています。DTRはスケッチを書き込む際に、Arduino(あるいは互換機)にリセットを掛けるために使われる信号線ですが、この信号レベルが3.3Vだと、5V動作時にArduinoに正しくリセットがかけられない事からこのようなレベル変換回路が入っているのだと推測されます。このレベル変換回路のおかげで、5Vモードで動作している時に、DTR出力のH出力も5Vになります。

図6と図7に、それぞれRev.1基板とRev.2基板のDTR出力の電圧波形を示します。これらの波形は、Tera TermでRev.1基板あるいはRev.2基板に接続した瞬間に、DTR出力がHからLに変化する様子を観察したものです。なお、JP1の設定は、Rev.1基板、Rev.2基板ともに5Vモードにして測定しました。

これらの波形を見ると分かる様に、H出力時の電圧は、Rev.2基板の場合でも、Rev.1基板と同様、約5Vになっているのが分かります。

図6、Rev.1基板のDTR出力(無負荷時)
↑ 画像をクリックすると拡大
図6、Rev.1基板のDTR出力(無負荷時)
図7、Rev.2基板のDTR出力(無負荷時)
↑ 画像をクリックすると拡大
図7、Rev.2基板のDTR出力(無負荷時)

この波形だけ見ると、レベル変換回路のおかげで電圧の互換性が増して良い様に見えますが、レベル変換回路には副作用もあります。

図8は、Rev.2基板のDTR出力に3.3kΩの負荷抵抗RLをGNDとの間に接続した場合の、H出力時の等価回路です。H出力時はQ1のMOS-FETがOFFになっているので、Q1は実質ダイオード1個と等価になります。DTRは10kΩのR6でプルアップされている状態になりまが、この抵抗は3.3kΩの負荷抵抗を十分ドライブするだけの駆動能力がありません。よって、負荷抵抗RLはR6と共ににQ1のボディーダイオードにより駆動され、その結果、DTRの出力電圧は3.3Vからダイオードでの電圧降下0.7Vを引いた2.6Vになります。

図8、Rev.2基板のDTR出力に負荷抵抗を付けた場合の出力電圧低下の原理
↑ 画像をクリックすると拡大
図8、Rev.2基板のDTR出力に負荷抵抗を付けた場合の出力電圧低下の原理

実際に出力電圧の低下を観察したのが図9と図10です。

図9、Rev.1基板のDTR出力(3.3kΩ負荷時)
↑ 画像をクリックすると拡大
図9、Rev.1基板のDTR出力(3.3kΩ負荷時)
無負荷時(図6)と同じく、H出力時の電圧は約5Vになっているのが分かります。
図10、Rev.2基板のDTR出力(3.3kΩ負荷時)
↑ 画像をクリックすると拡大
図10、Rev.2基板のDTR出力(3.3kΩ負荷時)
H出力時の電圧が、約2.6Vにまで低下しているのが分かります。

図9はRev.1基板のDTR出力に3.3kΩの負荷抵抗をつないだ時の波形ですが、無負荷時(図6)と同様、H出力時には約5Vが出力されている事が分かります。

図10はRev.2基板のDTR出力に3.3kΩの負荷抵抗をつないだ時の波形ですが、無負荷時(図7)とは異なり、H出力時の電圧が約2.6Vにまで低下している事が分かります。

このRev.2基板のDTR出力の駆動能力の問題で、実際にArduino用ブートローダ/スケッチライタキットでスケッチが書き込めない現象が観察されました。Rev.2基板でArduino用ブートローダ/スケッチライタキットを動作させるには、Arduino用ブートローダ/スケッチライタキットを一部改造する必要がありました。

Arduino用ブートローダ/スケッチライタキット 商品名 Arduino用ブートローダ/スケッチライタキット
税抜き小売価格 3000円
販売店 スイッチサイエンス
サポートページ

この様に、一部の回路ではRev.1基板とRev.2基板の非互換性が問題になる場合があり、注意が必要です。(Rev.1基板の方が、FTDI BASICとの互換性が高く、無難に使えます)

このページで使われている用語の解説

関連ページ

関連製品

Arduino用ブートローダ/スケッチライタキット 商品名 Arduino用ブートローダ/スケッチライタキット
税抜き小売価格 3000円
販売店 スイッチサイエンス
サポートページ
Arduino 電子工作
このサイトの記事が本になりました。
書名:Arduino 電子工作
ISBN:978-4-7775-1941-5
工学社の書籍の内容の紹介ページ
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。