[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 メーリングリストの案内