前回に続いて今回も福箱に入っていたデバイスを動かしてみます。扱うのは2つのEEPROMですが、これらはオプションパーツとして売られていた物です。
まず一つ目はこれです。
CakeResというらしく、IchigoCakeというBASICでプログラムできるマイコンに装着するオプションのようです。EEPROMに画像やミュージックデータが入っていてプログラムに利用できるそうです。データの収納フォーマットは非公開なので取り出すのは難しそうですが、EEPROMとしては使えそうです。型番を調べたところS-24CM01CというI2C接続1Mビット(128Kバイト)のものでした。データシートによると128Kバイトを64Kバイトのページ2つに分けてあり、ページ切り替えで全メモリにアクセス出来ます。
基板にはスルーホールがたくさんありますが。使用するのはSCL、SDA、3.3V、GNDだけです。
ライトプロテクトの端子はGNDに接続してあるようなので、書き込みも問題なさそうです。読み書きに使うマイコンは大画面のESP32-S3-BOX-liteを使いました。作成したスケッチはこちら。
CakeRes_EEPROM.zip (クリックしてウィンドウが開いたら右上のダウンロードボタンを押してください)
グラフィックライブラリにLovyanGFXを使いましたのでM5Stack系のマイコンなら簡単に動かせるでしょう。他のマイコンでも表示をシリアル出力などに変えれば利用できます。実行するとページ0とページ1の0000~00EF番地(データシートではページ1は10000~100EFとして扱われています)を交互に繰り返し表示します。18行目の#define WRITE_ONのコメントを外すとページ0とページ1の先頭16バイトにデータを書き込んでからメモリ内容を表示しますので、書き込みチェックが行えます。
このEEPROMのメモリ内容を大雑把に眺めてみましたが、データは書き込まれていないようでした。
続いてこちらのEEPROMを使ってみます。
sakura.ioというさくらインターネットの通信モジュールをRaspberry Piに装着するためのボードです。通信モジュールは付いていませんが、ボード上のEEPROM(24C32)は使えそうです。I2C接続で容量は32Kビット(4Kバイト)しかありませんが、プログラム開発のテスト用途には使えるでしょう。
ボードの端子はRaspberry Piと同じ配列なので、接続するのは28ピンのID_SC(SCL)と27ピンのID_SD(SDA)と3.3V、GNDです。
このEEPROMもライトプロテクトされていませんでした。使い方は上記と一緒ですが、容量が少ないのでページという概念はありません。作成したスケッチはこちら。
sakuraIO_EEPROM.zip (クリックしてウィンドウが開いたら右上のダウンロードボタンを押してください)
実行すると0000~00EF番地を表示します。17行目の#define WRITE_ONのコメントを外すと先頭16バイトにデータを書き込んでからメモリ内容を表示します。
このEEPROMにはすでに何か書き込まれていました。
どちらのEEPROMも専用モジュールになっているので自作のデバイスに組み込んで使うことはないでしょうが、せっかくなのでI2Cのテストとかログの保存などで活用してあげようと思います。
※コメント投稿者のブログIDはブログ作成者のみに通知されます