電子工作etc
■メモリユニット(PIC外付け32kbyte)
★概要
測定した大量のデータを記録する媒体には、SDカードやEEPROMがよく利用されます。
しかし、測定の分野においては、これらの媒体では、性能(特に書き込み速度)的に問題となる場合があります。
そこで“性能アップ”、“大容量”、“安価”、“入手容易”を目標に実験を行いました。
使用した記録媒体は、エプソン社のSRAM(Static Random Access Memory)“SRM2B256SLM”です。
SRM2B256SLMXは、秋月電子で5個パックで300円、つまり1個当たり60円ととても安価で販売しています。
尚、PICとの接続線を減らすために、SRM2B256SLMXのアドレス制御には、汎用のバイナリカウンタ“4040”
を2個使用します。
<メモリユニットの仕様>
・記録容量は、32kバイト(32768byte)とします。
・信号線(データ、アドレス、制御)の数は、全部で13本とします。
D0〜D7
|
データ(書き込みおよび読み込みで使用します) |
CS
|
チップセレクト(SRAMを選択します) |
WE
|
ライトイネーブル(書き込み時に使用します) |
OE
|
アウトプットイネーブル(読み込み時に使用します) |
MR
|
マスターリセット(アドレスをリセットします) |
CP
|
クロックパルス(アドレスをインクリメントします) |
・アクセス関数を提供します。
オープン関数 |
sram_open |
SRAMを書き込み用または読み込み用にオープンします。 |
クローズ関数 |
sram_close |
SRAMをクローズします。 |
書き込み関数 |
sram_write |
SRAMに1バイトのデータを書き込みます。 |
読み込み関数 |
sram_read |
SRAMから1バイトのデータを読み込みます。 |
<SRM2B256SLMXの概観とDIP変換基板>

<SRM2B256SLMXのブロックダイアグラム>
<SRM2B256SLMXのピン配置>
<SRM2B256SLMXの書き込みタイミングチャート>
<SRM2B256SLMXの読み込みタイミングチャート>
<SRM2B256SLMXの制御信号>
<4040の概観>
<4040のピン配置>
<4040のブロックダイアグラム>
<4040のタイミングチャート>
★実験内容
メモリユニットへの連続書き込みとベリファイが、正常に行われるかをチェックします。
<処理の流れ>
・SRAMに32kバイト分データを書き込みます。データは0〜255の値を繰り返します。
・SRAMから32kバイト分データを読み込みます。書き込んだ内容と一致しているかをチェックします
・SRAMに32kバイト分データを書き込みます。データは255〜0の値を繰り返します。
・SRAMから32kバイト分データを読み込みます。書き込んだ内容と一致しているかをチェックします
・全てが正常であれば、LEDを点滅させます。
★回路図
★プログラム
ソースリストはここです。
HEXリストはここです。
★動作確認
信号線(データ、アドレス、制御)が多いのでかなり込み合った配線です。
★実験結果
メモリユニットへの連続書き込みとベリファイに費やした時間は、約2秒でした。(クロック8MHz)
これは、1バイトの書き込みまたは読み込みに換算すると、約15usecになります。
15usec ≒ 2秒÷(32768×4)
クロックが40MHzのPICを使用すると、約3usecでアクセス可能となります。

電子工作etc
|