30pinコネクタ仕様


 Z-1/FX-890Pには外部回路を繋げるためのコネクタがカードエッジコネクタと30pinコネクタの二つ用意されています。
ここではこの内の30pinコネクタについて説明します。

1.ピン配置

 30pinコネクタの仕様は他のカシオ製ポケコン(VX-3,VX-4,FX-870P)と互換性があります。


コネクタを正面から見た場合のピン配置

ピン番号 名称 方向 説明
Vcc   +5V出力
PB8 in RS-232C DSR
PB7 in RS-232C CD
PB6 in RS-232C CTS
PB5 in 未使用
PB4 in プリンタBUSY
PB3 in 未使用
PB2 in 未使用
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)