[Suzaku:00646] Re: ウォッチドッグタイマー
三浦浩二
email@hidden
2006年 9月 20日 (水) 09:55:00 JST
いつもお世話になります。 (株)デザインテックの三浦です。
事細かなアドバイス有難う御座います。
> 1.「SYS_Rst」をHI.にする
=> こちらの方法で確認させてください。
----- Original Message -----
From: "Keichi Kawaoka" <email@hidden>
To: "SUZAKU general discussion list" <email@hidden>
Sent: Friday, September 15, 2006 9:45 PM
Subject: [Suzaku:00645] Re: ウォッチドッグタイマー
> 川岡と申します。
>
> 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
> >
>
----------------------------------------------------------------------------
----
> _______________________________________________
> suzaku mailing list
> email@hidden
> http://lists.atmark-techno.com/mailman/listinfo/suzaku
>
suzaku メーリングリストの案内