USB-3WAYはPCのUSBコネクタに3種類のシリアルI/F(R-S232C・RS-485・TTL)を増設する製品です。
RS-232Cは全二重かつ一部のハードフロー制御端子を、RS-485及びTTLはデータのみの半二重をサポートし、基本的にいずれか1つのI/Fのみを使用する事を前提とした構成となっています。
品番 | BTE061E | |
PCBリビジョン | E104B | |
動作温度範囲 | 0~60℃ 結露なきこと | |
寸法 | 約33x31x13 mm | |
重量 | ||
電源 | USBバスパワー | |
コネクタ | USB microB x1 D-SUB 9pin オス x1 | |
各I/F仕様 | RS-232C | 複信 全二重 (CD,ER,DR,CI使用不可) 最大通信速度 1Mbps (Load:250pF/3kΩ) ESD保護 ±10kV 絶対最大定格:-22V~+25V |
RS-485 | 複信 半二重 最大通信速度 3Mbps 最大ノード数 256台 ESD保護 ±15kV 絶対最大定格:-12V~+15V | |
TTL | 複信 半二重 最大通信速度 3Mbps ESD保護 ±2kV 絶対最大定格:6V |
Pin No. | 名称(RS-232C) | Signal | Direction |
1 | TX/RX(TTL) | I/O | |
2 | RD | RXD(RS-232C) | I |
3 | SD | TXD(RS-232C) | O |
4 | D+ (RS-485) | I/O | |
5 | SG | GND | - |
6 | D- (RS-485) | I/O | |
7 | RS | RTS (RS-232C) | O |
8 | CS | CTS (RS-232C) | I |
9 | USBバスパワーに接続 | O |
FTDI社のUSBシリアル変換ICはチップ内にタイマが内蔵されており、このタイマのタイムアウトにより送受信のイベントが発生します。このタイムアウト時間は提供されるデバイスドライバにて16msに設定されているため、これより短い時間での応答性を得ようとする場合は値を変更しなくてはなりません。
FTDI社のライブラリ等を使用する場合は、専用のAPIで必要に応じて変更する事が可能ですが、WIN32 APIでオープン・クローズ・送受信だけを扱うアプリケーションの場合は、デバイスマネージャの該当COMポートのプロパティから予め任意の値に変更しておく事で対処出来ます。
送信はRS-232C・RS-485・TTLの全I/Fに対して同時に行われ、選択することはできません。
受信はD-SUBへ接続されている端子全てが対象で、内部でOR接続されています。そのため通常はいずれか1つのI/Fのみを外部機器と接続して使用するものとしています。
TTLおよびRS-485は半二重I/Fを介して送受信が排他的に行われます。TTLは1番端子のみ、RS-485は4番(D+)と6番(D-)端子となります。
無通信状態では常に受信モードとなり、PCから送信がなされると送信モードに切り替わり、送信バッファ内のデータを送信し切ると再度受信モードとなります。
RS-232Cは最大で1M[bps]、RS-485とTTLは最大で3M[bps]まで対応します。
なお、FTDIのUSBシリアル変換ICの仕様として、設定可能なボーレートは次式により導かれ、さらに高い順に以下の表の様に決定されています。
actual baudrate = 3000000 / internal divisor internal divisor = n + 0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875 (n = 2..16384)
actual baudrate[bps] | internal divisor |
3000000 | 0* |
2000000 | 1* |
1500000 | 2 |
1411765 | 2.125 |
1333333 | 2.25 |
1263158 | 2.375 |
1200000 | 2.5 |
1142857 | 2.625 |
1090909 | 2.75 |
1043478 | 2.875 |
1000000 | 3 |
960000 | 3.125 |
923077 | 3.25 |
888889 | 3.375 |
857143 | 3.5 |
827586 | 3.625 |
800000 | 3.75 |
774194 | 3.875 |
750000 | 4 |
705882 | 4.25 |
685714 | 4.375 |
(中略) | (中略) |
183 | 16384.625 |
183 | 16384.75 |
183 | 16384.875 |
183 | 16384 |
*は例外 |
ホストから任意のボーレートを指定すると、デバイスドライバは上記表のうち最も近いボーレートに丸めた値を採用するため、高いボーレートほど誤差が大きくなりがちです。できるだけこの表で表されるボーレートを採用する事を推奨します。
RS-485のD+とD-端子間にはソフト的(FTDI社のライブラリを介して)に挿抜可能な120Ωのターミネータが装備されています。デフォルトではターミネータがONとなっています。
自作のプログラムから制御する場合は以下のコードを参考にして下さい。
// ターミネータON (CBUS3->HIGH) FT_SetBitMode (ftHandle, 0x88, 0x20);
// ターミネータOFF (CBUS3->LOW) FT_SetBitMode (ftHandle, 0x80, 0x20);