書き込み時の再起動を無くしたい

こんにちはnyaanです。

現在SLG46826を搭載した自作基盤にArduinoを使いI2Cで書き込んでいます。

SLG46826のNVMデータをイレース→書き込み→読み込みするときに、イレースと書き込みの間で一度電源を落としています。(renesasのexampleスケッチ)

将来SLG46826の電源を基盤から供給する予定なので、再起動を出来るなら無くしたいです。

Arduinoで再起動を間に入れずに試したところ、スレーブアドレス0x00ではうまくいきますが、0x01では書き込み時にnackになったりとおかしな挙動になりました。

0x00の場合データは正常に書き込めているようですが怖いです。

グリーンパックの起動時にNVMを呼び出し回路情報をレジスタに読み出し初期化しているのは理解しているので、必要ではありそうですが...。

素人過ぎて申し訳ございませんが、この再起動がそもそも必要なのか、また皆様はI2Cで書き込み時どうしているのかお聞きしたいです。

  • nyaanさん NAKAといいます。

    I2C書き込み時に再起動しなくても書き込みできます。書き込みしたとたんに動作がかわります。気を付けるのは消去と書き込みの後に20[ms]程度、時間を設けないといけないようです。

    訂正!すいません!EEPROMの話でした!

    普通に書いたり、読んだりするだけなら電源OFFはいらないような気がします。NAKAはそのままやってます。

  • NAKAさん返信ありがとうございます。

    やはりそうですよね、サンプルプログラムの方いじってみようと思います。

  • SLG46826を使用した自作基盤へのArduinoを介したI2C通信での書き込み作業についてのご質問、非常に興味深いですね。NVMデータのイレース、書き込み、読み込みのプロセスにおいて電源のオンオフが問題になっているとのこと、理解しました。

    Arduinoでの再起動なしでの書き込み試みについて、スレーブアドレス0x00では成功するものの、0x01ではnackが返ってくるという現象は、アドレス指定に起因する問題の可能性があります。SLG46826のデータシートや、そのI2C通信に関する仕様を再確認することをお勧めします。また、再起動プロセスを省略することの可否については、デバイスの初期化プロセスやNVMからのデータ読み出し方法に依存するため、具体的な回答が難しい部分があります。

    再起動が必要かどうかの判断には、デバイスの動作仕様や、書き込み・読み込み時の電源管理に関する詳細な理解が必要です。メーカーの技術資料やフォーラムでの類似ケースの検証結果などを参考にすると良いでしょう。

    また、他の方々がどのようにI2Cで書き込みを行っているかについては、ArduinoやSLG46826を取り扱うコミュニティフォーラムで直接質問することで、より具体的なアドバイスを得られるかもしれません。さらに、様々な技術的な課題や解決策を探求する際には、https://melbet.pk/en/line/cricket などのリソースも参考になるかもしれません。

    素人とおっしゃっていますが、自作基盤への挑戦は素晴らしいことです。困難に直面しても、解決策を探求する過程で多くを学ぶことができます。引き続き頑張ってください。

  • 返信ありがとうございます。

    なかなかArduinoでSLG46826に書き込んでるコミュニティが見つからないので、ここで質問させて頂きました。

    正直気持ち悪いですが、0x00ではデータ的にも書き込めているようで基盤の動作も大丈夫そうです。(他のアドレスでは全部駄目でした)

    とりあえず書き込めてはいるので初心者なりに勉強しながらやっていこうと思います。