探秘DS3231:高精度RTC的卓越之選
作為電子工程師,在設計中我們常常需要一個精準且可靠的實時時鐘(RTC),而Maxim Integrated的DS3231無疑是一個值得深入研究的解決方案。下面就帶大家詳細了解DS3231這款高精度、I2C接口、集成RTC/TCXO/晶體的器件。
文件下載:DS3231.pdf
一、DS3231概述
DS3231是一款低成本、高精度的I2C實時時鐘,集成了溫補晶體振蕩器(TCXO)和晶體。它具備電池輸入端,在斷開主電源時仍可維持精確計時。這種集成設計不僅提高了器件的長期精確度,還減少了生產線所需的元件數量。該器件提供商用級(0°C至 +70°C)和工業級( - 40°C至 +85°C)溫度范圍,采用16引腳、300mil的SO封裝。
特性亮點
- 高精度計時:在0°C至 +40°C范圍內時鐘精度為±2ppm, - 40°C至 +85°C范圍內時鐘精度為±3.5ppm。
- 備用電池支持:為連續計時提供備用電池輸入,確保在主電源故障時仍能正常工作。
- 豐富功能:提供秒、分、時、星期、日期、月、年信息,并具備有效期到2100年的閏年補償功能;擁有兩個日歷鬧鐘和可編程方波輸出。
- 高速接口:支持快速(400kHz)I2C接口,方便與微控制器等設備進行通信。
- 溫度傳感器:數字溫度傳感器輸出精度為±3°C,可實時監測環境溫度。
- 老化修正:具備老化修正寄存器,可補償晶體老化帶來的影響。
- 認證保障:通過保險商試驗機構(UL)認證,保證產品質量和安全性。
二、工作原理剖析
DS3231的主要由八個模塊劃分為四個功能組,分別是TCXO、電源控制、按鈕復位功能和RTC。
1. 32kHz TCXO
TCXO包含溫度傳感器、振蕩器和控制邏輯。控制器讀取片上溫度傳感器的輸出,利用查找表確定所需的電容,再結合AGE寄存器的老化修正,設置電容選擇寄存器。僅在溫度值變化或用戶啟動溫度轉換完成時,才加載包含AGE寄存器變化的新值。VCC初次上電時轉換溫度值,之后每64秒轉換一次。
2. 電源控制
| 由溫補電壓基準和監視VCC電平的比較器電路實現。根據VCC、VPF和VBAT的電壓關系,器件會自動選擇合適的供電電源: | 供電條件 | 活動電源 |
|---|---|---|
| VCC < VPF,VCC < VBAT | VBAT | |
| VCC < VPF,VCC > VBAT | VCC | |
| VCC > VPF,VCC < VBAT | VCC | |
| VCC > VPF,VCC > VBAT | VCC |
為保護電池,VBAT首次加到器件上時,振蕩器在VCC達到VPP以上或寫入有效I2C地址之前不啟動。VCC加電或寫入有效I2C地址約2秒后,器件測量溫度并校準振蕩器,之后每隔64秒進行一次溫度測量和校準。
3. 按鈕復位功能
DS3231通過RST輸出引腳實現按鈕控制功能。當不在復位周期時,會持續監視RST信號的下降沿。檢測到邊沿轉換后,通過拉低RST完成開關去抖。內部定時器定時結束(PB_DB)后,繼續監視RST信號。若信號仍為低電平,持續檢測上升沿。一旦檢測到按鈕釋放,強制RST引腳為低電平并保持tRST時間。此外,RST還可指示電源故障報警情況。
4. 實時時鐘
以TCXO為時鐘源,RTC提供秒、分、時、星期、日期、月和年信息,可自動調整少于31天月份的月末日期,包括閏年修正。時鐘支持24小時或帶AM/PM指示的12小時格式。同時,提供兩個可編程日歷鬧鐘和一個可編程方波輸出,INT/SQW引腳可產生中斷信號或輸出方波,功能通過INTCN位控制。
三、寄存器配置與操作
1. 計時寄存器
DS3231的計時寄存器采用二 - 十進制編碼(BCD)格式,通過讀取和寫入適當的寄存器字節可獲取和設置時鐘與日歷信息。在多字節訪問時,地址指針到達寄存器空間末尾(12h)會返回到地址00h。在I2C的START條件下或地址指針遞增至地址00h時,當前時間會傳輸至輔助寄存器,方便讀取時間信息,避免主寄存器更新時的重新讀取問題。
2. 鬧鐘寄存器
DS3231包含兩個星期/日期鬧鐘,可通過寫入相應寄存器進行設定。鬧鐘寄存器的第7位是屏蔽位,用于控制鬧鐘的觸發條件。當RTC寄存器值與鬧鐘寄存器設定值匹配時,相應的鬧鐘標志位(A1F或A2F)置為邏輯1。若對應的鬧鐘中斷使能(A1IE或A2IE)和INTCN位均為邏輯1,鬧鐘條件將觸發INT/SQW信號。
3. 控制寄存器(0Eh)
控制寄存器用于控制實時時鐘、鬧鐘和方波輸出:
- EOSC(第7位):使能振蕩器,邏輯0啟動,邏輯1在電源切換至VBAT時停止。
- BBSQW(第6位):電池備份的方波使能,邏輯1且INTCN = 0、VCC < VPF時使能方波輸出。
- CONV(第5位):轉換溫度,置為1時強制溫度傳感器進行轉換并更新振蕩器電容陣列。
- RS2和RS1(第4和第3位):頻率選擇,用于控制方波輸出頻率。
- INTCN(第2位):中斷控制,0時INT/SQW引腳輸出方波,1時計時寄存器與鬧鐘寄存器匹配觸發輸出。
- A2IE(第1位):鬧鐘2中斷使能。
- A1IE(第0位):鬧鐘1中斷使能。
4. 狀態寄存器(0Fh)
狀態寄存器反映器件的工作狀態:
- OSF(第7位):振蕩器停止標志,邏輯1表示振蕩器停止或曾停止。
- EN32kHz(第3位):使能32kHz輸出,邏輯1使能,輸出32.768kHz方波。
- BSY(第2位):忙標志,指示器件正在執行TCXO功能。
- A2F(第1位):鬧鐘2標志,邏輯1表示時間與鬧鐘2寄存器匹配。
- A1F(第0位):鬧鐘1標志,邏輯1表示時間與鬧鐘1寄存器匹配。
5. 老化補償寄存器(10h)
老化補償寄存器可將用戶提供的數值加到電容陣列寄存器中或從中減去,以補償晶體老化。正老化系數增大陣列電容、降低振蕩頻率,負老化系數則相反。
6. 溫度寄存器(11h至12h)
溫度值采用10位編碼表示,分辨率為0.25°C。高8位(整數部分)位于地址11h,低2位(小數部分)位于地址12h的高半字節。上電復位后,缺省溫度值為0°C,之后每64秒更新一次。
四、I2C接口與數據傳輸
DS3231支持雙向I2C總線和數據傳輸協議,在I2C總線上作為從設備工作。總線規范定義了標準模式(100kHz最高時鐘頻率)和快速模式(400kHz最高時鐘頻率),DS3231均支持。數據傳輸需遵循一定的協議和條件:
- 總線空閑:數據和時鐘線均保持高電平。
- 啟動傳輸:時鐘線為高時,數據線由高變低,即START條件。
- 停止傳輸:時鐘線為高時,數據線由低變高,即STOP條件。
- 數據有效:START條件后,時鐘信號為高時數據線保持穩定,代表有效數據,數據在時鐘信號為低時改變,每個時鐘脈沖傳送一位數據。
DS3231可工作于從設備接收模式(寫模式)和從設備發送模式(讀模式):
- 從設備接收模式:主設備發送從設備地址(含傳輸方向位,0表示寫操作),DS3231應答后,主設備發送字地址設定寄存器指針,再發送數據,DS3231應答每個字節,最后主設備產生STOP條件終止寫入。
- 從設備發送模式:主設備發送從設備地址(傳輸方向位為1表示讀操作),DS3231應答后,從寄存器指針指向的地址開始發送數據,主設備收到最后一個字節后返回非應答信號結束讀操作。
五、操作、PCB布局和安裝注意事項
1. 器件操作
DS3231封裝包含石英音叉晶體,使用拾取 - 貼裝設備時需謹慎,避免過度沖擊。同時,應避免使用超聲波清理,以免損壞晶體。
2. PCB布局
除非封裝與信號線之間有地層隔開,否則避免在器件下面走信號線。所有N.C.(無連接)引腳必須接地。
3. 潮濕敏感封裝
潮濕敏感封裝出廠時采用防潮包裝,需遵循封裝標簽上的操作說明,防止回流焊過程中損壞器件。潮濕敏感器件(MSD)的分類和回流焊溫度曲線請參考IPC/JEDEC J - STD - 020標準,允許的回流焊次數最多2次。
六、總結
DS3231憑借其高精度計時、豐富功能、低功耗以及良好的溫度穩定性等特點,成為電子工程師在實時時鐘設計中的理想選擇。在實際應用中,我們需要深入理解其工作原理、寄存器配置和I2C接口通信協議,同時注意操作、PCB布局和安裝的細節,以確保DS3231能夠穩定、可靠地工作。大家在使用DS3231的過程中遇到過哪些問題呢?又是如何解決的呢?歡迎在評論區分享交流。
-
實時時鐘
+關注
關注
4文章
356瀏覽量
68409 -
DS3231
+關注
關注
2文章
52瀏覽量
24409
發布評論請先 登錄
探秘DS3231:高精度RTC的卓越之選
評論