ラベル面にはネジが2つ。1つはラベルに隠れているが、ラベルを破いて外した。
ラベルの無い方は、蓋を固定するネジを外す。
蓋は少し横にスライドさせてから持ち上げると取れる
コネクタ側にあるツメを少し押しながら開くと、蓋が外れる
基板を外すとこんな感じ
上がラベル面。
下が電池蓋のある面
RAM PAC2の場合、I/Oポートは以下
RAM PAC2のサイズとアドレスの関係は、以下
ロジアナで以下の挙動を計測
OUT 19h, 00h
IN 1Ah
ピンと信号線の関係も含めて、以下のようになった
CSEL2(14pin)がLowになった時点のCAD0(12pin)とCAD1(11pin)で、I/Oポートアドレスを判別できる。
OUT命令の場合はCWR(16pin)がLow、IN命令の場合はCRD(15pin)がLowになる。
パソピア側からみて、CDB0~7の8bitはOUT命令の場合はOutput、IN命令の場合はInputとなる。CAD1/CAD0,/CSEL2/CRD/CWRは、常にOutput。
OUT命令もIN命令も、CSEL2がLowの間隔は約600ns。
IN命令の場合、もう少し早いタイミング(500nsくらい?)でCDB0~7がInputされるので、その前にメモリ内容をパソピアへ返答をしなければならない。
また、OUT命令とIN命令の間隔は2usちょっとなので、OUT命令でアドレスをセットしたあと、IN命令でパソピアへ返答するまで、この間隔以内で処理をしなければならない。
8bitAVRを使う場合、1サイクル50ns(20MHz動作時)なので、結構ギリギリ。。
I/Oポート アドレス | リード/ライト | 内容 | CAD1 | CAD0 |
---|---|---|---|---|
18h | ライト | RAM PAC2 下位アドレス8ビット | Low | Low |
19h | ライト | RAM PAC2 上位アドレス8ビット | Low | High |
1Ah | ライト | RAM PAC2 ライトデータ8ビット | High | Low |
1Bh | ライト | RAM PAC2 PIOコントロール8ビット (RAM PAC2 4KBのみ必要) | High | High |
18h - 1Bh | リード | RAM PAC2 リードデータ8ビット |
RAM PAC2のサイズとアドレスの関係は、以下
ロジアナで以下の挙動を計測
OUT 19h, 00h
IN 1Ah
ピンと信号線の関係も含めて、以下のようになった
CSEL2(14pin)がLowになった時点のCAD0(12pin)とCAD1(11pin)で、I/Oポートアドレスを判別できる。
OUT命令の場合はCWR(16pin)がLow、IN命令の場合はCRD(15pin)がLowになる。
パソピア側からみて、CDB0~7の8bitはOUT命令の場合はOutput、IN命令の場合はInputとなる。CAD1/CAD0,/CSEL2/CRD/CWRは、常にOutput。
OUT命令もIN命令も、CSEL2がLowの間隔は約600ns。
IN命令の場合、もう少し早いタイミング(500nsくらい?)でCDB0~7がInputされるので、その前にメモリ内容をパソピアへ返答をしなければならない。
また、OUT命令とIN命令の間隔は2usちょっとなので、OUT命令でアドレスをセットしたあと、IN命令でパソピアへ返答するまで、この間隔以内で処理をしなければならない。
8bitAVRを使う場合、1サイクル50ns(20MHz動作時)なので、結構ギリギリ。。
0 件のコメント:
コメントを投稿