PMIC用に外部ウォッチドッグ(Wdg_43_VR5510)を実装しました。しかし、Pmic_VR5XX_TimeoutLoops_StateTransistion で無限ループに陥っています(下記参照)。
現在、状態はINIT_FS状態です。状態図によると、状態をINIT_FSからWait_ABIST2に変更するには、適切なウォッチドッグ更新が必要です。
最初のウォッチドッグ更新が256ms以内に正常に行われるようにするため、EcuM初期化中にWdg_43_VR5510_Init関数の後にウォッチドッグトリガーAPIを呼び出しました。
最初の監視機関の刷新をどのように、どこで行うべきかを知る必要がある。つまり、状態遷移はINIT_FSからwait_ABIST2へと起こるということです。
こんにちは、 @Jerry_cao さん。
お問い合わせいただきありがとうございます。しかし、元の投稿はほぼ2年間閉鎖されているため、そのThreadでの支援を継続することはできません。
S32G - NXPコミュニティであなたの問題について新しい投稿を作成してください。私たちのチームは喜んでさらにサポートいたします。
BR
セレステ
NXPチームの皆様、こんにちは。
現在VR5510 PMICのデバッグを行っているのですが、ウォッチドッグの更新に関連するリアルタイムスケジューリングの問題に遭遇しました。
MCAL I2C ウォッチドッグのリフレッシュ (I2C を介して VR5510 ウォッチドッグにフィードする) は、 同期 手術。同期待機は割り込みコンテキスト内から呼び出されるため、CPUをブロックし、他のタスクのリアルタイムスケジューリングを低下させます。
ドライバーの設定やコードに 非同期 オプションがあるのに気づきました。しかし実際には同期のビジー待機(I2C転送が完了するまでブロックとポーリングを行う)を実行しているため、実際には転送を呼び出し元から切り離すことはありません。
私の質問:
何かご助言、設定例、またはサンプルコードをご提供いただければ大変ありがたいです。
よろしくお願いします。
こんにちは、SagarZalaさん、
S32 Design Studio(S32DS)の標準化された2つの例を試したことはありますか?彼らも同じ問題を抱えるのだろうか?彼らはあなたにとって非常に良い参考資料となるかもしれません。
こんにちは、
ご返信ありがとうございます。
私はRTDバージョン4.0.2を使用しています。I2Cは既に高速に設定済みで、 WD_WINDOWも1024msに設定されています。しかし、それでもうまくいきません。
親愛なる@SagarZala様、
ご質問ありがとうございます。VR5510は一般的にS32Gマイクロプロセッサ と組み合わせられます。そのため、VR5510の利用可能なドライバはS32G RTDパッケージ内で提供されるべきです。使用しているRTDのバージョンと、具体的な例を教えてください。
RTD 4.0.0バージョンを例にすると、パスC:\NXP\SW32G_RTD_4.4_4.0.0\eclipse\plugins\Wdg_43_VR5510_TS_T40D11M40I0R0\docの下に「RTD_WDG_43_VR5510_IM」と「RTD_WDG_43_VR5510_UM」のドキュメントがあります。文書「RTD_WDG_43_VR5510_UM」に詳細が記載されています。
ウォッチドッグタイマーはI2Cコマンドによって起動され、I2Cの速度に依存することに留意すべきである。I2Cの速度が低い場合、ウォッチドッグタイマーが作動ウィンドウのオープン時間内に正常にトリガーされない可能性があります。この問題を避けるために、ユーザーはI2cを高速で設定し、有効な期間は長いウィンドウを使うことを推奨します。
ウォッチドッグのリフレッシュを設定するには、WD_WINDOW[3:0]を設定してリフレッシュ時間を取得します。次の図に示すように:
「Document VR5510 製品 data sheet」(表45ページ、60ページ)を参照してください。ウォッチドッグウィンドウの期間設定は、以下のスクリーンショットに示すとおりです。WD(廃液排出)期間を正しく設定した後、WDに正しく給紙する必要があります。
上記の情報がお役に立てば幸いです。
よろしくお願いいたします。
セレステ