Hi,
FS26をS32K311で初期化したところ、
ウォッチドッグ周期=32ms、ウォッチドッグデューティサイクル=37.5%OPEN、ウォッチドッグリカバリー=64ms、
しかし、「良いWDリフレッシュでFLT_ERR_CNTを0に減らす」WD_ERR_LIMIT、
以下のコードでu8ErrorCounter = 1を取得しました。
「良いWDリフレッシュで」という意味がわかりませんがWD_ERR_LIMITそれはWDrefreshルーチンコードを追加する必要があるということですか?
あなたの答えを願っています!
ケイト
どうもありがとうございます!
こんにちはケイト
上の写真に従ってWDをフィードしてください、あなたは試すことができ、問題ないはずです。
Hi guoweisun,
説明をありがとう!
写真については、オープンデューティーは50%ですが、タイムラインには3/4があります。
私の理解では、50%のデューティを設定すると、WDリフレッシュとWDリフレッシュ1の間の1/2になります。
つまり、WD refresh と WD refresh 1 の間の時間を設定する場合、関数は WindowPeriod * WindowDc である必要があります。
何よりも、何か問題がありますか?
最後に、デバッグモードではなく通常モードを使用する必要がありますが、フィードWDについては以下を参照できます。
Hi guoweisun,
デバッグモードにいた場合は、以下のように良いWDfreshを使用できます。
その後、SBCの初期化をOKにすることができます。
しかし、ノーマルモードでは、以下のような悪いWDfreshが出ました。
その後、SBCを初期化できません。
どのような状態を設定する必要がありますか?
以下をご覧ください。
Hi guoweisun,
ご辛抱いただきありがとうございます!
何がFS_WD_ANSWERを変えることができるのか、ということです。
1回だけ更新すると、FS_WD_ANSWER 0xa54d から0x4a9aに変わってしまいます。
FS_WD_ANSWER 0x4a9aから0x9535に変更できるものは何ですか?
こんにちはケイト
WDを変更するために一度だけ書いたことを理解していません。
FS_WD_TOKENレジスタの内容を定義する場合は、毎回WDの回答を計算して入力する必要があります。
Hi guoweisun,
「ウォッチドッグチャレンジrでノーマルモードに入るシーケンス」を使用したのは、S32K311のため。
FS_WD_ANSWERの変更タイミングは、Sbc_fs26_WdChangeTokenが使われるタイミングですよね?
しかし、今では私のコードはSbc_fs26_InitFSConfigureが使用されているときにSbc_fs26_WdChangeToken使用されていました。
つまり、wdの答えを変更するのは1回だけです。
wdの答えが変わる Sbc_fs26_WdChangeTokenをどこに追加すればよいですか?
Hi
以下を参照してください。
ウォッチドッグシンプルでノーマルモードに入るシーケンス
INIT FSおよびSimple WD対応が必要
WDウィンドウを開く
SET_REG:FS26:安全性:FS_WDW_DURATION:0x008B
SET_REG:FS26:安全性:FS_NOT_WDW_DURATION:0xF144
1 回適切な wd refresh を送信して INIT ウィンドウを閉じます
SET_REG:FS26:安全性:FS_WD_ANSWER:0x5AB2
Clean Faultエラーカウンタ
SET_REG:FS26:安全性:FS_WD_ANSWER:0x5AB2
SET_REG:FS26:安全性:FS_WD_ANSWER:0x5AB2
SET_REG:FS26:安全性:FS_WD_ANSWER:0x5AB2
SET_REG:FS26:安全性:FS_WD_ANSWER:0x5AB2
SET_REG:FS26:安全性:FS_WD_ANSWER:0x5AB2
SET_REG:FS26:安全性:FS_WD_ANSWER:0x5AB2
dbg モードを終了します
SET_REG:FS26:安全性:FS_STATES:0x4000
FS0BおよびFS1Bをリリース
SET_REG:FS26:安全性:FS_RELEASE_FS0B_FS1B:0xB2A5
ウォッチドッグチャレンジャーでノーマルモードに入るまでのシーケンス
INIT FSおよびWD Challengerが必要です
WDウィンドウを開く
SET_REG:FS26:安全性:FS_WDW_DURATION:0x008B
SET_REG:FS26:安全性:FS_NOT_WDW_DURATION:0xF144
ZD refresh を 1 回送信して INIT ウィンドウを閉じます
SET_REG:FS26:安全性:FS_WD_ANSWER:0xa54d
Clean Faultエラーカウンタ
SET_REG:FS26:安全性:FS_WD_ANSWER:0x4a9a
SET_REG:FS26:安全性:FS_WD_ANSWER:0x9535
SET_REG:FS26:安全性:FS_WD_ANSWER:0x2a6a
SET_REG:FS26:安全性:FS_WD_ANSWER:0x54d4
SET_REG:FS26:安全性:FS_WD_ANSWER:0xa9a9
SET_REG:FS26:安全性:FS_WD_ANSWER:0x5353
dbg モードを終了します
SET_REG:FS26:安全性:FS_STATES:0x4000
FS0BおよびFS1Bをリリース
SET_REG:FS26:安全性:FS_RELEASE_FS0B_FS1B:0xA565
Hi guoweisun,
ご返信ありがとうございます。
WDの更新を続行するにはどうすればよいですか?
タイマーを使用してカウントすると、Sbc_fs26_TimeWaitClearFault()でシャットダウンします。
それとも、ウォッチドッグデューティのオープンな例がありますか?
S32DKには、無限のウォッチドッグの例しかありません。
Hi
あなたの質問のために:
1:それはWDrefreshルーチンコードを追加する必要があるということですか?
[GWの]正しい場合は、障害エラーカウンタが0に減少するまでWDを更新し続ける必要があります。