SVX日記
2006-04-19(Wed) タコが去りて、またタコが来る
昨晩の「ウ互換」ショックを引きずりつつ、職場にコッソリとEX-USB-CPを持っていった。なにしろ、接続する固体によって挙動が変わるなら、少しでもたくさんのデータを取って傾向を得るしかないのだ。まずは、現在「Linuxテストベッド」として職場に置いてある「赤いARMADA300」につないでみる……なんとッ!! 認識するッ!!
ほんじゃ、仕事に使ってるノートPCでは……認識しないッ!! あれっ!? もう改めて挿し直したら認識したッ!? ……うーん、うーん、うーん、うーん、うーん、うーん、うーん、うーん、ぅー……はぁーッ!? もしかしたらッ!?
念のため一緒に持ってきていた、安くてゴツいUSB延長ケーブル(USB2.0対応)で接続してみる……認識するッ!! うッ、うがーッ!! つまりはUSB2.0ポートでハブとハイスピード通信をする場合には、巻き取り式USBケーブルでは、ケーブル品質が不足するということなのかッ!!
そういえば、同ケーブルと同時に購入したUSB2.0対応2.5型HDDケースが、巻き取り式USBケーブルで接続した場合は認識されなかったのを思い出したよ……そっか、USB2.0はそれだけギリギリの性能を出しているというコトなのね。
しかしアレだ。巻き取り式ケーブルは、ここ数年で盛り上がってきている人気アイテムだ。一方で、USB2.0というのは互換性を維持して高速化を図った後発規格だ。当然、1.1規格のアイテムと混在して利用されるコトを考慮するべきではないのか。つまり接続時に、2.0規格での通信が維持できない場合には、1.1規格にフェイルソフトするネゴシエーションをするべきではないのか。
WindowsXPはUSB2.0対応ということで、USB2.0対応機器を、USB1.1対応ポートに接続した場合、オセッカイにも「このUSBデバイスは高速USB2.0ポートに接続すると、さらに高速で実行できます」なんてヘルプが出るのだが、ちょっと対応の方向性が逆でないの? なんにせよ、1270円の巻き取り式USBケーブルに足を掬われ、160円の安物USBケーブルに心を救われたのであった。
さて、やっかいな問題が解決したトコロで、ふっと気づいたのだが、もうひとつのUSB-シリアル変換基板に接続するブツについての問題に気づいてしまった。ソイツは清く正しく232Cロジックなのである。レベルコンバートしないとTTLレベルとして入力できないのだ。
実は、接続するブツは出力(TxD)をタレ流すだけの機器なので、入力(RxD)が必要ない(勘のイイ人は、ココでこのブツがなんだか気づくか!?)、それだけのためにレベルコンバートICを利用するのはバカバカしい……というわけで、トランジスタを使った簡易レベル変換回路を組むことにした。それくらいなら、変換基板とピンヘッダで接続できるので、基板を力学的に固定することもできるしな。
早速、仕事の帰りの電車の中で、RS232Cのレベルコンバータの回路をチマチマとデザインをする。なにしろ場所がないので、小さくまとめる必要がある……よっしゃ、まだ余裕はあるが、なかなか小さくまとまったぞ。