24. ウォッチドッグ・タイマ

24. ウォッチドッグ・タイマ
11? 2012?
av_54024-1.2
av_54024-1.2
ウォッチドッグ・タイマの主な機能は、無応答ステートから回復するシステムの方
法を提供することです。ハード・プロセッサ・システム(HPS)は、レベル 4(L4)
のペリフェラル・バスに接続された 2 つのプログラム可能なウォッチドッグ・タイ
マを提供しています。ウォッチドッグ・タイマは、Synopsys® DesignWare® APB
Watchdog Timer (DW_apb_wdt)ペリフェラルのインスタンスです。
1
マイクロプロセッサ・ユニット(MPU)サブシステムには、2 つの追加のウォッチ
ドッグ・タイマを提供しています。MPU のウォッチドッグ・タイマに関する情報に
ついて詳しくは、Arria V デバイス・ハンドブック Volume 3 の Cortex-A9 MPU
Subsystem の章を参照してください。
ウォッチドッグ・タイマの特長
次のリストでは、ウォッチドッグ・タイマの機能を説明します。
■
プログラム可能な 32 ビットのタイムアウトの範囲があります。
■
タイマはゼロのプリセット値からカウントダウンを行い、ユーザー・コンフィ
ギュレーション可能な次の動作のいずれかを実行します。
■
システム・リセットを生成します。†
■
割り込みを生成してタイマを再起動し、第 2 のタイムアウトが発生する前にタ
イマがクリアされない場合はシステム・リセットを生成します。
© 2012? Altera Corporation. All rights reserved. ALTERA, ARRIA, CYCLONE, HARDCOPY, MAX, MEGACORE, NIOS, QUARTUS and STRATIX words and logos
are trademarks of Altera Corporation and registered in the U.S. Patent and Trademark Office and in other countries. All other words and logos identified as
trademarks or service marks are the property of their respective holders as described at www.altera.com/common/legal.html. Altera warrants performance of its
semiconductor products to current specifications 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 of the application or use of any information, product, or service
described herein except as expressly agreed to in writing by Altera. Altera customers are advised to obtain the latest version of device specifications before relying
on any published information and before placing orders for products or services.
Portions © 2011 Synopsys, Inc. Used with permission. All rights reserved. Synopsys & DesignWare are registered trademarks of 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
of merchantability, fitness for a particular purpose, and non-infringement, and any warranties arising out of a course of dealing or usage of trade.
ISO
9001:2008
Registered
†Paragraphs marked with the dagger (†) symbol are Synopsys Proprietary. Used with permission.
Arria V デバイス・ハンドブック
Volume 3: ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル
2012 年 11 月
Subscribe
第 24 章 : ウォッチドッグ・タイマ
ウォッチドッグ・タイマのブロック図およびシステム統合
24–2
■
初期の起動を待機する時間が再起動に必要とされる時間と異なっているときに使
用されるデュアル・プログラム可能なタイムアウト期間が提供されます。†
■
ウォッチドッグ・カウンタが誤って再起動されるのを防止します。†
■
ウォッチドッグ・カウンタが誤ってディセーブルされるのを防止します。†
■
デバッグ用の一時停止モードを提供します。
ウォッチドッグ・タイマのブロック図およびシステム統合
図 24–1 に、ウォッチドッグ・タイマのブロック図を示します。
図 24‒1. ウォッチドッグ・タイマのブロック図
Watchdog Timer
System
Manager
Pause
Interrupt &
System Reset
Control
Reset
Request
Interrupt
Reset
Manager
MPU
Register Block
Slave Interface
L4 Peripheral Bus (osc1_clk)
各ウォッチドッグ・タイマには、コントロールおよびステータス・レジスタ(CSR)
アクセス用のスレーブ・インタフェース、レジスタ・ブロック、およびスレーブ・
インタフェース・クロック(osc1_clk)上で動作する 32 ビットのダウン・カウンタ
から構成されています。システム・マネージャによって駆動される一時停止入力は、
必要に応じて、CPU がデバッグされているときにカウンタを一時停止します。
ウォッチドッグ・タイマは、MPU への割り込みリクエストとリセット・マネージャ
へのリセット・リクエストを駆動します。
f 詳細は、Arria V デバイス・ハンドブック Volume 3 の Cortex-A9 MPU Subsystem および
Reset Manager の章を参照してください。
ウォッチドッグ・タイマの機能の説明
ウォッチドッグ・タイマは、通常ソフトウェアやシステム関連の問題によって引き
起こされるシステム・ロックアップから回復するためのペリフェラルです。
Arria V デバイス・ハンドブック
Volume 3: ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル
2012 年 11 月
Altera Corporation
第 24 章 : ウォッチドッグ・タイマ
ウォッチドッグ・タイマの機能の説明
24–3
カウンタ
各ウォッチドッグ・タイマは、各クロック・サイクルで 1 でデクリメントするプロ
グラム可能なダウン・カウンタです。ウォッチドッグ・タイマは 16 個の固定タイム
アウト期間の値をサポートして、ソフトウェアには目的のタイムアウト期間を選択
します。タイムアウト期間は、2n 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 ページの「ウォッチドッ
グ・タイマの一時停止」を参照してください。
2012 年 11 月
Altera Corporation
Arria V デバイス・ハンドブック
Volume 3: ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル
第 24 章 : ウォッチドッグ・タイマ
ウォッチドッグ・タイマのプログラミング・モデル
24–4
クロック
タイマ動作がクロック・マネージャでフェーズ・ロック・ループ(PLL)に依存して
いないので、それぞれのウォッチドッグ・タイマは osc1_clk クロックに接続されて
います。この独立性によって、クロック・マネージャで PLL を誤ってプログラムし
てしまった場合にソフトウェアを回復させることができるようになります。
f 詳細は、Arria V デバイス・ハンドブック Volume 3 の Clock Manager の章を参照してくだ
さい。
リセット
ウォッチドッグ・タイマはリセット・マネージャからコールド・リセットまたは
ウォーム・リセットでリセットされ、リセットを終了するときにはディセーブルに
なります。†
f 詳細は、Arria V デバイス・ハンドブック Volume 3 の Reset Manager の章を参照してく
ださい。
ウォッチドッグ・タイマのプログラミング・モデル
ウォッチドッグ・タイマは、リトル・エンディアン・モジュールです。この項では、
タイマ用のプログラミング・オプションについて説明します。
タイムアウト期間の値の設定
ウォッチドッグ・タイマには、デュアル・タイムアウト期間があります。カウンタ
は最初のタイマが開始された最初の起動タイムアウト期間の値を使用します。それ
以降の再起動はすべて、再起動タイムアウト期間を使用します。バリッド値は
2(16+i) – 1 のクロック・サイクルです(ここで、i は 0 から 15 までの整数)。プログラ
ム可能なタイムアウト期間を設定するには、次の手順を実行します。
1
■
初期起動のタイムアウト期間を設定するには、ウォッチドッグ・タイムアウト範
囲レジスタ(wdt_torr)の初期化フィールド(top_init)用のタイムアウト時間
に i を書き込みます。
■
再起動タイムアウト期間を設定するには、wdt_torr レジスタのタイムアウト期間
フィールド(top)に i を書き込みます。
タイマをイネーブルする前にタイムアウト値を設定します。
出力応答モードの選択
ウォッチドッグ・タイマには 2 つの出力応答モード( 24–3 ページの「カウンタ」で
説明されたように)があります。目的のモードを選択するには、次の手順のいずれ
かを実行します。
Arria V デバイス・ハンドブック
Volume 3: ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル
2012 年 11 月
Altera Corporation
第 24 章 : ウォッチドッグ・タイマ
ウォッチドッグ・タイマのプログラミング・モデル
24–5
■
タイムアウトが発生したときにシステム・リセット・リクエストを生成するため
に、ウォッチドッグ・タイマのコントロール・レジスタ(wdt_cr)の出力応答
モード・ビット(rmod)に 0 を書き込みます。
■
タイムアウトが発生したときに割り込みを生成しタイマを再起動するために、
wdt_cr レジスタの rmod フィールドに 1 を書き込みます。
ウォッチドッグ・カウンタがゼロに達すると同時に再起動が発生する場合は、シス
テム・リセットは生成されません。†
ウォッチドッグ・タイマのイネーブルおよび初期起動
ウォッチドッグ・タイマをイネーブルして開始するには、wdt_cr レジスタのウォッ
チドッグ・タイマのイネーブル・ビット(wdt_en)に 1 の値を書き込みます。
ウォッチドッグ・カウンタのリロード
ウォッチドッグ・カウンタをリロードするには、カウンタ再起動レジスタ
(wdt_crr)に 0x76 の値を書き込みます。このユニークな 8 ビット値は、偶発的な再
起動を防止するために安全機能として使用されています。
ウォッチドッグ・タイマの一時停止
ウォッチドッグ・タイマの一時停止は、システム・マネージャの L4 ウォッチドッ
グ・デバッグ・レジスタ(wddbg)によって制御されます。
f 詳細は、Arria V デバイス・ハンドブック Volume 3 の System Manager の章のレジスタ定
義の項を参照してください。
ウォッチドッグ・タイマのディセーブルおよび停止
リセット・マネージャからウォッチドッグ・タイマをリセットすることでのみ、そ
れらがディセーブルされ、停止されます。
f 詳細は、Arria V デバイス・ハンドブック Volume 3 の Reset Manager の章を参照してくだ
さい。
2012 年 11 月
Altera Corporation
Arria V デバイス・ハンドブック
Volume 3: ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル
第 24 章 : ウォッチドッグ・タイマ
ウォッチドッグ・タイマのプログラミング・モデル
24–6
ウォッチドッグ・タイマのステート・マシン
図 24–2 に、ウォッチドッグ・タイマ用のステート・マシンを示します。
図 24‒2. ウォッチドッグ・タイマのステート・マシン
System Reset
(Timer Disabled)
Software 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
Software Reads WDT_EOI
or Writes 0x76 to WDT_CRR
Decrement
Counter
Counter == 0 and
WDT_CR.RMOD == 1
Counter > 0
Counter == 0 and
WDT_CR.RMOD == 0
Assert Interrupt &
Load Counter with
Restart Timeout Value
Assert System
Reset Request
Software 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 に変更されます。応答では、リセット・マ
ネージャはウォッチドッグ・タイマをリセットしディセーブルして、ソフトウェア
にタイマを再初期化する機能を与えます。
Arria V デバイス・ハンドブック
Volume 3: ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル
2012 年 11 月
Altera Corporation
第 24 章 : ウォッチドッグ・タイマ
ウォッチドッグ・タイマのアドレス・マップおよびレジスタの定義
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 の状態に変化します。応答では、
リセット・マネージャはウォッチドッグ・タイマをリセットし、ソフトウェアにタ
イマを再初期化する機能を与えます。
ウォッチドッグ・タイマのアドレス・マップおよびレジスタの定義
f アドレス・マップとレジスタ定義は、このハンドブックのボリュームに付属の
hps.html ファイルにあります。ファイルを開くには、リンクをクリックします。
モジュールの説明とベース・アドレスを表示するには、以下のモジュールのインス
タンスのいずれかをスクロールして、リンクをクリックします。
■
l4wd0
■
l4wd1
次に、レジスタとフィールドの説明を表示するには、レジスタ名をスクロールして、
クリックします。レジスタのアドレスは、各モジュール・インスタンスのベース・
アドレスからの相対的なオフセットです。
f すべてのモジュールのベース・アドレスは、Arria V デバイス・ハンドブック Volume 3
の Introduction to the Hard Processor System の章に記載されています。
改訂履歴
表 24–1 に、このドキュメントの改訂履歴を示します。
表 24‒1. 改訂履歴
バー
ジョン
日付
変更内容
2012 年 11 月
1.2
マイナーな更新。
2012 年 5 月
1.1
プログラミング・モデルとアドレス・マップおよびレジスタの定義の項を追加。
2012 年 1 月
1.0
初版。
2012 年 11 月
Altera Corporation
Arria V デバイス・ハンドブック
Volume 3: ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル
24–8
Arria V デバイス・ハンドブック
Volume 3: ハード・プロセッサ・システムのテクニカル・リファレンス・マニュアル
第 24 章 : ウォッチドッグ・タイマ
改訂履歴
2012 年 11 月
Altera Corporation