こんにちは、
私はS9KEAZN16AMを扱っており、WDOGの初期化タイミングについていくつか確認したい点があります。
KEA64リファレンスマニュアルによると、ウォッチドッグの解除シーケンスの後:
「アンロックシーケンスを完了した後、ユーザーは128のバスクロック内でウォッチドッグを再構成しなければなりません;そうでなければ、監視役はMCUのリセットを強制します。」
バスクロック周波数は16.777216MHzです。
現在の実装では、安定した動作のために以下の遅延が必要となります。
我々は2つの問題点を指摘する。
Software_Reset() の後の 2.5 ms の遅延を削除または短縮すると、ウォッチドッグ カウンタが正しく起動/実行されない場合があります。
WDOG_Init() の後の 80 µs の遅延を削除すると、ウォッチドッグの設定が常に正しく適用されるとは限りません。
混乱の主な原因は、観測された遅延( 80 µs と 2.5 ms )が、文書化された128 バス クロックの要件(約 7.6 µs)から示唆されるタイミングよりもかなり大きいことである。
何かご助言いただければ大変ありがたいです。
よろしくお願いします。
ICSが完全にロックする前にウォッチドッグを初期化したり、タイトなタイミングループを実行しようとすると、その期間中は実際のバスクロック周波数が低くなったり、不安定になったりします。実際のバスクロックが低いと、128回のバスサイクルが7.6μsよりかなり長くかかるか、ハードウェアペリフェラルが完全にリセット状態を解除する前に初期化シーケンスが実行されることを意味します。約2.5ミリ秒の遅延により、ICSは完全なロックを達成し、16.777216MHzのバス周波数を安定させるのに十分な時間を確保できる。
こんにちは、
内部クロックソース(ICS)が完全にロックしてバスクロック(16.777216 MHz)が安定するまで、約2.5ミリ秒待ちます。ウォッチドッグを初期化したり、タイトループをあまりに早く実行すると、不安定またはクロックが低くなり、タイミングのずれやペリフェラルのリセット前に実行されることがあります。