• No : 3705
  • 公開日時 : 2020/03/27 18:34
  • 更新日時 : 2022/09/02 13:37
  • 印刷

【NXP:Kinetis】 K64のRTCのTIFビットについて

K64のVBATに3.0 Vを供給し、VDDの3.3 Vを電源をオンするとRTC_SRレジスタのTIFビットがセットされます。そのため、RTC_CRレジスタのSWR=1にセットして、RTCを初期化しました。
その後、VDDを電源オフ、オンすると、再びRTC_SRレジスタのTIFビットがセットされました。
何故RTC_SRレジスタのTIFビットがセットされてしまうのでしょうか。
カテゴリー : 

回答

RTC_SRレジスタのTIF(Time Invalid Flag)ビットは、次の条件を満たした場合にセットされます。
 
・VBATの電圧が1.71 Vを下回った
・RTC_CRレジスタのSWR=1にセットして、ソフトウェアリセットを実行
 
VDDを電源オフしてから電源オンするまでの間にVBATの電圧が低下していないか確認してください。VBATが1.5 Vを下回るとRTC_SRレジスタのTIFがセットされる可能性があります。
また、RESET_b信号がHIGHになり、リセットが解除されてからコードが動作し始め、初期化が完了した後、main()関数がコールされます。main()関数がコールされるまでにRTC_CRレジスタのSWR=1にセットして、ソフトウェアリセットを実行した場合もRTC_SRレジスタのTIFビットがセットされますので、アセンブラコードも含め、初期化処理を確認してください。