マイクロコントローラーでブラウンアウト検出機能をオフにしたままにする必要があるのはどのような状況ですか?


33

マイクロコントローラの電源が特定のしきい値を下回ると、電圧低下状態が発生し、RAMメモリが破損する可能性があります。回路のすべてのパワーダウンシーケンスが潜在的な電圧低下状態を意味する場合、マイクロコントローラーを使用する場合は常に電圧低下検出リセットメカニズムを有効にします。

ブラウンアウトリセット機能を有効にすることが推奨されない状況があるかどうか疑問に思っていましたか?


4
電圧低下検出器は電流を消費する可能性があるため、マイクロパワーアプリケーションで考慮する必要があります。
HL-SDK 14

回答に記載されているBO検出のさまざまな欠点を考えると、これも考慮してください。特定のケースでカスタムの確実性を証明できますか?場合によっては、十分な供給または完全な停電を保証することができます=> BODのリソースを保存する
マーク14

回答:


11

前述のように、ブラウンアウト回路を有効にすると、多くの場合、消費電流が増加します。メーカーは一般的にブラウンアウト回路は、任意の電圧にトリップするようにしたいので、さらに、かもしれない関数にチップの他の部分を引き起こすのに十分に低いことが、多くの部分がブラウンアウトを無効にして低電圧で動作することができるようになります。たとえば、コントローラーはほとんどの場合室温で1.5ボルトまで動作しますが、特定のストレスの多い状況(高温など)では1.99ボルトで誤動作する可能性があります。誤動作が発生する可能性のある状況でデバイスが確実にリセットされるように、ブラウンアウト回路は2.1ボルト+/- 100mVでトリップするように設計されている場合があります。

このようなコントローラを備えたデバイスに2つのアルカリ単3電池から電力が供給されている場合、電圧低下回路を有効にすると、セルあたり1.1ボルトのバッテリー電圧でデバイスが使用できなくなり、電圧に達するまでに動作を停止する可能性がありますセルあたり1.05ボルト。電圧低下回路を無効にすると、セルあたり少なくとも0.9ボルト、場合によってはセルあたり0.75ボルトまで動作が拡張される可能性があります。低電圧で発生する可能性のある誤動作がジャンクバッテリーのドレインの増加を超えて害を及ぼす可能性がない場合、使用可能なバッテリーからの消費電流を減らさなくても、ブラウンアウト回路を無効にすることは、バッテリー寿命を改善する簡単な方法です。


22

すべてに公差があるため、ブラウンアウトリセットレベルは、チップが適切に機能することが保証される最小レベルよりもややに設定する必要があります。

そのため、チップが誤動作する前にブラウンアウトが発生する可能性があります。したがって、この地域では、チップ正常に機能する可能性がありますが、確信が持てない場合、自分で選択する必要があります

  • チップを動作させ、最良の結果を期待する(動作するかもしれません!)、または
  • ブラウンアウト回路によってチップをリセット(およびリセット状態に維持)するため。

誤動作のコストが機能しないコストよりはるかに高くない場合、最初のオプションが優先されます。飛行機の「ブラックボックス」のping機能を考えてください。pingを送信する可能性がわずかでもある場合は、ぜひそれを続けてください!

反対側では、爆弾や車のエアバッグのトリガーを検討してください。低い電源電圧のために偶然に電源が切れる可能性がわずかでもある場合は、電源を遮断する必要があります。それはもちろん、シャットダウンは点火しないことを意味します!

適切な選択ができない状況があります。悪名高い最初のアリアンVロケットの打ち上げを考えてみましょう。方向制御コンピューターが誤動作しました(この場合、低電力のためではありません)。それは何をすべきですか?ほとんどの場合、間違った方向にステアリングすることを意味しますが、終了することはまったくステアリングしないことを意味し、同じ結果になります。どちらも、ロケットが迷い込むかもしれないコントロールバンカーの人々にとって良い見通しではありません:(


ロスがコメントしているように、バックアップはミッションクリティカルなシステムにとってはもちろん良い考えです。しかし、それは設計問題をそのバックアップに移します。それが失敗した場合はどうなりますか?(実際には、多数が投票して、常に3がアクティブになります。)Ariane 5の場合、プライマリコンピューターとバックアップコンピューターの両方が失敗しました(ただし、独自の障害ではありませんが、それは別の話です)。他のシステム(おそらく制御室の人間でさえ)がすべてが制御不能であると検出し、自己破壊を引き起こしたということでした。ロケットを空中で爆発させて、海で小さな破片に落下させて、ランダムな方向に1つの破片で飛行させ続ける方がよいでしょう。


ロケットの状況では、最初の障害が発生した場合に引き継ぐバックアップコンピューターを用意し、最初のコンピューターをシャットダウンするのが最善の解決策でしょうか?
ロスエイケン14

いくつかのテキストを追加
Wouter van Ooijen 14

実際、Ariane 5の話ははるかに複雑であり、エラー処理が失敗の原因の一部でした。esamultimedia.esa.int/docs/esa-x-1819eng.pdf
starblue 14

1
いいえ、エラー処理は原因ではありませんでした。これは、新しいデータでテストせずに、元の仕様外のデータで実績のあるシステム(Ariane 4で飛行していた)の使用でした。(このようなテストは当初計画されていましたが、後にコスト削減プログラムで廃棄されました。)
Wouter van Ooijen 14

10

リセットを気にしない場合(たとえば、ユーザーが完全に機能しない場合や損傷が発生しない場合は、ユーザーがオフにしたりオンにしたりすることを信頼できる)、電力消費が重要な場合、オフにすると、マイクロアンペア。(または、気にする場合は、組み込みのまあまあのものよりも優れた外部回路を使用できます)。

内部BORがタスクに不十分な場合(たとえば、公差が適切でない場合があります)、それをオフにして外部の何かを使用することもできます。

いくつかの目的のための興味深い要件は、それ以下ではEEPROMのようなものが動作しないことを保証される最大電圧を知る必要があることです。一部の組み込みBOR回路では、これは少し微妙な場合があります。


10

BORが正しく機能しないバグがある場合は、BORを無効にすることを選択できます。

モジュール:電圧調整器

BORイベントが発生した場合、デバイスはBOR状態を終了しない場合があります。

PIC32MX534 / 564/664/764ファミリシリコンエラッタおよびデータシートの説明の問題15を参照してください。


8
痛い。この素敵な正誤表はどの部分に属しますか?
スペロペファニー14

1
そのようなものはどのように生産になりますか?
マットヤング14

1
それは陽気です。陽気なことで私はほとんど犯罪者を意味します。
イグナシオバスケス-エイブラムス14

1
特定のデバイスはPIC32MX664Fであり、一部のシリコンリビジョンのみでした。ほとんどの場合、通常20回ごとに1回しかBORを終了しません。
mjcopple 14

@Matt Young:これらのPICマイクロコントローラーのほとんどの用途は、プラグを抜くときにシリコンがランダムな命令の実行を開始する前にシャットダウンするためにのみ存在します。ROMに再フラッシュルーチンがある場合、BORが存在しない場合、ガベージを使用して自身をフラッシュしようとする可能性があります。
ジョシュア


2

代わりに、外部のカスタムビルドのブラウンアウト回路を使用したい場合があります。

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が安全な電圧低下レベルである場合、マイクロコントローラのリセットラインを引くことで機能する外部電圧低下回路を作成することができます。この場合、内部のブラウンアウト回路は役に立たず、無効にできます。

同じシステムに複数のプロセッサがある場合は、すべてのプロセッサに単一の外部リセットコントローラを使用するのが理にかなっています。この場合、プロセッサの個々の電圧低下検出器を無効にすることは、電力を節約するというわずかな利点に役立つだけでなく、一部のプロセッサがリセットされ、他のプロセッサがまだ実行されている状況を回避するために必要です


1
あなたがAVRを選んでいないことは知っていますが、1)異なるAVRラインには異なるBORしきい値があり、2)AVRはnRESETでリセット信号を外部から見えるようにするので、あなたが非常に注意して使用することができますリセットコントローラーとして。
イグナシオバスケス-エイブラムス14

1

使用していたマイクロコントローラーのシリコンのバグのため、起動の一部でVBORのオンとオフを切り替える必要がありました。電圧ポンプのキャップを充電すると、デバイスが瞬間的に最小値をわずかに上回り、VBORが作動し続けます。そのため、電源投入時にVBORをオフにし、約10ミリ秒後にオンにしました。

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