11? 2012? cv_54024-1.2 cv_54024-1.2 ウォッチドッグ タイマの主な機能は 無応答ステートから回復するシステムの方法を提供することです ハード プロセッサ システム (HPS) は レベル 4(L4) のペリフェラル バスに接続された 2 つのプログラム可能なウォッチドッグ タイマを提供しています ウォッチドッグ タイマは Synopsys DesignWare APB Watchdog Timer (DW_apb_wdt) ペリフェラルのインスタンスです 1 マイクロプロセッサ ユニット (MPU) サブシステムには 2 つの追加のウォッチドッグ タイマを提供しています MPU のウォッチドッグ タイマに関する情報について詳しくは Cyclone V デバイス ハンドブック Volume 3 の Cortex-A9 MPU System の章を参照してください 次のリストでは ウォッチドッグ タイマの機能を説明します プログラム可能な 32 ビットのタイムアウトの範囲があります タイマはゼロのプリセット値からカウントダウンを行い ユーザー コンフィギュレーション可能な次の動作のいずれかを実行します システム リセットを生成します 割り込みを生成してタイマを再起動し 第 2 のタイムアウトが発生する前にタイマがクリアされない場合はシステム リセットを生成します 2012? Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos are trademarks o Altera Corporation and registered in the U.S. Patent and Trademark Oice and in other countries. All other words and logos identiied as trademarks or service marks are the property o their respective holders as described at www.altera.com/common/legal.html. Altera warrants perormance o its semiconductor products to current speciications in accordance with Altera's standard warranty, but reserves the right to make changes to any products and services at any time without notice. Altera assumes no responsibility or liability arising out o the application or use o any inormation, product, or service described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version o device speciications beore relying on any published inormation and beore placing orders or products or services. Portions 2011 Synopsys, Inc. Used with permission. All rights reserved. Synopsys & DesignWare are registered trademarks o Synopsys, Inc. All documentation is provided "as is" and without any warranty. Synopsys expressly disclaims any and all warranties, express, implied, or otherwise, including the implied warranties o merchantability, itness or a particular purpose, and non-inringement, and any warranties arising out o a course o dealing or usage o trade. Paragraphs marked with the dagger ( ) symbol are Synopsys Proprietary. Used with permission. ISO 9001:2008 Registered Subscribe
24 2 初期の起動を待機する時間が再起動に必要とされる時間と異なっているときに使用されるデュアル プログラム可能なタイムアウト期間が提供されます ウォッチドッグ カウンタが誤って再起動されるのを防止します ウォッチドッグ カウンタが誤ってディセーブルされるのを防止します デバッグ用の一時停止モードを提供します 図 24 1 に ウォッチドッグ タイマのブロック図を示します System Manager Pause Watchdog Timer Interrupt & System Reset Control Reset Request Interrupt Reset Manager MPU Register Block Slave Interace L4 Peripheral Bus (osc1_clk) 各ウォッチドッグ タイマには コントロールおよびステータス レジスタ (CSR) アクセス用のスレーブ インタフェース レジスタ ブロック およびスレーブ インタフェース クロック (osc1_clk) 上で動作する 32 ビットのダウン カウンタから構成されています システム マネージャによって駆動される一時停止入力は 必要に応じて CPU がデバッグされているときにカウンタを一時停止します ウォッチドッグ タイマは MPU への割り込みリクエストとリセット マネージャへのリセット リクエストを駆動します 詳細は Cyclone V デバイス ハンドブック Volume 3 の Cortex-A9 MPU System および Reset Manager の章を参照してください ウォッチドッグ タイマは 通常ソフトウェアやシステム関連の問題によって引き起こされるシステム ロックアップから回復するためのペリフェラルです Cyclone V
24 3 各ウォッチドッグ タイマは 各クロック サイクルで 1 でデクリメントするプログラム可能なダウン カウンタです ウォッチドッグ タイマは 16 個の固定タイムアウト期間の値をサポートして ソフトウェアには目的のタイムアウト期間を選択します タイムアウト期間は 2 n osc1_clk のクロック周期です ここで n は 16 から 31 までの整数です タイムアウト期間の値のプログラミングについて詳しくは 24 4 ページの タイムアウト期間の値の設定 を参照してください osc1_clk クロックについて詳しくは 24 4 ページの クロック を参照してください カウンタがゼロに達すると ウォッチドッグ タイマはタイム アウトになります これは 回復不能なエラーが発生してシステム リセットが必要だということです ソフトウェアは システムが継続的に正常に機能していることを示すためにタイマを再起動する必要があります ( 再起動のタイムアウト期間の値を使用してカウンタをリロードします ) 再起動レジスタに書き込むことによって ソフトウェアはいつでもカウンタをリロードすることができます 詳細は 24 5 ページの ウォッチドッグ カウンタのリロード を参照してください ソフトウェアは タイムアウトでリセット リクエストを生成するか 割り込みリクエストをアサートして 2 回目にダウン カウントを開始するか ウォッチドッグ タイマの出力応答モードを設定します 前者の場合には リセット リクエストがアサートされていても ウォッチドッグ タイマがリセット マネージャによってリセットされるまで カウンタはラップしてデクリメントし続けます 後者の場合では 生成された割り込みは MPU のサブシステム内の汎用割り込みコントローラ (GIC) に渡されます 2 回目のタイムアウトが発生する前に割り込みがソフトウェアによって処理されていない場合は タイマはリセット リクエストを生成します 出力応答モードのプログラミングについて詳しくは 24 4 ページの 出力応答モードの選択 を参照してください 1 ウォッチドッグ カウンタがゼロに達すると同時に再起動される場合 割り込みは発生しません ウォッチドッグ タイマはデバッグ時に一時停止することができます ウォッチドッグ タイマの一時停止はシステム マネージャによって制御されます 次のオプションが使用可能です CPU0 または CPU1 のどちらかがデバッグ モードになっているときにタイマを一時停止する CPU1 のみがデバッグ モードになっているとき タイマを一時停止する CPU0 のみがデバッグ モードになっているとき タイマを一時停止する タイマを一時停止しない 一時停止モードがイネーブルされている場合 デバッグ中にシステム マネージャはウォッチドッグ タイマを一時停止します 一時停止モードがディセーブルされている場合 デバッグ中でもウォッチドッグ タイマが実行されます システム マネージャがリセットを終了すると ウォッチドッグの一時停止機能は 両方の CPU にデフォルトでイネーブルします 一時停止モードのプログラミングについて詳しくは 24 5 ページの ウォッチドッグ タイマの一時停止 を参照してください Cyclone V
24 4 タイマ動作がクロック マネージャでフェーズ ロック ループ (PLL) に依存していないので それぞれのウォッチドッグ タイマは osc1_clk クロックに接続されています この独立性によって クロック マネージャで PLL を誤ってプログラムしてしまった場合にソフトウェアを回復させることができるようになります 詳細は Cyclone V デバイス ハンドブック Volume 3 の Clock Manager の章を参照してください ウォッチドッグ タイマはリセット マネージャからコールド リセットまたはウォーム リセットでリセットされ リセットを終了するときにはディセーブルになります 詳細は Cyclone V デバイス ハンドブック Volume 3 の Reset Manager の章を参照してください ウォッチドッグ タイマは リトル エンディアン モジュールです この項では タイマ用のプログラミング オプションについて説明します ウォッチドッグ タイマには デュアル タイムアウト期間があります カウンタは最初のタイマが開始された最初の起動タイムアウト期間の値を使用します それ以降の再起動はすべて 再起動タイムアウト期間を使用します バリッド値は 2 (16+i) 1 のクロック サイクルです ( ここで i は 0 から 15 までの整数 ) プログラム可能なタイムアウト期間を設定するには 次の手順を実行します 初期起動のタイムアウト期間を設定するには ウォッチドッグ タイムアウト範囲レジスタ (wdt_torr) の初期化フィールド (top_init) 用のタイムアウト時間に i を書き込みます 再起動タイムアウト期間を設定するには wdt_torr レジスタのタイムアウト期間フィールド (top) に i を書き込みます 1 タイマをイネーブルする前にタイムアウト値を設定します ウォッチドッグ タイマには 2 つの出力応答モード ( 24 3 ページの カウンタ で説明されたように ) があります 目的のモードを選択するには 次の手順のいずれかを実行します Cyclone V
24 5 タイムアウトが発生したときにシステム リセット リクエストを生成するために ウォッチドッグ タイマのコントロール レジスタ (wdt_cr) の出力応答モード ビット (rmod) に 0 を書き込みます タイムアウトが発生したときに割り込みを生成しタイマを再起動するために wdt_cr レジスタの rmod フィールドに 1 を書き込みます ウォッチドッグ カウンタがゼロに達すると同時に再起動が発生する場合は システム リセットは生成されません ウォッチドッグ タイマをイネーブルして開始するには wdt_cr レジスタのウォッチドッグ タイマのイネーブル ビット (wdt_en) に 1 の値を書き込みます ウォッチドッグ カウンタをリロードするには カウンタ再起動レジスタ (wdt_crr) に 0x76 の値を書き込みます このユニークな 8 ビット値は 偶発的な再起動を防止するために安全機能として使用されています ウォッチドッグ タイマの一時停止は システム マネージャの L4 ウォッチドッグ デバッグ レジスタ (wddbg) によって制御されます 詳細は Cyclone V デバイス ハンドブック Volume 3 の System Manager の章のレジスタ定義の項を参照してください リセット マネージャからウォッチドッグ タイマをリセットすることでのみ それらがディセーブルされ 停止されます 詳細は Cyclone V デバイス ハンドブック Volume 3 の Reset Manager の章を参照してください Cyclone V
24 6 図 24 2 に ウォッチドッグ タイマ用のステート マシンを示します System Reset (Timer Disabled) Sotware Sets Initial and Restart Timeout Periods (WDT_TORR), Sets Output Response Mode (WDT_CR.RMOD), and Enables the Timer (WDT_CR.WDT_EN) Load Counter with Initial Timeout Value & Start Timer Load Counter with Restart Timeout Value Sotware Reads WDT_EOI or Writes 0x76 to WDT_CRR Decrement Counter Counter > 0 Counter == 0 and WDT_CR.RMOD == 1 Counter == 0 and WDT_CR.RMOD == 0 Assert Interrupt & Load Counter with Restart Timeout Value Assert System Reset Request Sotware Reads WDT_EOI or Writes 0x76 to WDT_CRR Counter > 0 Decrement Counter Counter == 0 ステート マシンは出力応答モードの両方の動作を含めて ウォッチドッグ タイマの動作を示しています 一度初期化されると クロック サイクル毎にカウンタが減少します カウンタがゼロに達するか またはウォッチドッグ タイマが再起動されるまで ステート マシンはカウンタを Decrement Counter 状態のままにします ソフトウェアが割り込みクリア レジスタ (wdt_eoi) を読み出す場合 または wdt_crr レジスタに 0x76 を書き込む場合 Decrement Counter の状態から Load Counter with Restart Timeout Value の状態に変化します この状態では ウォッチドッグ カウンタは Restart Timeout Value でリロードされ Decrement Counter の状態に戻します カウンタがゼロに達すると wdt_cr レジスタの rmod ビットで定義された出力応答モードの設定値に基づいて 状態が変化します wdt_cr レジスタの rmod ビットが 0 の場合 出力応答モードはシステム リセット リクエストを生成します この場合 状態は Assert System Reset Request に変更されます 応答では リセット マネージャはウォッチドッグ タイマをリセットしディセーブルして ソフトウェアにタイマを再初期化する機能を与えます Cyclone V
24 7 wdt_cr レジスタの rmod ビットが 1 の場合 出力応答モードは割り込みを発生することになります この場合 Assert Interrupt の状態と Load Counter with Restart Timeout Value の状態に変化します プロセッサへの割り込みが生成され ウォッチドッグ カウンタは 再起動のタイムアウト値でリロードされます 状態は 2 番目の Decrement Counter 状態に変更され カウンタはデクリメントを再開します ソフトウェアが wdt_eoi レジスタを読み出す場合 または wdt_crr レジスタに 0x76 を書き込む場合は Decrement Counter の状態から Load Counter with Restart Timeout Value の状態に変化します この状態では ウォッチドッグ カウンタは Restart Timeout Value でリロードされ 1 番目の Decrement Counter の状態に戻します カウンタが再びゼロに達すると 状態は Assert System Reset Request の状態に変化します 応答では リセット マネージャはウォッチドッグ タイマをリセットし ソフトウェアにタイマを再初期化する機能を与えます アドレス マップとレジスタ定義は このハンドブックのボリュームに付属の hps.html ファイルにあります ファイルを開くには リンクをクリックします モジュールの説明とベース アドレスを表示するには 以下のモジュールのインスタンスのいずれかをスクロールして リンクをクリックします l4wd0 l4wd1 次に レジスタとフィールドの説明を表示するには レジスタ名をスクロールして クリックします レジスタのアドレスは 各モジュール インスタンスのベース アドレスからの相対的なオフセットです すべてのモジュールのベース アドレスは Cyclone V デバイス ハンドブック Volume 3 の Introduction to the Hard Processor System の章に記載されています 表 24 1 に このドキュメントの改訂履歴を示します 2012 年 11 月 1.2 マイナーな更新 2012 年 5 月 1.1 プログラミング モデルとアドレス マップおよびレジスタの定義の項を追加 2012 年 1 月 1.0 初版 Cyclone V
24 8 Cyclone V