マイクロコントローラの電源が特定のしきい値を下回ると、電圧低下状態が発生し、RAMメモリが破損する可能性があります。回路のすべてのパワーダウンシーケンスが潜在的な電圧低下状態を意味する場合、マイクロコントローラーを使用する場合は常に電圧低下検出リセットメカニズムを有効にします。
ブラウンアウトリセット機能を有効にすることが推奨されない状況があるかどうか疑問に思っていましたか?
マイクロコントローラの電源が特定のしきい値を下回ると、電圧低下状態が発生し、RAMメモリが破損する可能性があります。回路のすべてのパワーダウンシーケンスが潜在的な電圧低下状態を意味する場合、マイクロコントローラーを使用する場合は常に電圧低下検出リセットメカニズムを有効にします。
ブラウンアウトリセット機能を有効にすることが推奨されない状況があるかどうか疑問に思っていましたか?
回答:
前述のように、ブラウンアウト回路を有効にすると、多くの場合、消費電流が増加します。メーカーは一般的にブラウンアウト回路は、任意の電圧にトリップするようにしたいので、さらに、かもしれない関数にチップの他の部分を引き起こすのに十分に低いことが、多くの部分がブラウンアウトを無効にして低電圧で動作することができるようになります。たとえば、コントローラーはほとんどの場合室温で1.5ボルトまで動作しますが、特定のストレスの多い状況(高温など)では1.99ボルトで誤動作する可能性があります。誤動作が発生する可能性のある状況でデバイスが確実にリセットされるように、ブラウンアウト回路は2.1ボルト+/- 100mVでトリップするように設計されている場合があります。
このようなコントローラを備えたデバイスに2つのアルカリ単3電池から電力が供給されている場合、電圧低下回路を有効にすると、セルあたり1.1ボルトのバッテリー電圧でデバイスが使用できなくなり、電圧に達するまでに動作を停止する可能性がありますセルあたり1.05ボルト。電圧低下回路を無効にすると、セルあたり少なくとも0.9ボルト、場合によってはセルあたり0.75ボルトまで動作が拡張される可能性があります。低電圧で発生する可能性のある誤動作がジャンクバッテリーのドレインの増加を超えて害を及ぼす可能性がない場合、使用可能なバッテリーからの消費電流を減らさなくても、ブラウンアウト回路を無効にすることは、バッテリー寿命を改善する簡単な方法です。
すべてに公差があるため、ブラウンアウトリセットレベルは、チップが適切に機能することが保証される最小レベルよりもやや上に設定する必要があります。
そのため、チップが誤動作する前にブラウンアウトが発生する可能性があります。したがって、この地域では、チップが正常に機能する可能性がありますが、確信が持てない場合、自分で選択する必要があります
誤動作のコストが機能しないコストよりはるかに高くない場合、最初のオプションが優先されます。飛行機の「ブラックボックス」のping機能を考えてください。pingを送信する可能性がわずかでもある場合は、ぜひそれを続けてください!
反対側では、爆弾や車のエアバッグのトリガーを検討してください。低い電源電圧のために偶然に電源が切れる可能性がわずかでもある場合は、電源を遮断する必要があります。それはもちろん、シャットダウンは点火しないことを意味します!
適切な選択ができない状況があります。悪名高い最初のアリアンVロケットの打ち上げを考えてみましょう。方向制御コンピューターが誤動作しました(この場合、低電力のためではありません)。それは何をすべきですか?ほとんどの場合、間違った方向にステアリングすることを意味しますが、終了することはまったくステアリングしないことを意味し、同じ結果になります。どちらも、ロケットが迷い込むかもしれないコントロールバンカーの人々にとって良い見通しではありません:(
ロスがコメントしているように、バックアップはミッションクリティカルなシステムにとってはもちろん良い考えです。しかし、それは設計問題をそのバックアップに移します。それが失敗した場合はどうなりますか?(実際には、多数が投票して、常に3がアクティブになります。)Ariane 5の場合、プライマリコンピューターとバックアップコンピューターの両方が失敗しました(ただし、独自の障害ではありませんが、それは別の話です)。他のシステム(おそらく制御室の人間でさえ)がすべてが制御不能であると検出し、自己破壊を引き起こしたということでした。ロケットを空中で爆発させて、海で小さな破片に落下させて、ランダムな方向に1つの破片で飛行させ続ける方がよいでしょう。
リセットを気にしない場合(たとえば、ユーザーが完全に機能しない場合や損傷が発生しない場合は、ユーザーがオフにしたりオンにしたりすることを信頼できる)、電力消費が重要な場合、オフにすると、マイクロアンペア。(または、気にする場合は、組み込みのまあまあのものよりも優れた外部回路を使用できます)。
内部BORがタスクに不十分な場合(たとえば、公差が適切でない場合があります)、それをオフにして外部の何かを使用することもできます。
いくつかの目的のための興味深い要件は、それ以下ではEEPROMのようなものが動作しないことを保証される最大電圧を知る必要があることです。一部の組み込みBOR回路では、これは少し微妙な場合があります。
BORが正しく機能しないバグがある場合は、BORを無効にすることを選択できます。
モジュール:電圧調整器
BORイベントが発生した場合、デバイスはBOR状態を終了しない場合があります。
PIC32MX534 / 564/664/764ファミリシリコンエラッタおよびデータシートの説明の問題15を参照してください。
スリープモードでの消費電流を減らしたい場合。たとえば、ATmega328Pの場合、BODをオフにすることで17uA削減できます。スリープ中に他のすべてをオフにすると、チップはわずか1.8uAを消費します!
(出典:http : //www.rocketscream.com/blog/2011/07/04/lightweight-low-power-arduino-library/)
代わりに、外部のカスタムビルドのブラウンアウト回路を使用したい場合があります。
brown-otレベルの分解能が非常に小さいマイクロコントローラーがあります。
2つの最高電圧低下レベルが4.3 Vと2.7 V(AVRの場合に一般的)であるµcを使用すると仮定します。使用する周波数では、2.7 Vは安全ではないと判断しました。ただし、停電後の実行時間の長さが制限されるため、4.3 Vは高すぎます。
外部電源への接続が頻繁に失われる可能性のあるデバイスを使用しなければならず、その後コンデンサーまたはバッテリーで生き残る必要があります。4.3 Vのブラウンアウトレベルがあると、デバイスのスイッチがすぐにオフになります。2.7はデータ破損につながります。ただし、たとえば、3.5 Vが安全な電圧低下レベルである場合、マイクロコントローラのリセットラインを引くことで機能する外部電圧低下回路を作成することができます。この場合、内部のブラウンアウト回路は役に立たず、無効にできます。
同じシステムに複数のプロセッサがある場合は、すべてのプロセッサに単一の外部リセットコントローラを使用するのが理にかなっています。この場合、プロセッサの個々の電圧低下検出器を無効にすることは、電力を節約するというわずかな利点に役立つだけでなく、一部のプロセッサがリセットされ、他のプロセッサがまだ実行されている状況を回避するために必要です。