IC・トランジスタで出来たコンピューターを設計・製作するためのブログPICPIC32MXと23LC512をSQIモードで接続2014年5月10日Microchipの8ピンSRAMの23LC512は、65536バイトの容量を持つSRAMで、通常はSPI接続で使用する。MHz相当)を要することになる。MHz相当)ぐらいかかるようだ。miniの外部メモリーとしては、使えない。23LC512には、4本のデーターラインを平行して扱う、SQIモードというのがあるので、コレを使えば、4倍速で接続できるようだ。実際、どれぐらいの速度で読み書きできるようになるのか、試してみた。石はPIC32MX120F032B-50Iを使用。抵抗はすべてゼロΩで、キャパシタはすべてセラミックで19・20ピンに繋がっている物は10μF、その他は0.1μFの容量。bpsでシリアル接続を行なう。以前作成した、LPC810用のUSB-シリアル変換器を使った。テストプログラム(記事の最後でダウンロードが可能)では、まず読み書きの速度を測定。次に65536バイトに乱数表を書き込み、続けて65536バイトの乱数表を読み出し、それらの値が一致することを確認。ランダムなアドレスに書き込み・読み出しを行なって、同じ値が読み出されるかを確認した。実行結果は、以下の通り。MHzまで上げてみても、エラー無く動作することを確認した。1バイトの読み出しは55クロックで、書き込みは46クロックで行える。MHzで動作せたとすると、それぞれ、1.1μ秒、1.0μ秒となる。MHzの速度で動いている場合、NOP命令(命令の読み込みに1バイト)の実行に2μ秒であるが、上記SRAM接続で読み込みに1.1μ秒かかっているのは、かなりぎりぎりの線のように思われる。readが出来るので、例えば4バイトを一度に読み込んでキャッシュに入れておけば、これの実行はPICが97クロック(2.0μ秒)で済むので(1バイト余分に読み込むのは、14クロック余分にかかるだけ)、何とかなりそうな気がする。使い方は、sram.hをインクルードし、init_sram()の実行の後に、read_sram8(addr,data)とwrite_sram8(addr.data)を使うだけの簡単なものに仕上がった。0.5.2は、ここからダウンロードできます。ライセンスは、パブリックドメインとします。