電子工作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