RL78/G13のSPIでEEPROMの読み書き

RL78/G13のSPI(CSI)でEEPROMをお読み書きしたいのですが、接続しているEEPROM(BR93L46F)は

起動時書き込み禁止になっており、書き込み許可をする動作が必要です。

一旦CSIの機能をI/Opポートに変えて、書き込み許可処理をした方がいいのでしょうか?

サンプルプログラムはありますでしょうか?

アセンブラがわからないので、C言語だけで実現したいです。

Parents
  • わかさん NAKAといいます。
    ちょっとだけデータシート見たんですけど、SPIでも、ポートでパタパタしてもコマンド送るだけなのでどちらでも良さそうですが、このEEPROM、MicrowireBUSってなんか中途半端なデータ長で、G13(すいません!G14のデータシートみてます)のSPIだとデータ長は7byteか8byteなので結構めんどくさそうですね。僕なら、全部ポートパタパタしちゃいそう。いっそG13の中のデータ・フラッシュメモリを使ったらだめなんでしょうか?
  • チョコです。

    MicrowireBUSのEEPROMについてはRL78/G13でアプリケーション・ノートが出ていました。

    「RL78/G13 Microwire 通信によるEEPROM 制御 CC-RL 」

    https://www.renesas.com/jp/ja/software/D3017572.html

     

    これは,CC-RLを用いてAT93C46Dを制御しているものですが,使えるかと思います。

    NAKAさん,

    Microwireでは,最初の1のデータをスタート・ビットとしているので,その前に必要な数だけ0のデータを送れば,8bit単位での通信になりまよ。

     

     

     

  • チョコ先生 NAKAです。
    なるほど、最初に入れる0の数で8の倍数に調整するんですね!Microwireっていうのを使ったことが無かったので知りませんでした。勉強になります!_(._.)_
    wikiで調べると、速度も遅いし、4本も信号線が必要だし、少し古い規格なんですかね?今後もこのI/Fを使った製品がでてくるのかな?
    内臓データ・フラッシュを使わずに、外付けEEPROMを使うメリットって何かあるのでしょうか?
    フラッシュはブロック毎にしか消去できないとか?消去可能回数は1000000回くらいで同じでした。
Reply
  • チョコ先生 NAKAです。
    なるほど、最初に入れる0の数で8の倍数に調整するんですね!Microwireっていうのを使ったことが無かったので知りませんでした。勉強になります!_(._.)_
    wikiで調べると、速度も遅いし、4本も信号線が必要だし、少し古い規格なんですかね?今後もこのI/Fを使った製品がでてくるのかな?
    内臓データ・フラッシュを使わずに、外付けEEPROMを使うメリットって何かあるのでしょうか?
    フラッシュはブロック毎にしか消去できないとか?消去可能回数は1000000回くらいで同じでした。
Children
No Data