X1で高速通信
X1turboで高速通信にトライ
X1turboはスタンドアロンなパソコンなので、どうにかしてネットワーク接続ができないか考えていました。
Etherボードを作って試したりしたけど機器が特殊だったので、パッケージを小さくできるRS232Cでのシリアル接続を試してみました。
X1リソースセンターさんの所で、高速通信(HighSpeedSIO)ドライバが公開されていたので試してみました。
実際に速度計測すると、ケーブルを取り換えてみても 23000bpsぐらいが限界でそれ以上は overrun error が出てしまいました。
マシン個体差があるのかも?これ以上の通信速度の実現は難しいのか…。
USBシリアル変換ケーブル
そして、もう一つの問題。それはWindowsマシンにシリアルポートが搭載されなくなってきた事です。
レガシーなシリアルポートはそれほど使われなくなってきて、同じシリアル回線のBlueToothが標準搭載されるようになりました。
出来るだけ手軽にWindows⇔X1の接続を行いたいと考えていたので、この辺りも問題でした。
その後、何年か経った時、BUFFALOのUSBシリアル変換ケーブル(''SRC06-USB'')の事を知りました。
このUSB⇔シリアルは、USBを経由してシリアルポートに接続が可能。
そして大きな特徴はボーレートが自由に設定可能な事です。
デバイスのプロパティを見る限り、一見自由にボーレートが設定できるようには見えませんが、プログラムからボーレートを設定すると任意のボーレートで通信する事が出来ます。
そして実験の結果、X1で使用できる速度値(25000Bps, 62500Bpsなど)にしても通信が出来ました!
このUSBシリアル変換ケーブルを使うことで、以下の問題が解決できます。
- USBに対応しているWindowsマシンであればX1turboと通信可能
- 現在(2016-)でも入手可能な機材
- 9600bps以上の高速通信
しかも検証の結果、X1turbo Remote Monitorではシリアルケーブルはインタリンクケーブル(ハードウェアフロー対応)ではなく、通常クロスケーブルでも、高速通信でのやりとりは正常に行われていました。
速度を合わせる事で、ムラ無くデータが受信できているからでしょうか?
BUFFALO SRC06-USB
ボーレートを自由に設定できるUSBシリアル変換ケーブル。
古いPCとの接続に便利なのでオススメ。
取説やサポートサイトにはその記述が無いので非常にもったいない。送信/受信バッファも4096byte設定可能。
(X1turbo Remote Monitorでは64byteに設定しています)
X1turbo接続では 62500bpsまで接続できました。
125000bpsは受信はできているけど、送信に失敗するので、まだ調査中です。
現在は後継機種として、''BSUSRC0605BS''がリリースされています。こちらでも動作するようです。
USB-CVRS9
これは古くからある16550互換UARTタイプ。
転送バッファも16byteで確保できるが、ボーレートは固定で、高速転送には使えない。
上記のどちらもハードウェアフローには対応しています。