GD32F303的RTC模塊框圖如下圖所示,RTC時鐘源可選擇HXTAL/128、LXTAL或IRC40K,一般為了實現更精準的RTC時間,MCU系統均會外掛32.768KHz LXTAL低頻晶振,但由于低頻晶振負阻抗較大,不容易起振,若外部電路布線、匹配電容選擇以及驅動模式配置不合適,可能會存在啟動或運行過程中LXTAL停振的風險,當LXTAL停振后,RTC將會面臨時間停止的狀況,此時我們應該如何處理?
![wKgaomYGH9eAMRb-AAFgx8YlyU4554.png](https://file1.elecfans.com/web2/M00/C7/11/wKgaomYGH9eAMRb-AAFgx8YlyU4554.png)
1、首先我們需要優化LXTAL部分硬件電路,避免啟動及運行過程中低頻晶振停振,低頻晶振的選擇、晶振電路的layout、匹配電容的選擇、MCU驅動模式的配置,都會影響低頻晶振工作的穩定性,我們后續會專門開一講來進行講解;
2、增加代碼冗余操作,提高系統穩定性,可軟件上檢測低頻晶振是否正常,異常后可將RTC時鐘切換到內部低頻時鐘,檢測低頻晶振是否正常的方法可選擇以下兩種:(1)選擇一個timer定時1s讀取RTC時間,如果連續3S讀取RTC時間均為同一個數值,此時可判斷LXTAL停振;(2)可通過RTC寄存器時鐘同步來進行判斷,RTC計數值會在每個RTC時鐘的上升沿進行內部更新,并與APB1時鐘進行同步,軟件上可首先清除RSYNF同步標志位,然后等待其置位,如果LXTAL停振,RSYNF同步標志將無法置位,此時增加超時判斷,可判斷LXTAL時鐘停振。
![wKgZomYGH9-AagXuAACU4Wg1hXo510.png](https://file1.elecfans.com/web2/M00/C6/2B/wKgZomYGH9-AagXuAACU4Wg1hXo510.png)
以上即為本期講解,如有建議或問題歡迎評論區討論!
-
單片機
+關注
關注
6043文章
44621瀏覽量
638586 -
嵌入式
+關注
關注
5093文章
19178瀏覽量
307703 -
晶振
+關注
關注
34文章
2899瀏覽量
68316 -
RTC
+關注
關注
2文章
544瀏覽量
67031
發布評論請先 登錄
相關推薦
![](https://file1.elecfans.com/web2/M00/C7/13/wKgaomYGIzuAT9RxAAtCHyDQ9RA762.png)
評論