ほぼ無制限の読み取り/書き込み操作機能を備えた不揮発性メモリICが必要


12

マイクロコントローラーベースのプロジェクトの累積カウントを追跡するために使用されるメモリソリューションが必要です。

累積カウントとは、マイクロコントローラーがこのメモリー位置を使用してイベントの発生カウントを保持することを意味します。停電中はカウントを保持する必要があるため、不揮発性メモリが必要です。

また、カウントインクリメントイベントが頻繁に発生するため、メモリへの書き込みが多くなるため、EEPROMを使用することをためらいます。

推奨される通信インターフェースはI2Cですが、他の代替手段も歓迎します。

私は頭を下げて、パワーダウン時のコインセルのようなバックアップバッテリーから電力を供給するオプションを備えたSRAM低電力揮発性メモリICを想定しています。


15
F-RAMが必要です。
ハース

3
...そして質問は何ですか?
カード

2
I2C書き込み操作の途中で電源が落ち始めたらどうしますか?カウントを破損しないことをどのように確認できますか?差し迫った電力損失を検出できない限り、この問題は思っているよりも難しく、その場合はRAMベースのカウンターを典型的なEEPROMにコピーするだけです。
エリオットアルダーソン

5
「頻度」はどのくらいですか?単一の変数に対しては、小さなサイズのEEPROMでさえ、非常に高い耐久性を備えています。また、最後の書き込みが失敗した場合に備えて、最後のxカウントのバックアップがあります。
hekete

私は、1億サイクルと約束された古いスタイルの非フラッシュEEメモリを思い出します。
analogsystemsrf

回答:


21

利用可能なサイズの順に、ニーズに合った3つの不揮発性メモリタイプがあります。

  • 平らなEEPROM / FLASHを着用してください。
  • バッテリーバックアップSRAM。
  • FRAM。

コストの面では、FRAMが最適です。必要なのは、書き込みを完了するためのバックアップコンデンサを含むチップ内です。ただし、利用可能なサイズは少ないです。
バッテリーバックアップSRAMは大きく、材料が高価です。
ウェアレベリングされたEEPROMには、ウェアレベリングを処理するファームウェアが必要です。


1
ありがとう。@Hearthの提案どおりにFRAMをチェックしましたが、私のニーズに最も適していると思います。I2Cバリアントを見つけることができることを願っています。また、アキュムレータ変数は32ビット長である必要があります。したがって、サイズはそれほど大きな問題ではありません。
セレッソ

3
@GH_engI²CFRAM チップ。メモリの使用はかなり高価です(比較的新しい技術であるため)が、必要なものについては、おそらくより高いコストがかかるでしょう。
ハース

3
MRAMもあります
DKNguyen

1
@GH_eng TI MSP430FR *にはFRAMが組み込まれていると思います。MCUに関して既に制約されているかもしれませんが。
間違いなく

21

まだ大量生産されている製品で私がやったことは次のとおりです。

  • すべてのパラメーターとカウンターをRAMに保持する
  • 割り込みラインを電源電圧しきい値検出器に接続します
  • 割り込みがトリガーされたら、電力を消費するすべてのもの(ほとんどの周辺機器、LEDなど)をシャットダウンし、すべてのRAMをバックアップしてフラッシュします。

低電圧トリガーと、電源管理ICが起動してすべてをシャットダウンするまでの時間(整然とした方法)には、約10-20msの時間がありました。これが機能するかどうかは、電源のエネルギー貯蔵に依存しますが、少量の電源でもこれを十分に遅くすることができるため、小さなデータセットを確実に書き込むことができます。


1
@ヒルマーそれはかなり賢いです!知っておくといい。EEPROMとMCUの入力の前にリザーバーCAPを配置すると、時間遅延がさらに増加し​​ます。唯一の欠点は、おそらくPCB上のより多くのコンポーネントです。
セレッソ

当時は、PCBの不動産を含め、明らかに最も安価なソリューションでした。もちろん、それはあなたの詳細に依存します。スペアにスペアのGPIOラインがあったので、それは無料でした。残りはほんの数個のジェリービーンズ(小さな安価なSMDパーツ)
ヒルマー

本当に必要な場合、供給にエルキャップを入れるのに十分な大きさで、面倒な副作用を起こすには大きすぎないようにすることで、おそらく10-20msを伸ばすことができます。
マスト

@マスト:それはおそらく高すぎるだろうし、あなたは代替ソリューションをお勧めします
ヒルマー

6

Toggle MRAM(磁気抵抗RAM)は、実質的に無限の書き込み耐久性を持っていると主張されています(書き込みを損なうメカニズムを認識していません)。ただし、I2Cを話すようなチップは知りませんので、SPIに慣れる必要があります。そのような部分が1つありますhttps : //www.digikey.com/product-detail/en/everspin-technologies-inc/MR25H256ACDF/819-1064-ND/8286370


5

RTCクロックチップまたはモジュールを使用できるように聞こえます。これらは、バッテリーバックアップ、ユーザーデータ用の追加のSRAM、およびI2Cインターフェイスを備えています。

または、バッテリでバックアップされたSRAMを備えたMCUを使用するだけで、外部コンポーネントは不要です。


たとえば、DS1307、DS1338。
フィロ

1
残念ながら、ボードで使用されているRTCCはDS3231Mです。DS1307 RTCCと同じピン構成ですが、内部スペアデータレジスタはありません。統合された発振器のためにこれを選んでください。完全な回路レビューを感じます:(!
Cerezo

5

サイプレスは、不揮発性SRAMと呼んでいます。電源が落ちたときに自動的にバックアップするのは標準SRAMです。停電時にのみ不揮発性メモリに書き込みを行うため、潜在的にはるかに大きな耐久性があります。シリアルバージョンとパラレルバージョンがあります。最小のものは64Kbなので、少しやり過ぎかもしれません。

通常の動作では、nvSRAMは標準信号とタイミングを使用する従来の非同期SRAMのように動作します。nvSRAMは、20 nsの速度で並列ランダムアクセス読み取りおよび書き込みを実行します。

電源障害が発生すると、nvSRAMはSRAMデータのコピーを自動的に不揮発性メモリに保存し、データは20年以上保護されます。SRAMと不揮発性メモリ間の転送は完全に並列であり、ユーザーの介入なしで8ミリ秒以下で操作を完了できます。

電源投入時に、nvSRAMはデータをSRAMに戻し、システムの動作は中断したところから続行します。nvSRAMは、ユーザー制御のソフトウェアSTOREおよびRECALL開始コマンド、およびほとんどのバージョンのユーザー制御のハードウェアSTOREコマンドも提供します。

NVSRAMブロック図



そのようなものは素晴らしいです!
戸町

4

単一の4バイト変数の場合、EEPROMはまったく問題ありません。

1秒間に1回書き込みを行っており、典型的な32Kb EEPROMがあり、100,000回の書き込みサイクルの保守的な耐久性があるとします。

クリアする必要がある前に、4バイトを8000回書き込むことができます。そのため、控えめな見積もりを使用しても、8億回書くことができます。

現在、1年で3150万秒しかないため、1秒に1回書き込むと、EEPROMの耐久性のローエンドの見積もりに達するには25年かかります。


1
もちろん、EEPROMへの書き込みは非常に遅い(ミリ秒)ので、OPの「頻繁な書き込み」には、より高速なソリューションが必要になる場合があります。そして、EEPROMの「クリア」には、非常に長い時間(秒)がかかります。消去する代わりに古い値を上書きすることもできますが、カウント値が厳密に連続していない場合、最後に書き込まれた値がどれであるかを判断するのは困難です。
エリオットアルダーソン

@ElliotAldersonおそらく、これまでで最も高い値が最後の値であると想定できます。この場合、1秒に1回が「頻繁」と見なされるかどうかは明らかではありません。書き込み周波数が1秒以上離れている場合でも、EEPROMは完全に実行可能です。
ヘケテ

0

ここには多くのオプションがありますが、実際の問題はデータの破損を防ぐことです。書き込み中の電力損失により、データが破損する可能性があります。I2Cは、これを回避するための良いオプションです。たとえば、SPIを使用すると、32ビットワードの4バイトを更新する途中で(メモリの観点から)書き込みが発生することがわかります。I2Cはもう少し堅牢ですが、ほんの少しです。

私のアドバイスは、値の4つのコピーを保存することです。そうすれば、書き込みが中断されても、2つは常に一致します。

FRAMまたは同様のものがおそらく最良のオプションです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.