- 相關(guān)推薦
高精度的實時時間芯片X1288的原理及應(yīng)用
摘要:介紹高精度的實時時間芯片X1288的主要特點、工作原理及實際應(yīng)用。給出具體的內(nèi)部框圖、計時精度調(diào)節(jié)原理、高精度定時的PCB設(shè)計和讀寫操作的基本程序。關(guān)鍵詞:RTC X1288 高精度 精度調(diào)節(jié)
引言
X1288是Xicor公司最新推出的高精度多功能時間芯片。除了提供高精度的時間外,還提供了片內(nèi)的32K×8位的EEPROM、看門狗、2個警告和備和電源的自動切換、頻率輸出等大量實用的功能。由于它使用的外部晶振可以選用低價格的32.768kHz晶體振蕩器,所以芯片的價格便宜。它提供的時間分辨率為1/100s,以及小于5×10 -6的年變化率,使得它得以在手機、POS設(shè)備、智能儀表、控制裝置及其它電子領(lǐng)域中得以廣泛的應(yīng)用,而且還可以作為低精度儀表的時間校準。
1 X1288簡介
X1288的引腳如圖1所示。
X1288共有兩種封裝形式:一種是16引腳的SOIC封裝(表面幀式),另一種為14引腳的TSSOP封裝(雙列直插式)。
圖1
X1,X2:外接32.768kHz晶振的引腳。
RESET:復位信號輸出,作為看門狗時使用。
Vss:數(shù)字地。
SDA:用于串行傳輸數(shù)據(jù)的輸入與輸出雙向引腳。引腳為開漏輸出,因此需要接上拉電阻,線上的傳輸速度最高達400kHz。
SCL:串行時鐘輸入腳。
PHZ/IRQ:多功能復用引腳。
功能1——可編程的頻率輸出?梢暂敵32.768kHz、100Hz、1Hz或不激活四種狀態(tài)。
功能2——中斷輸出。提醒上位機一個定時警告已產(chǎn)生,低電平表示激活。
VBACK:后備支撐電源引腳輸入端。
Vcc:主電源。
NC:無內(nèi)部連接。
2 X1288的內(nèi)部框圖及其工作原理
X1288內(nèi)部由振蕩電路、分頻電路、計時單元、晶振補償單元、時間保存寄存器、警告寄存器、256Kb EEPROM、狀態(tài)寄存器、控制寄存器、串行接口譯碼器、控制譯 碼單元、看門狗定時器、低電平復位電路等組成。內(nèi)部框圖如圖2所示。
圖2
由于上位機是通過控制X1288的各寄存器對芯片進行操作的。因此,主要介紹內(nèi)部寄存器及實現(xiàn)高精度定時的調(diào)節(jié)原理。
X1288內(nèi)部共有可用的寄存器64個,其中0x00~0x37和0x3f已經(jīng)使用。分別為狀態(tài)寄存器、時間寄存器、控制寄存器、報警寄存器0、報警寄存器1。
2.1 主要寄存器介紹
狀態(tài)寄存器(SR)是易失性的,其地址是03H,命令格式如下:
位7 位6 位5 位4 位3 位2 位1 位0 缺省值 BAT AL1 AL0 0 0 RWEL WEL RTCF 01hBAT:后備電源標志。BAT為“1”,表明器件在使用后備電源。
AL1、AL0:報警選擇位。X1288中有兩個報警寄存器。若其中的某一報警時間與實時時鐘相同時,相應(yīng)的AL1和AL0位將變?yōu)椤?”;當讀取SR的值后,該位又變?yōu)椤?”。
RWEL:時鐘/控制寄存器寫入控制位。對控制寄存器進行寫操作時,必須先使該位為“1”。
WEL:控制寄存器和內(nèi)部的EEPROM的寫入控制位。在對它們進行寫操作時,必須先使該位為“1”。但是要對它進行寫,先要寫RWE1位為“1”,即先寫“02H”到狀態(tài)寄存器,再寫“06H”到狀態(tài)寄存器才可以。
RTCF:掉電標志位。當全部電源包括Vcc和VBACK失效后,該閏變?yōu)椤?”;而在系統(tǒng)再次上電后,如果要對RTC進行第一次有效寫操作,則應(yīng)首先使該位為“0”。
2.2 計時精度調(diào)節(jié)原理
為了實現(xiàn)高精度的定時,X1288主要通過芯片內(nèi)部的晶振補償單元的數(shù)字微調(diào)寄存器和模擬微調(diào)寄存器來實現(xiàn)。這兩個寄存器為非易失性的,掉電之后數(shù)據(jù)也不會丟失。數(shù)字微調(diào)寄存器(DTR)應(yīng)用3位DTR2、DTR1、DTR0來調(diào)節(jié)每秒的計算次數(shù)和平均錯誤,獲得更好的精度。其中DTR2為符號位:DTR2=0,頻率補償為正;DTR2=1,頻率補償為負。DTR1、DTR0是數(shù)值位,DTR1提供10×10 -6的調(diào)整范圍。DTR0提供20×10 -6的調(diào)節(jié)范圍。三個位組合起來提供-30×10 -6~+30×10 -6的調(diào)節(jié)。模擬微調(diào)寄存器(ATR)共有ATR5~ATR0的6個模擬微調(diào)位,用于調(diào)節(jié)芯片內(nèi)加載電容的大小。加載電容的大小為3.25pF~18.75pF。內(nèi)部電容大小的計算公式如下:
CATR=(ATR value×0.25pF)+11.0pF
典型可調(diào)節(jié)的晶振頻率范圍上下偏差為+116×10 -6~-37×10 -6。兩個微調(diào)寄存器相結(jié)合,最大可調(diào)節(jié)+146×10 -6,實現(xiàn)高精度的定時微調(diào)。
圖3
3 應(yīng)用
3.1 X1288與CPU連接的原理圖
X1288與89C92的連接比較簡單,如圖3所示。有點要注意的是,在SCL、SDA和RESET引腳要接上拉電阻。
3.2 為實現(xiàn)高精度定時的PCB設(shè)計
由于X1288的晶振輸入引腳X1的輸入阻抗非常高,會從電路板上的其它電路中拾取高頻信號;同時,輸入引腳X2接晶振的另外一個引腳,它也是一個敏感節(jié)點。另外,高頻的噪聲信號能夠從兩個節(jié)點注入晶振電路,產(chǎn)生雙倍的時鐘或雜亂的時鐘信號,嚴重影響定時器的精確定。因此,需要小心設(shè)計的電路的布線,以避免哭聲信號的拾取。在設(shè)計中,連接到X1、X2的晶振引腳要盡可能的短,而且最好在晶振周圍布上寬的地線,以減少噪聲的侵入。但是,在X1、X2引腳邊要避免布地線,以防止增加X1、X2引腳的輸入負載電容。還有,在Vcc與地線之間一定要接上一個非極性的電容。典型的布線如圖4所示。
3.3 軟件介紹
X1288與CPU的接口方式,遵循標準的I2C總線協(xié)議格式。即首先主器件發(fā)出啟動信號,其次是命令幀、地址幀和數(shù)據(jù)幀格式。所有的命令、數(shù)據(jù)和地址字節(jié)首先傳輸最高位。關(guān)于I2C總線的格式在各種論文中已有詳細描述。以下是C51對X1288進行基本操作的程序。
(1)讀X1288的程序
uchar Read_x1288(void)/*讀一個字節(jié)的數(shù)據(jù)*/
{ uchar temp=0;
uchar BitCounter=8;
Scl_x1288=Low;
do{
Scl_x1288=Low;
_nop_();_nop_();
Scl_x1288=High;
_nop_();_nop_();
if(Sda_x1288) /*如果Sda=1;*/
temp=temp|0x01|; /*temp的最低位置1*/
else
temp=temp&0xfe; /*否則temp的最低位清0*/
if(BitCounter-1)(范文先生網(wǎng)www.qkfawen.com收集整理)
{temp=temp<<1;}
BitCounter--;
}while(BitCounter);
Scl_x1288=Low;
return(temp);};
(2)寫x1288的程序
void Write_x1288(uchar TempData)/*寫數(shù)據(jù)子程序*/
{uchar BitCounter=8; /*位數(shù)控制*/
uchar temp; /*中間變量控制*/
temp=TempData;
Scl_x1288=Low;
do{
Scl_x1288=Low;
_nop_();_nop_();
Sda_x1288=((temp & 0x80)?1:0);
_nop_();_nop_();
Scl_x1288=High;
_nop_();_nop_();
temp=temp<<1;
BitCounter--;
}while(BitCounter);
Scl_x1288=Low;}
4 小結(jié)
實驗證明,X1288多功能高精度時間芯片與其它時鐘芯片相比,有精度高、功能全、使用靈活簡單,性能價格比極高的特點。在實際應(yīng)用中,作為低精度計時器的校時,也完全可行。它具有很高的應(yīng)用價值。
【高精度的實時時間芯片X1288的原理及應(yīng)用】相關(guān)文章:
高精度鋰電池監(jiān)測芯片DS2762的原理及應(yīng)用08-06
電機驅(qū)動芯片LMD18200原理及應(yīng)用08-06
藍牙收發(fā)芯片RF2968的原理及應(yīng)用08-06
單片射頻收發(fā)芯片TRF6901的原理與應(yīng)用08-06
高速D/A轉(zhuǎn)換芯片MX7541原理及應(yīng)用08-06
通用異步收發(fā)芯片SCC2691的原理及應(yīng)用08-06
高性能VGA芯片AD8367原理及應(yīng)用08-06
新型高精度時鐘芯片RTL-455308-06