2393538_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2393538_ja-JP

2393538_ja-JP

PCA2131: コントロールレジスタ2のAF(アラームフラグ)はクリアできません

こんにちは、皆さん

現在、 PCA2131 オートモーティブ RTCをバッテリー・マネジメント・システム(BMS)に統合しています。

アラームフラグ(AF、Control_2レジスタ01hのビット4)がハイのままになるという問題が継続的に発生しています。基本的なSPI通信は完璧に動作しており、タイムレジスタの設定や読み込みは問題なくできます。しかし、初期化時にAFフラグをクリアできません。

重要な背景情報:

  • AFフラグをクリアする前に、アラームレジスタ(0Ah~0Eh)内のすべてのアラーム有効化(AE_X)ビットが1(無効)に設定されていることを既に確認済みです。

私が実行しているシーケンス:

  1. Control_2(レジスタ01h)を読み取ります。AFビットは1と読み取られます。

  2. ローカル構造体でAF = 0とAIE = 0に設定してフラグをクリアします。

  3. 変更したバイトをControl_2に書き戻す。

  4. Control_2をもう一度読み込んでください。AFビットはまだ1です。

デバッグセッションのスクリーンショットを添付しました。クリア前、クリア操作中、および読み出し後のレジスタの状態を示しています。

私の質問:

  1. すべてのAE_Xビットが無効化されている場合、他にAFフラグを即座に再アサートさせる(またはクリアを妨げる)内部条件は何でしょうか?

ご意見やご提案をいただければ大変ありがたいです!

Re: PCA2131: AF (Alarm Flag) in Control Register 2 will not be able to clearこんにちは、ヨゼフさん。

あなたのサポートと正しい方向への教えてくださり、ありがとうございます。

私はピコスコープを使ってSPIメッセージを確認し、ハードウェアの値が正しいことを検証しました。ご提案に従い、さらにコードをデバッグし、根本原因がビットフィールドの順序の不一致であることを確認しました。

不一致を修正しましたので、問題は完全に解決しました。ご協力ありがとうございました!

よろしくお願いします、
ヴィカス
Re: PCA2131: AF (Alarm Flag) in Control Register 2 will not be able to clear

こんにちは、ヴィカスさん。

ご確認いただきありがとうございます。データシートに記載されている PCA2131 の動作を考慮すると、AE_S/AE_M/AE_H/AE_D/AE_W がすべて 1 であると仮定すると、RTC が AF を正しく再トリガーしているようには見えません。最も可能性の高い原因はビットフィールドの順序ミスマッチです。3つの読み書きSPIメッセージの範囲をぜひ教えていただけますか?タイミングと、書き込みおよび読み出しされたレジスタ/ビットを確認するため。

JozefKozon_2-1783678052638.png


敬具、

ヨゼフ

Re: PCA2131: AF (Alarm Flag) in Control Register 2 will not be able to clearおっと、タイプミスでごめんなさい!正しいアドレスは0Ehから12hです。再確認したところ、コードに正しく記載されていたので、メッセージの誤りでした。Re: PCA2131: AF (Alarm Flag) in Control Register 2 will not be able to clear

こんにちは、ヴィカスさん。

警報記録を再度確認してください。これらのレジスタのアドレスは0Ehから12hです。

JozefKozon_0-1783672873300.pngJozefKozon_1-1783672931555.png

AE_xビットをすべて1に再度設定してみてください。

敬具、

ヨゼフ

タグ(1)
評価なし
バージョン履歴
最終更新日:
土曜日
更新者: