30pinコネクタ仕様
Z-1/FX-890Pには外部回路を繋げるためのコネクタがカードエッジコネクタと30pinコネクタの二つ用意されています。
ここではこの内の30pinコネクタについて説明します。
1.ピン配置
30pinコネクタの仕様は他のカシオ製ポケコン(VX-3,VX-4,FX-870P)と互換性があります。
コネクタを正面から見た場合のピン配置
ピン番号 名称 方向 説明 1 Vcc +5V出力 2 PB8 in RS-232C DSR 3 PB7 in RS-232C CD 4 PB6 in RS-232C CTS 5 PB5 in 未使用 6 PB4 in プリンタBUSY 7 PB3 in 未使用 8 PB2 in 未使用 9 RXD in RS-232C DATA 10 PA4 out INIT (LOWアクティブ) 11 PA3 out STB (LOWアクティブ) 12 PA2 out RS-232C DTR 13 PA1 out RS-232C RTS 14 TXD out RS-232C DATA 15 RST out RESET 16 DB4 in/out データバス 17 DB5 in/out データバス 18 DB3 in/out データバス 19 DB6 in/out データバス 20 DB2 in/out データバス 21 DB7 in/out データバス 22 DB1 in/out データバス 23 DB8 in/out データバス 24 A0 out アドレスバス 25 A1 out アドレスバス 26 A2 out アドレスバス 27 OE out OUTPUT ENABLE 28 WE out WRITE ENABLE 29 CS3 out チップセレクト3 30 GND グランド
※「方向」のin/outはポケコン側から見たときの信号の流れを示しています。
2.電気特性
電圧レベルはTTL(HIレベル=5V/LOWレベル=0V)で、許容電流はIOL=4mA、IOH=2mAです。
なのでTTLなICに直接信号線を接続しても大丈夫ですが、電源をポケコン側から取る場合はあまり負荷を掛けないように注意する必要があります。 (電源ラインがどこまでの負荷に耐えられるかは…よくわかりません。)
大事を取るなら電源は外部に取るほうが良いでしょう。各信号線のタイミングは、
この様になっています。
つまり、アドレスバスやデータバスはCS3がLOWの状態でWEもしくはOEがLOW→HIに立ち上がった瞬間のみ有効で、それ以外のタイミングでは不定になっています。
なので、特にデータを出力する時などは場合によってはデータバスをこのタイミングでラッチしておく必要があるでしょう。
ちなみにデータを出力するタイミングはWE、入力するタイミングはOEで得られます。
3.データ入出力
プログラムから各信号線を操作する場合は基本的にBIOSを使用してください。
特にBIOSの02H、2AH〜2CH、70H〜71Hが30pinコネクタ関連になります。
30pinコネクタは端的に言うと、8bitのデータ送受信を8個の外部回路とやり取り可能で、4本の入力ラインと4本の出力ラインを持ち、1本のシリアルポートを持つインターフェースと言えます。
もし外部に接続する回路が一つのみならアドレスバスは無視する事が出来るので、こういう場合は回路的にもプログラム的にもかなり簡略化できます。
例えばアドレスバスが無視されているなら、BIOSの70H〜71Hで指定するアドレスは何を指定しても同じになりますよね。
(2011/6/23追記)
BASICから30pinコネクタにアクセスする方法に関して。
30pin端子のアドレスとデータラインはI/Oポート&H2C0〜に接続されています。
例)
30pinアドレス0 = I/Oアドレス&H2C0
30pinアドレス1 = I/Oアドレス&H2C1
BASICコマンドでI/Oからデータを取得するためには「INP()」命令を使います。
例)
30pinアドレス0のデータを取得する場合 A=INP(&H2C0)
BASICコマンドでI/Oにデータを出力するためには「OUT」命令を使います。
例)
30pinアドレス0に12を出力する場合 OUT &H2C0,12
4.本書について
本書は「Z-1/FX-890P活用研究(工学社)」に記載されていた30pinコネクタ関連の記事を編集し直したものです。
なお、本書の内容について工学社およびCASIOに問い合わせる事はおやめください。
NIFTY-Serve
YHW02344
村中 昭雄(STEAR)