目次
前
次
SRAM操作
手持ちのSRAMは、HM6116で2kバイトサイズです。
ピンアサインは、以下。
8ビットのデータリード、データライトのタイミングチャートは
次のようになります。
リードの制御は、アドレスを含めて3信号を利用。
データがSRAMに書き込まれていると、次の回路で指定アドレスの
情報を引き出すことが可能。
nCS、nOEが'L'に固定されているので、アドレスが変化すると
SRAMに保存されている該当情報が出力されます。
アドレスは、CLOCKで変化するので、CLOCKに同期して該当
情報が出力されます。
ライトの制御は、アドレス、データを含めて4信号を利用。
8ビット分の論理値を指定後、トリガー(TRIGGER)ボタンを
押すと、rising_edgeが1パルス分出ます。このトリガー
をシフトレジスタに入力し、nWRと4024のインクリメント
クロックを生成。
シフトレジスタを2種利用し、片方をエッジトリガーの生成に
使い、もう一方は制御信号を生成させています。
タイミングチャートは、以下。
SRAMを利用する場合、リード、ライトの両方の動作が
必要なので、リード、ライト用回路を合体させて使い
やすくします。
SRAMのリード、ライトを可能として、自動でリードが
できる制御回路は、以下。
SW2でトリガーを与えると、rising edge検出のシフトレジスタ
から、1クロック分のパルスが出ます。このパルスを利用して
nOEかnWRのLパルスを出力。nOEかnWRの選択は、SW1を使って
指定。
SRAMにはアドレスが必要ですが、アドレスを+1するためには
右のシフトレジスタに論理ゲートを接続し、制御信号を生成。
右のシフトレジスタは、次のシーケンスを実行します。
- 00 wait trigger nCS='H'
- 01 nCS='L' nOEWR='H'
- 11 nCS='L' nOEWR='L'
- 10 nCS='H' nOEWR='H' (generate +1 pulse)
リードを自動実行するには、右のシフトレジスタに
’H'を与えればよいので、カウンタを使い周期的に
’H'を生成するようにしています。
目次
前
次