トラップ <CXL00145_AT_nifty.com>
2003.08.09 Create
2004.11.28 Modify
LinuxZaurus SL-C シリーズには実用的なキーボードが搭載されています。 なのに、なぜ外付けのキーボードをつなごうとするのでしょうか? それは・・・
「そこに、ぱたぱたキーボード(stowaway keyboard)があるからです」
・・・というわけで、次いってみましょう。
本文書は、筆者手持ちの Targus stowaway portable keyboard (for Visor) と、 Stowaway portable keyboard (for PalmVx) を SL-Cシリーズの LinuxZaurus につないで使ってしまおう!というものです。 どちらもシリアル接続のキーボードであり、 携帯機器用のデバイスで信号レベルも合ってますから、 LinuxZaurus に接続してソフトウェアでキースキャンコードを変換してあげれば使えるはずです。
よって、製作するものは次になります。
なお、ここでは Visor 用と PalmVx 用の2種類の例を挙げていますが、 PalmVx 用と同じようにして WingBoard も使えています。 Stowaway keyboard 互換の携帯キーボードも結構出てますから、 多分それらも使えるでしょう (信号線の位置の違いと信号レベルは確認しないといけませんが)。
以下の記事では、Linux Zaurus の I/Oポート から stowaway キーボードへ直接、 有線による接続を行っています。 赤外線で接続するのとは違って、電気的な接続ですので、十分注意してください。
特に、Zaurus の電源が切れていても、 常に I/Oポート の Vcc からは 3.3V が出ていますので、 回路を接続する前に Vcc と GND が絶対に接触しないように(ショートしないように)確認してください。 Zaurus 壊しちゃいますので。
LinuxZaurusは、e-zaurus と同じ 16端子の I/Oポートを持っています。 e-zaurus ではオプションポート16 と呼ばれていたもので、 全く同じコネクタなのですが、 一部の信号線が廃止されて USB 信号ラインが増えたこと、 出力電圧が 5V から 3.3V に変わったなどの違いがあるため、 基本的に e-zaurus用 の周辺機器は使えないと思ってください。
注1:すべてだめかというとそうでもないのですが使えないと思った方が賢明です。
注2:SL-C3000 では、背面にシリアルポートが隠されていますが、USB端子を独立させたということもあり、 下記のラインのうち、Power+, Power-, USB D+, USB D- などは未接続のようです。 なお、シリアル通信関連ラインと Vcc, Gnd は使えますので、ここでは特に問題はありません。
|
Power +, - は、外部ACアダプターから Zaurus に電源を供給するためのピンです。 11番のVccは、逆に Zaurus から外部機器に 3.3V を供給するピンです。 入出力信号は、(Vccが 3.3V なので)3.3V CMOSレベル です。 詳細は、技術サポートページの情報をご確認ください。
なお、Zaurus のシリアルポートは、通常時 0V で StartBit で 3.3V に上がりますので、 通常のシリアルポートとは論理が逆になります。 更に、I/Oポートの信号レベルは、3.3V の CMOS レベルですので、 どちらにしても PC のシリアルポートとは直結できません! 信号名が同じだからといって単純に結線したら LinuxZaurus を壊してしまいますのでご注意を。 詳細は、UNIX Magazine 2003年7月号が詳しいのでそちらをご覧ください。
Visor用 の stowaway keyboard は 信号論理が逆なので、 インバータ 74HC04 を使って論理の反転を行います。 信号レベルは、入力された電圧(3.0〜5.5V)に対してのCMOSレベルで出力されますので、 この場合はレベル調整の必要はありません。 インバータに CMOS の石(74HC04)を使う際は、 未使用の入力ピン(図では 2A,3A,4A,5A,6A)は浮かさずに GND なりに接続しておいてください。
※回路への電源供給ラインは、 Vcc (11) ではなく、ER (14) に変更してもらっても結構です。 ただし、動かない物もあるということなので、図では一応 Vcc (11) から引っ張ってます。
【Visor用 stowaway キーボードのピン配列】
Pin | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|
名称 | TxD | VDOCK | USB_D+ | USB_D- | GND | HS1 | KBD | RxD |
---
【OP16コネクタに 74HC04 を仕込んでみた例】(↓汚いですが、コネクタ内に収まるという例ということで)
PalmVx用の stowaway keyboard は Zaurus と同じ信号論理ですので、 ほぼ結線するだけで動きますが、 信号が落ちるのが遅く時々通信に失敗するので 10K ohm 程度の抵抗でプルダウンしています。 stowaway keyboard 互換のキーボードの場合、抵抗が無くとも動くものがあるとのことです。
※回路への電源供給ラインは、 Vcc (11) ではなく、ER (14) に変更してもらっても結構です。 ただし、動かない物もあるということなので、図では一応 Vcc (11) から引っ張ってます。 ちなみに、ER (14)から電源を供給する場合は、 e-zaurus 用のパソコン連携キット付属USBケーブル CE-175TU を切って作ると便利です。 1本余分な線が繋がっているものの、 シリアル通信に必要なラインがストレートに繋がってるので使いやすいのです。
※PalmVx用の stowaway keyboard は、通常時はキーボードをスリープさせておき、 必要時にのみ HotSync ラインからのパルスで機器にトリガをかけるのですが、 Zaurus の WakeUp 端子を使って良いか不明だったため、 今回は繋がずに RTS ラインの上げ下げを定期的に行って スリープさせずに使っています。
【PalmVx用 stowaway キーボードのピン配列】
Pin | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
名称 | N/C | Vcc | RxD | RTS | N/C | N/C | Hotsync | N/C | N/C | Ground |
---
【OP16コネクタの例】
(電源を ER(14) から取ることで、CE-175TU のコネクタをそのまま流用した例)