RTC 使能與停止
RTC 上電后立即啟動,不可關(guān)閉,軟件應(yīng)在32K 晶體振蕩器完全起振后再設(shè)置當(dāng)前時間;在晶體振蕩器起振之前芯片使用內(nèi)部環(huán)振計時,偏差較大。
RTC 時間設(shè)置
軟件可以在任意時刻直接設(shè)置RTC 時間寄存器;由于設(shè)置時間寄存器的操作與RTC 走時為異步操作關(guān)系,建議軟件在秒中斷事件之后進行時間設(shè)置,并且在置時后讀出時間值校驗。
同時FM33A048B 支持ms 級授時,即可以設(shè)置時間到3.9ms 級別精度(1/256s)。此外,當(dāng)軟件寫入秒時間時,硬件自動清零64Hz->1Hz 的秒內(nèi)計數(shù)器,以便實現(xiàn)秒對齊。
為了提高抗干擾能力, FM33A048B 提供時間寫保護功能, 必須先對寫保護寄存器寫入0xACACACAC,才能改寫時間寄存器,置時完成后軟件可以通過寫入任意其他值來禁止時間寄存器的寫入,恢復(fù)寫保護。
RTC 時間讀取
時間讀取方式1:
? 讀當(dāng)前時間寄存器值
? 再次讀當(dāng)前時間寄存器值
? 如果2 次讀取內(nèi)容一致,則為正確的當(dāng)前時間;如果兩次讀取內(nèi)容不一致,則重復(fù)前兩個步驟。
時間讀取方式2:
軟件在1s 中斷發(fā)生后立即讀取時間寄存器,能保證讀到正確的當(dāng)前時間值。
RTC 時間戳
為了支持Tamper Detection,RTC 支持外部IO 事件觸發(fā)的時間戳功能。外部IO 觸發(fā)源為PB4 和PB5的輸入電平變化,為了確保輸入檢測的可靠性,建議使能PB4 和PB5 的IO 輸入數(shù)字濾波。使用此功能時,將PB4 和PB5 配置為GPIO 輸入,打開RTCSTAMPEN 寄存器,當(dāng)PB4 和PB5 上出現(xiàn)任何濾波后的上升沿或下降沿時,RTC 會自動記錄當(dāng)前時間到STAMP 寄存器組中,同時產(chǎn)生相應(yīng)的標(biāo)志,可用于產(chǎn)生中斷或者供軟件查詢。
注意時間戳功能僅在休眠模式下有效,ACTIVE 和LPRUN 模式下時間戳功能不起作用,IO 邊沿檢測由軟件中斷來處理。
時間戳僅在相應(yīng)標(biāo)志寄存器為0 的情況下記錄事件發(fā)生時間,如果對應(yīng)標(biāo)志已經(jīng)為1,則忽略相應(yīng)事件。因此如果有多次事件發(fā)生,時間戳僅記錄第一次事件發(fā)生的時間,除非軟件在事件發(fā)生后清除了標(biāo)志寄存器。文章來源:http://www.zghlxwxcb.cn/news/detail-461617.html
自動溫度補償
FM33A048B支持 RTC 自動 溫度補償,補償原理是定時( 256s )啟動一次溫度傳感器,根據(jù)溫度傳感器的輸出計算 RTC 調(diào)校值,實現(xiàn)每 256s 更新一次 RTC 調(diào)校值。
芯片預(yù)先在Flash 的 NVR 扇區(qū)保存了 512 字節(jié)的溫補參數(shù),芯片上電后軟件需要從 NVR 中讀取數(shù)據(jù)并載入地址從 0x40011200 開始的 RAM 中。 這部分 RAM 在軟件不啟動自動溫補的情況下,可以作為普通 RAM 使用,在啟動自動溫補的情況下,軟件無法訪問。在自動溫度補償?shù)那闆r下,當(dāng) XTLF 停振時,將禁止自動溫補 。自動溫補電路 在啟動時將獨 占 ADC應(yīng)當(dāng)確保在啟動自動溫補前, ADC 未被 使能 。
自動溫度補償?shù)木唧w使用方法,請參考復(fù)旦微電子提供的庫函數(shù)。文章來源地址http://www.zghlxwxcb.cn/news/detail-461617.html
到了這里,關(guān)于實時時鐘 RTC(2)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!