タグ付けされた質問 「watchdog」

1
wdt_disable()を呼び出してウォッチドッグタイマーをオフにしようとすると、AVRがリセットされるのはなぜですか?
AVR ATtiny84Aでウォッチドッグシーケンスを無効にすると、タイマーには十分な時間が残っているはずですが、実際にチップがリセットされるという問題があります。これは一貫性がなく、多くの物理パーツで同じコードを実行しているときに発生します。毎回リセットされるものもあれば、時々リセットされるものと、決してリセットされないものもあります。 問題を実証するために、私は簡単なプログラムを書きました... 1秒のタイムアウトでウォッチドッグを有効にします ウォッチドッグをリセットします 白色LEDを0.1秒間点滅させます 白色LEDを0.1秒間点滅させた ウォッチドッグを無効にします ウォッチドッグの有効化と無効化の間の合計時間は0.3秒未満ですが、無効化シーケンスの実行時にウォッチドッグリセットが発生する場合があります。 コードは次のとおりです。 #define F_CPU 1000000 // Name used by delay.h. We are running 1Mhz (default fuses) #include <avr/io.h> #include <util/delay.h> #include <avr/wdt.h> // White LED connected to pin 8 - PA5 #define WHITE_LED_PORT PORTA #define WHITE_LED_DDR DDRA #define WHITE_LED_BIT 5 // Red …
34 arduino  avr  attiny  watchdog 

7
外部ウォッチドッグタイマーの必要性
マイクロコントローラー用の外部ウォッチドッグタイマーの必要性は何ですか? ほとんどのマイクロコントローラは、内部ウォッチドッグタイマーを使用して設計されています。ただし、一部の回路では、外部ウォッチドッグタイマー(PIC16F1824など)を使用しています。

3
通常のISRのようにAVRウォッチドッグを使用する
私はATTinyX5シリーズのウォッチドッグタイマーに頭を包み込もうとしています。だから私が読んだことは、プログラムをN秒まで特定の何かをさせるためにそれを使用できるように見えましたが、実際にはどのように見せたのではありません。他の人は、コード内の何かがその間にカウントをリセットしない限り、チップをリセットするだけのように見せました(これは「通常の」使用法のようです)。 TIMER1_COMPA_vectまたは同様のWDTを使用する方法はありますか。私はそれが1秒のタイムアウトモードを持っていることに気付きました、そして私は本当に私のコードで1秒ごとに何かを起こさせるためにそれを使用することができるのが大好きです(そして好ましくはその間スリープします)。 考え? * アップデート:*質問されたので、私が言及しているのはATTinyX5データシートのセクション8.4です。私がそれを完全に理解しているわけではなく、それが私の問題です...
17 avr  attiny  watchdog 

5
独立したウォッチドッグ(IWDG)またはウィンドウウォッチドッグ(WWDG)
私はまだこの質問の答えを探しています: stm32 MCUには完全なウォッチドッグ(つまり、ウィンドウウォッチドッグ(WWDG))があるのに、単純なウォッチドッグ(独立したウォッチドッグ(IWDG))があるのはなぜですか? 私が言ったこのページを見つけました: ST Microelectronicsには、Cortex-M3デバイスのラインがあります。M3はローエンドの組み込みデバイスで非常に人気があり、STのSTM32Fはこれらの部品の代表です(ただし、WDTはSTアドオンであり、他のベンダーの実装を必ずしも反映していません)。STM32Fには2つの異なる保護メカニズムがあります。「独立したウォッチドッグ」は、使いやすさ以外の目的はほとんどない、かなりバニラなデザインです。しかし、彼らのWindow Watchdogはより強力な保護を提供します。カウントダウンタイマーの期限が切れると、リセットが生成されます。これは、タイマーをリロードすることによって妨げられる可能性があります。特別なものはありません。ただし、リロードが速すぎると、システムもリセットされます。この場合、「速すぎる」は、制御レジスタにプログラムする値によって決定されます。 別のクールな機能:リセットの直前に割り込みを生成できます。割り込みを捕捉するためのコードを少し書くと、たとえば、システムを安全な状態にしたり、デバッグ目的でデータのスナップショットを作成したりするためのアクションを実行できます。STは、ISRを使用してウォッチドッグをリロードすることを推奨しています。つまり、リセットが発生しないようにドッグをキックします。彼らのアドバイスを受け入れないでください。プログラムがクラッシュした場合、割り込みハンドラは正常に機能し続ける可能性があります。また、ISRを使用してWDTをリロードすると、ウィンドウウォッチドッグの理由全体が無効になります。 そしてこれ: STMicroelectronicsのSTM32F4 Cortex™-M4 CPUの新しいシリーズには、2つの独立したウォッチドッグがあります。独自の内部RCオシレーターから実行します。つまり、すべての種類のものがCPU内で崩壊する可能性があり、WDTは引き続き起動します。また、「ウィンドウウォッチドッグ」(WWDT)もあります。これは、コードを頻繁にくすぐる必要がありますが、あまり頻繁ではありません。これは、保護メカニズムにランダムに書き込むクラッシュコードを保証する非常に効果的な方法で、リセットがアサートされる少し前にWWDTが割り込みを生成できます。 さて、リファレンスマニュアルを見てみましょう: STM32F10xxxには、高度な安全レベル、タイミング精度、および使用の柔軟性の組み合わせを提供する2つのウォッチドッグ周辺機器が組み込まれています。両方のウォッチドッグ周辺機器(独立およびウィンドウ)は、ソフトウェア障害による誤動作を検出および解決し、カウンターが指定されたタイムアウト値に達したときにシステムリセットまたは割り込み(ウィンドウウォッチドッグのみ)をトリガーします。独立したウォッチドッグ(IWDG)は、専用の低速クロック(LSI)によってクロックが供給されるため、メインクロックに障害が発生してもアクティブのままになります。ウィンドウウォッチドッグ(WWDG)クロックは、APB1クロックから事前にスケーリングされており、異常に遅いまたは早いアプリケーション動作を検出するようにプログラムできる構成可能なタイムウィンドウを備えています。IWDGは、ウォッチドッグをメインアプリケーションの外部で完全に独立したプロセスとして実行する必要があるアプリケーションに最適です。ただし、タイミング精度の制約は低くなります。WWDGは、ウォッチドッグが正確なタイミングウィンドウ内で反応する必要があるアプリケーションに最適です。 ウィンドウウォッチドッグは、通常外部干渉または予期しない論理条件によって生成されるソフトウェア障害の発生を検出するために使用され、アプリケーションプログラムが通常のシーケンスを放棄する原因となります。ウォッチドッグ回路は、プログラムがT6ビットがクリアされる前にダウンカウンタの内容を更新しない限り、プログラムされた期間の終了時にMCUリセットを生成します。MCUリセットは、ダウンカウンタがウィンドウレジスタ値に達する前に(制御レジスタ内の)7ビットダウンカウンタ値がリフレッシュされた場合にも生成されます。これは、限られたウィンドウでカウンターを更新する必要があることを意味します。 あなたが見ることができるように、それらのいずれも、なぜ 2つの番犬がいると言っていません。両方のウォッチドッグの違いを尋ねると、上記で見ることができるすべての機能をカウントし、両方を比較したい場合は、明らかにウィンドウウォッチドッグ(WWDG)が勝者になります!次に、なぜ2つのウォッチドッグがありますか? IWDGをいつ使用し、いつWWDGを使用する必要があるかを知りたいですか? そして、なぜ彼らはこの名前で2番目の時計を呼び出すのですか?> "ウィンドウウォッチドッグ"と言う理由はありますか?

3
ウォッチドッグタイマーに対するこれらのアプローチのどれですか?
私は最近ウォッチドッグタイマーについて学び、ハングした(つまり、ウォッチドッグに応答しない)場合に(AVR)マイクロコントローラーをリセットする目的で回路にタイマーを実装しようとしています。 いくつかの調査に基づいて、約4つのオプションがあるように私には思われます。 マイクロコントローラーを外部のウォッチドッグタイマー専用の専用ICに接続します。 マイクロコントローラーを追加のマイクロコントローラー(いくつかの非常に基本的で安価なもの)に接続します。後者は、ウォッチドッグタイミング専用の目的のためにコード化されています。 独自の555タイマーベースのウォッチドッグ回路をレイアウトし、それをマイクロコントローラーに接続します。 マイクロコントローラーの内部ウォッチドッグタイマー機能を使用します。 。 上記のアプローチのどれを上位にランク付けしますか、そしてその理由は? 残りのデザインとコードの作成方法に関する特定の基準に基づいて、ウォッチドッグ時間を約6秒に設定したいと思います(デバイスは、バッテリー駆動の定期的な温度ロガーになります)。 少し注意:私の好みはオプション1ですが、簡単にするために、私が見つけたカップルに基づいて、これらの部品は高価に見えるか(せいぜい1.25 USD未満のソリューションが欲しい)、またはそれ以下しか許可しないウォッチドッグのタイミング期間は2秒より長くなります。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.