基于溫度補(bǔ)償RTC模塊的晶體晶振參考程序說明
來源:http://m.wyss.net.cn 作者:金洛鑫電子 2019年09月20
說到帶有溫度補(bǔ)償性能的器件,首先想到大多數(shù)都是溫補(bǔ)振蕩器,這也是比較知名的一種電子元器件了,但是RTC實時時鐘也同樣可以參與溫度補(bǔ)償設(shè)計,而且?guī)в袦囟妊a(bǔ)償?shù)膶崟r時鐘參考方案里,也有幾顆不同的晶體或振蕩器加持.晶振本身就是一種用于時鐘的頻率組件,基本上帶有基準(zhǔn)時鐘模塊的產(chǎn)品都需要用到,所謂的溫度補(bǔ)償簡單的說,就是當(dāng)周圍溫度驟然上午或下降,超過本身的溫度范圍,會利用自身的精準(zhǔn)性和補(bǔ)償功能,讓周圍溫度回歸到正常的范圍內(nèi).
實時時鐘(RTC)用于許多需要跟蹤時間和日期信息的應(yīng)用中.將專用RTC器件添加到電路板的常見解決方案會增加BOM成本并增加電路板空間.更好,更具成本效益的替代方案是將RTC功能實現(xiàn)到微控制器中,該微控制器也執(zhí)行其他有用的任務(wù).溫度補(bǔ)償實時時鐘(TC-RTC)參考設(shè)計是一個完整的RTC解決方案,包括實現(xiàn)具有全時鐘和日歷功能以及溫度補(bǔ)償?shù)腞TC所需的所有固件和硬件.與涉及提供類似功能的專用RTC的解決方案相比,該解決方案可顯著節(jié)省成本.
TC-RTCRD固件實現(xiàn)以下功能:
1.實時時鐘,計算秒,分,小時,日期,星期幾,月和年,閏年補(bǔ)償有效期至2099年
2.溫度引起的晶振頻率變化的自動時間補(bǔ)償
3.56字節(jié)NVRAM,數(shù)據(jù)存儲在內(nèi)部閃存中
4.SMBus/I2C接口或UART接口,具體取決于加載的固件
5.1/2Hz速率的方波輸出信號
硬件概述:
TC-RTC參考設(shè)計硬件實現(xiàn)為評估板,如圖1所示.使用連接到定時器輸入的外部32kHz晶振作為RTC的時鐘源.RTC評估板提供兩個接口-UART和SMBus/I2C. 這是一款小型混合信號MCU,具有豐富的功能集.下面列出了本參考設(shè)計中使用的MCU的功能:
1.高速8051內(nèi)核,25MHz時鐘,可提供高達(dá)25MIPS的吞吐量
2.8kB閃存(在系統(tǒng)可編程)和256字節(jié)內(nèi)部數(shù)據(jù)RAM
3.25MHz內(nèi)部振蕩器和外部晶振/石英晶體振蕩器輸入
4.8位500kspsADC
5.片上溫度傳感器
6.硬件增強(qiáng)的UART和SMBus串口
7.三個通用16位計數(shù)器/定時器
8.使用定時器和外部時鐘源的實時時鐘模式
有關(guān)該MCU的更多詳細(xì)信息,請參閱本設(shè)計中使用的C8051F300MCU的引腳連接如圖2所示.電路板原理圖和材料清單包含在”溫度補(bǔ)償實時時鐘參考設(shè)計套件用戶指南”中.
圖2.TC-RTCC8051F300MCU引腳連接
導(dǎo)致石英晶體頻率偏差的主要參數(shù)如下:
1.環(huán)境溫度
2.晶瑩剔透
3.供電電壓
其中,影響晶體頻率的主要因素是環(huán)境溫度.圖3顯示了諧振器頻率隨溫度變化的曲線圖.從拋物線曲線可以看出,如果溫度從室溫值(25°C)升高或降低,RTC將浪費時間.注意,RTC永遠(yuǎn)不會有由溫度變化(即增益時間)引起的正誤差,因為最大頻率是室溫.
圖3.拋物線溫度曲線
最大頻率變化約為-0.04ppm/ºC2.因此,頻率偏差可表示如下:
△f/f=0.04ppmx(△T)2
△T=環(huán)境溫度-25ºC
計算時間補(bǔ)償:
TC-RTC參考設(shè)計固件每分鐘重復(fù)以下步驟一次,以計算和累計丟失的時間.
1.ADC用于測量片內(nèi)溫度傳感器的芯片溫度.”3.3.計算環(huán)境溫度”描述了所涉及的計算.
2.然后使用ADC測量的值計算以ppm為單位的偏差,并將結(jié)果存儲在存儲器中.這表示需要補(bǔ)償?shù)奈⒚霐?shù).
在24小時結(jié)束時,總累積誤差被加到RTC時間以完成補(bǔ)償過程.假設(shè)溫度在一分鐘內(nèi)沒有廣泛變化.片上溫度傳感器產(chǎn)生的電壓輸出與'F300芯片的絕對溫度成正比,如圖4所示.該電壓與芯片溫度之間的典型關(guān)系如下所示=×TEMPc+897mV
VTEMP是溫度傳感器電壓輸出(mV)
TEMPC是模具溫度(ºC) RTC寄存器和非易失性用戶RAM:
圖5顯示了RTC寄存器和NVRAM的地址.RTC寄存器存儲當(dāng)前時間和日期信息.這些寄存器保存在'F300器件內(nèi)部易失性RAM中. TC-RTC還提供一個56字節(jié)的用戶NVRAM,存儲在'F300設(shè)備內(nèi)部閃存中.這可以用作通用非易失性存儲區(qū)域.Flash NVRAM的當(dāng)前值始終鏡像在RAM中的56字節(jié)陣列中.這是因為'F300閃存只能在512字節(jié)的頁面中擦除.因此,將一個或多個字節(jié)寫入NVRAM是一個三步過程-首先將字節(jié)寫入RAM陣列,擦除Flash頁面,將56字節(jié)陣列從RAM復(fù)制到閃存.
該NVRAM的一個有用的應(yīng)用是在電源故障之前存儲時間和日期信息.存儲的信息稍后可用于調(diào)試或其他目的.為此,應(yīng)監(jiān)控電源線,一旦檢測到跌落,應(yīng)從RTC寄存器讀取時間和日期信息并寫入NVRAM.這應(yīng)該由外部設(shè)備管理,而不是由TC-RTC固件自動完成.
圖5.RTC和NVRAM寄存器
ADC配置:
ADC配置為使用溫度傳感器作為正輸入,接地作為負(fù)輸入.VDD用作參考有源晶振電壓,SAR轉(zhuǎn)換時鐘設(shè)置為5MHz.可編程增益放大器(PGA)設(shè)置為增益2.通過收集和平均溫度傳感器輸出的65536(64k)樣本,執(zhí)行過采樣以提高測量精度.首次對TC-RTC板供電-在加載固件后,執(zhí)行1點偏移校準(zhǔn),如下所示:
1.等待15秒(浸泡時間).這允許模具加熱到正常的操作溫度.
2.使用上述ADC設(shè)置測量溫度傳感器輸出.注意:校準(zhǔn)測量假設(shè)芯片溫度為28ºC.
3.將測量值存儲在非易失性閃存中.
定時器配置:
'F300MCU有三個通用定時器.所有這三個定時器都由TC-RTC固件使用.定時器配置并用于以下目的:
1.Timer0-用于提供SMBusSCL低超時.
2.Timer1-用作UART波特率發(fā)生器,或用于SMBus空閑超時(SCL高)檢測.
3.Timer2-它使用外部振蕩器作為時鐘源,用于RTC時間測量.
4.4.UART接口
TC-RTC提供的UART接口是一個簡單的2線接口,僅使用TXD和RXD線路.它支持三個命令.
SMBus界面:
可以進(jìn)行兩種類型的數(shù)據(jù)傳輸:從主發(fā)送器到尋址的從接收器(WRITE)的數(shù)據(jù)傳輸,以及從尋址的從發(fā)送器到主接收器(READ)的數(shù)據(jù)傳輸.主器件啟動兩種類型的數(shù)據(jù)傳輸,并在SCL上提供串行時鐘脈沖.SMBus接口可以作為主設(shè)備或從設(shè)備運行,并且支持同一總線上的多個主設(shè)備.如果兩個或多個主設(shè)備嘗試同時啟動數(shù)據(jù)傳輸,則采用仲裁方案,其中單個主設(shè)備總是贏得仲裁.
典型的SMBus事務(wù)包括START條件后跟地址字節(jié)(Bits7-1:7位從機(jī)地址;Bit0:R/W方向位),一個或多個字節(jié)數(shù)據(jù)和STOP條件.在高SCL期間,必須通過低SDA確認(rèn)(通過主機(jī)或從機(jī))接收的每個字節(jié)(參見圖6).如果接收設(shè)備沒有ACK,則發(fā)送設(shè)備將讀取NACK(不確認(rèn)),其在高SCL期間是高SDA. TC-RTC固件使用SMBus接口作為從器件,從器件地址為0xD0.可以通過修改”F30x_TCRTC_Interface.h”中的SLA_ADD宏定義來更改此設(shè)置.
實時時鐘(RTC)用于許多需要跟蹤時間和日期信息的應(yīng)用中.將專用RTC器件添加到電路板的常見解決方案會增加BOM成本并增加電路板空間.更好,更具成本效益的替代方案是將RTC功能實現(xiàn)到微控制器中,該微控制器也執(zhí)行其他有用的任務(wù).溫度補(bǔ)償實時時鐘(TC-RTC)參考設(shè)計是一個完整的RTC解決方案,包括實現(xiàn)具有全時鐘和日歷功能以及溫度補(bǔ)償?shù)腞TC所需的所有固件和硬件.與涉及提供類似功能的專用RTC的解決方案相比,該解決方案可顯著節(jié)省成本.
TC-RTCRD固件實現(xiàn)以下功能:
1.實時時鐘,計算秒,分,小時,日期,星期幾,月和年,閏年補(bǔ)償有效期至2099年
2.溫度引起的晶振頻率變化的自動時間補(bǔ)償
3.56字節(jié)NVRAM,數(shù)據(jù)存儲在內(nèi)部閃存中
4.SMBus/I2C接口或UART接口,具體取決于加載的固件
5.1/2Hz速率的方波輸出信號
硬件概述:
TC-RTC參考設(shè)計硬件實現(xiàn)為評估板,如圖1所示.使用連接到定時器輸入的外部32kHz晶振作為RTC的時鐘源.RTC評估板提供兩個接口-UART和SMBus/I2C. 這是一款小型混合信號MCU,具有豐富的功能集.下面列出了本參考設(shè)計中使用的MCU的功能:
1.高速8051內(nèi)核,25MHz時鐘,可提供高達(dá)25MIPS的吞吐量
2.8kB閃存(在系統(tǒng)可編程)和256字節(jié)內(nèi)部數(shù)據(jù)RAM
3.25MHz內(nèi)部振蕩器和外部晶振/石英晶體振蕩器輸入
4.8位500kspsADC
5.片上溫度傳感器
6.硬件增強(qiáng)的UART和SMBus串口
7.三個通用16位計數(shù)器/定時器
8.使用定時器和外部時鐘源的實時時鐘模式
有關(guān)該MCU的更多詳細(xì)信息,請參閱本設(shè)計中使用的C8051F300MCU的引腳連接如圖2所示.電路板原理圖和材料清單包含在”溫度補(bǔ)償實時時鐘參考設(shè)計套件用戶指南”中.
圖2.TC-RTCC8051F300MCU引腳連接
1.環(huán)境溫度
2.晶瑩剔透
3.供電電壓
其中,影響晶體頻率的主要因素是環(huán)境溫度.圖3顯示了諧振器頻率隨溫度變化的曲線圖.從拋物線曲線可以看出,如果溫度從室溫值(25°C)升高或降低,RTC將浪費時間.注意,RTC永遠(yuǎn)不會有由溫度變化(即增益時間)引起的正誤差,因為最大頻率是室溫.
圖3.拋物線溫度曲線
△f/f=0.04ppmx(△T)2
△T=環(huán)境溫度-25ºC
計算時間補(bǔ)償:
TC-RTC參考設(shè)計固件每分鐘重復(fù)以下步驟一次,以計算和累計丟失的時間.
1.ADC用于測量片內(nèi)溫度傳感器的芯片溫度.”3.3.計算環(huán)境溫度”描述了所涉及的計算.
2.然后使用ADC測量的值計算以ppm為單位的偏差,并將結(jié)果存儲在存儲器中.這表示需要補(bǔ)償?shù)奈⒚霐?shù).
在24小時結(jié)束時,總累積誤差被加到RTC時間以完成補(bǔ)償過程.假設(shè)溫度在一分鐘內(nèi)沒有廣泛變化.片上溫度傳感器產(chǎn)生的電壓輸出與'F300芯片的絕對溫度成正比,如圖4所示.該電壓與芯片溫度之間的典型關(guān)系如下所示=×TEMPc+897mV
VTEMP是溫度傳感器電壓輸出(mV)
TEMPC是模具溫度(ºC) RTC寄存器和非易失性用戶RAM:
圖5顯示了RTC寄存器和NVRAM的地址.RTC寄存器存儲當(dāng)前時間和日期信息.這些寄存器保存在'F300器件內(nèi)部易失性RAM中. TC-RTC還提供一個56字節(jié)的用戶NVRAM,存儲在'F300設(shè)備內(nèi)部閃存中.這可以用作通用非易失性存儲區(qū)域.Flash NVRAM的當(dāng)前值始終鏡像在RAM中的56字節(jié)陣列中.這是因為'F300閃存只能在512字節(jié)的頁面中擦除.因此,將一個或多個字節(jié)寫入NVRAM是一個三步過程-首先將字節(jié)寫入RAM陣列,擦除Flash頁面,將56字節(jié)陣列從RAM復(fù)制到閃存.
該NVRAM的一個有用的應(yīng)用是在電源故障之前存儲時間和日期信息.存儲的信息稍后可用于調(diào)試或其他目的.為此,應(yīng)監(jiān)控電源線,一旦檢測到跌落,應(yīng)從RTC寄存器讀取時間和日期信息并寫入NVRAM.這應(yīng)該由外部設(shè)備管理,而不是由TC-RTC固件自動完成.
圖5.RTC和NVRAM寄存器
ADC配置為使用溫度傳感器作為正輸入,接地作為負(fù)輸入.VDD用作參考有源晶振電壓,SAR轉(zhuǎn)換時鐘設(shè)置為5MHz.可編程增益放大器(PGA)設(shè)置為增益2.通過收集和平均溫度傳感器輸出的65536(64k)樣本,執(zhí)行過采樣以提高測量精度.首次對TC-RTC板供電-在加載固件后,執(zhí)行1點偏移校準(zhǔn),如下所示:
1.等待15秒(浸泡時間).這允許模具加熱到正常的操作溫度.
2.使用上述ADC設(shè)置測量溫度傳感器輸出.注意:校準(zhǔn)測量假設(shè)芯片溫度為28ºC.
3.將測量值存儲在非易失性閃存中.
定時器配置:
'F300MCU有三個通用定時器.所有這三個定時器都由TC-RTC固件使用.定時器配置并用于以下目的:
1.Timer0-用于提供SMBusSCL低超時.
2.Timer1-用作UART波特率發(fā)生器,或用于SMBus空閑超時(SCL高)檢測.
3.Timer2-它使用外部振蕩器作為時鐘源,用于RTC時間測量.
4.4.UART接口
TC-RTC提供的UART接口是一個簡單的2線接口,僅使用TXD和RXD線路.它支持三個命令.
SMBus界面:
可以進(jìn)行兩種類型的數(shù)據(jù)傳輸:從主發(fā)送器到尋址的從接收器(WRITE)的數(shù)據(jù)傳輸,以及從尋址的從發(fā)送器到主接收器(READ)的數(shù)據(jù)傳輸.主器件啟動兩種類型的數(shù)據(jù)傳輸,并在SCL上提供串行時鐘脈沖.SMBus接口可以作為主設(shè)備或從設(shè)備運行,并且支持同一總線上的多個主設(shè)備.如果兩個或多個主設(shè)備嘗試同時啟動數(shù)據(jù)傳輸,則采用仲裁方案,其中單個主設(shè)備總是贏得仲裁.
典型的SMBus事務(wù)包括START條件后跟地址字節(jié)(Bits7-1:7位從機(jī)地址;Bit0:R/W方向位),一個或多個字節(jié)數(shù)據(jù)和STOP條件.在高SCL期間,必須通過低SDA確認(rèn)(通過主機(jī)或從機(jī))接收的每個字節(jié)(參見圖6).如果接收設(shè)備沒有ACK,則發(fā)送設(shè)備將讀取NACK(不確認(rèn)),其在高SCL期間是高SDA. TC-RTC固件使用SMBus接口作為從器件,從器件地址為0xD0.可以通過修改”F30x_TCRTC_Interface.h”中的SLA_ADD宏定義來更改此設(shè)置.
正在載入評論數(shù)據(jù)...
相關(guān)資訊
- [2024-03-12]FCD-Tech新品FBT0503微型高穩(wěn)定...
- [2024-03-12]FCD-Tech頻率控制元器件產(chǎn)品F25...
- [2024-03-11]QVS石英晶體數(shù)據(jù)手冊QPM2-21AF1...
- [2024-03-11]QVS新產(chǎn)品QCT95-CU3S-26.000發(fā)布...
- [2024-03-08]IQD幾皮法會破壞你的計時準(zhǔn)確性...
- [2024-03-05]GEYER頻率控制元器件產(chǎn)品
- [2024-03-04]Jauch推出JTSxxHC系列可滿足Str...
- [2024-03-02]NEL超低相位噪聲O-CS8系列O-CS8...