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