[Suzaku:00645] Re: ウォッチドッグタイマー

Keichi Kawaoka email@hidden
2006年 9月 15日 (金) 21:45:27 JST


川岡と申します。

SUZAKU-Sにて、ウォッチドックタイマなどでリセットをかける場合、
2つの方法があります。

1.「SYS_Rst」をHI.にする
  通常こちらの方法が良いと思います。
  「SYS_Rst」をHI.している間、MicoroBlazeやペリフェラルコアにリセットがかかります。

2.「FPGA_RESET_EN」をHI.にする
  FPGA_RESET_ENをHI.にすると、SUZAKUは、FPGAの再コンフィグレーションを行います。
  ただし、条件によって稀に正常にコンフィグレーションされずFPGAが動作しないことがあります。
  原因は、SDRAMがリードステートでバスをドライブしている状態のとき、
  再コンフィグレーション実行時し、SDRAMとTE7720との間で信号が衝突してしまうためです。
  回避するには、何かの手段でSDRAMがリードステートにならないようする必要があります。

  回避方法の一例として、簡単なサンプルウォッチドックタイマをつくってみました。
  参考にしていただければと思います。

  下記にコアの使用方法を説明します。

**************************
sz_reset_v1_00_aのコピー
**************************
添付ファイルのsz_reset_v1_00_aを、フォルダxps_proj\pcoresの下にコピーしてください。


**************************
xps_proj.mhsの編集
**************************
xps_projを編集してください。

先頭行に2行追加
 PORT Watchdogin = Watchdogin, DIR = I
 PORT FPGA_Reconf = FPGA_Reconf, DIR = O


最後尾行に12行追加
BEGIN sz_reset
 PARAMETER INSTANCE = sz_reset_0
 PARAMETER HW_VER = 1.00.a
 PARAMETER C_BASEADDR = 0xFFFFF100 # ベースアドレスが別に使われている場合は変更してください
 PARAMETER C_HIGHADDR = 0xfffff1ff # ベースアドレスが別に使われている場合は変更してください
 BUS_INTERFACE SOPB = d_opb_v20
 BUS_INTERFACE MOPB = d_opb_v20
 PORT sopb_clk = SYS_CLK
 PORT mopb_clk = SYS_CLK
 PORT Watchdogin = Watchdogin
 PORT FPGA_Reconf = FPGA_Reconf
END



**************************
外部入出力信号の説明
**************************
FPGA再コンフィグ実行出力信号
FPGA_Reconf
	FPGA_RESET_ENと接続してください。

外部強制リセット入力信号
Watchdogin
    HI.が入力されると強制リセットします。
    使用しない場合はLO.を入力しておいてください。




**************************
レジスタの説明
**************************
強制リセットレジスタ
Reconfig_set
    オフセットアドレス 0x00
                bit0        1=強制リセット実行します。
                              (通常は使わないと思います)


ウォッチドックタイマイネーブルレジスタ
watchdog_en
    オフセットアドレス 0x04
                bit0        1=ウォッチドックタイマ の動作が開始します。
                            0=ウォッチドックタイマ が停止します。

ウォッチドックタイマクリアレジスタ
re_set
    オフセットアドレス 0x08
                bit0        1=ウォッチドックタイマのカウント値がクリアされ 0x0 になります
                            0を書き込む必要ありません。自動的に0になります

ウォッチドックタイマタイムアップレジスタ
watchdog_tim
    オフセットアドレス 0x0C
                bit31〜0    ウォッチドックタイマ  タイムアップ値
                            タイムアップ時間(秒) = タイムアップ値 / 51609600


三浦浩二 wrote:
> いつもお世話になります。 (株)デザインテックの三浦です。
>
>     SUZAKU-Sにてウォッチドッグタイマーを実現したいのですが
>     何かよいアドバイスを頂けないでしょうか?
>     top.vhdにFPGA_RESET_ENというIOがありますが
>     タイマーを用意して通常はファームにてクリアをして
>     暴走した場合タイマーのオーバーフローを検出して
>     FPGA_RESET_ENをHighにすることにより
>     ハードリセットがかかるとの思惑ですが。
>     よろしくお願いします。
>
>
> _______________________________________________
> suzaku mailing list
> email@hidden
> http://lists.atmark-techno.com/mailman/listinfo/suzaku
>
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: sz_reset_v1_00_a.zip
型:         application/x-zip-compressed
サイズ:     4111 バイト
説明:       無し
URL:        <http://lists.atmark-techno.com/pipermail/suzaku/attachments/20060915/7025afdf/attachment.bin>


suzaku メーリングリストの案内