\def\textlarge#1{%
{\rm\Large #1}
}
\def\textsmall#1{%
{\rm\scriptsize #1}
}
##1、SRAMをいじる
SRM2B256SLMX55でデータの読み書きができたので方法をメモとして残します。
初めてSRAMをいじりました。自分なりにわかったことを書いていますので、間違いがあるかもしれません
やったこと
・ピンの仕様、読み書きの方法をまとめる
・本来はICをで行う操作を手動で行えるように回路を作成。動作を確認しました。
##2、仕様
### (1)ピンについて
ピンは28個あります。
#### ・A0~A14
読み書き先のアドレスを指定するためのピン
#### ・I/O1~I/O8
読み込み時は出力ピン、書き込み時は入力ピンとして使用する
#### ・CS
複数SRAMがある場合どのSRAMを操作するかを指定するピン。
普段はHighe、操作する際はLowにする。1つしか操作対象がなければLow固定でもよい
#### ・WE
書き込みする際に使用する。
普段はHighe、登録する際はLowにする(CSがLowのときしか有効でない)
Lowにした時のI/Oの値が指定したアドレスに登録される
#### ・OE
読み取りする際に使用する。
普段はHighe、読み取りする際はLowにする(CSがLowのときしか有効でない)
Lowにした時、指定したアドレスに登録されているデータをI/Oに出力する
### (2)アドレスについて
意識する必要は無いように思いますが、アドレスはXとYで指定しているようです。
例:下記画像はX=5、Y=3のアドレスを指定しています。
※1はHight 0はLow
指定したアドレスのセルに1byte(8bit)のデータが記録できます。
### (3)書き込み方法
0、すべて初期状態にする
CS、WE、OEはHight
A0~A14、I/O1~I/O8はLOW
ⅲ、書き込みを支持指示
CS、WEをLOWにする
ここで指定されたアドレスへデータが書き込まれる
ⅳ、すべて初期状態にする
CS、WE、OEはHight
A0~A14、I/O1~I/O8はLOW
### (4)読み取り方法
0、すべて初期状態にする
CS、WE、OEはHight
A0~A14、I/O1~I/O8はLOW
↓
ⅰ、A0~A14にアドレスを指定
例:X=5、Y=3を指定
↓
ⅱ、CS、OEをLOWにする
ここで指定されたアドレスのデータが出力される
例:登録されていたデータ3が出力される
↓
ⅲ、CS、OEをHightに戻す
##3、作成した回路
ユニバーサル基板へ実装
回路は参考サイトの回路ほぼまんまです。抵抗は全て10KΩ、適当にあったLED。電源電圧は4.5V。
上図の水色枠の拡大です。プルアップ回路が付いています。
上図の緑枠の拡大です。プルダウン回路が付いています。
##4、動作確認
書き込み
アドレスに00000001000001を指定。I/Oに00000001セット。
CSとWE押下で書き込み
読み取り
アドレスに00000001000001を指定。I/Oに初期値の00000000セット。
CSとOEを押下すると登録した値がI/Oに出力される
##5、おわりに
SRAM名前は聞いたことがありましたが、実際どのように動いているのかは知りませんでした。
今回ソフトを使わず、手動でデータの読み書きを行うことで楽しく動作を知ることができました。
参考サイト様に感謝です。
参考にしたサイト
[1] http://7ujm.net/micro/SRAM/SRAM.html