關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 高精度的實(shí)時(shí)時(shí)間芯片X1288的原理及應(yīng)用

高精度的實(shí)時(shí)時(shí)間芯片X1288的原理及應(yīng)用

作者: 時(shí)間:2004-12-27 來(lái)源:網(wǎng)絡(luò) 收藏
摘要:介紹的實(shí)時(shí)的主要特點(diǎn)、工作及實(shí)際應(yīng)用。給出具體的內(nèi)部框圖、計(jì)時(shí)精度調(diào)節(jié)、定時(shí)的PCB設(shè)計(jì)和讀寫操作的基本程序。

關(guān)鍵詞:RTC 精度調(diào)節(jié)

引言

是Xicor公司最新推出的高精度多功能。除了提供高精度的時(shí)間外,還提供了片內(nèi)的32K8位的EEPROM、看門狗、2個(gè)警告和備和電源的自動(dòng)切換、頻率輸出等大量實(shí)用的功能。由于它使用的外部晶振可以選用低價(jià)格的32.768kHz晶體振蕩器,所以芯片的價(jià)格便宜。它提供的時(shí)間分辨率為1/100s,以及小于510 -6的年變化率,使得它得以在手機(jī)、POS設(shè)備、智能儀表、控制裝置及其它電子領(lǐng)域中得以廣泛的應(yīng)用,而且還可以作為低精度儀表的時(shí)間校準(zhǔn)。

1 X1288簡(jiǎn)介

X1288的引腳如圖1所示。

X1288共有兩種封裝形式:一種是16引腳的SOIC封裝(表面幀式),另一種為14引腳的TSSOP封裝(雙列直插式)。

圖1

X1,X2:外接32.768kHz晶振的引腳。

RESET:復(fù)位信號(hào)輸出,作為看門狗時(shí)使用。

Vss:數(shù)字地。

SDA:用于串行傳輸數(shù)據(jù)的輸入與輸出雙向引腳。引腳為開漏輸出,因此需要接上拉電阻,線上的傳輸速度最高達(dá)400kHz。

SCL:串行時(shí)鐘輸入腳。

PHZ/IRQ:多功能復(fù)用引腳。

功能1――可編程的頻率輸出??梢暂敵?2.768kHz、100Hz、1Hz或不激活四種狀態(tài)。

功能2――中斷輸出。提醒上位機(jī)一個(gè)定時(shí)警告已產(chǎn)生,低電平表示激活。

VBACK:后備支撐電源引腳輸入端。

Vcc:主電源。

NC:無(wú)內(nèi)部連接。

2 X1288的內(nèi)部框圖及其工作

X1288內(nèi)部由振蕩電路、分頻電路、計(jì)時(shí)單元、晶振補(bǔ)償單元、時(shí)間保存寄存器、警告寄存器、256Kb EEPROM、狀態(tài)寄存器、控制寄存器、串行接口譯碼器、控制譯 碼單元、看門狗定時(shí)器、低電平復(fù)位電路等組成。內(nèi)部框圖如圖2所示。

圖2

由于上位機(jī)是通過控制X1288的各寄存器對(duì)芯片進(jìn)行操作的。因此,主要介紹內(nèi)部寄存器及實(shí)現(xiàn)高精度定時(shí)的調(diào)節(jié)原理。

X1288內(nèi)部共有可用的寄存器64個(gè),其中0x00~0x37和0x3f已經(jīng)使用。分別為狀態(tài)寄存器、時(shí)間寄存器、控制寄存器、報(bào)警寄存器0、報(bào)警寄存器1。

2.1 主要寄存器介紹

狀態(tài)寄存器(SR)是易失性的,其地址是03H,命令格式如下:

位7位6位5位4位3位2位1位0缺省值
BATAL1AL000RWELWELRTCF01h

BAT:后備電源標(biāo)志。BAT為“1”,表明器件在使用后備電源。

AL1、AL0:報(bào)警選擇位。X1288中有兩個(gè)報(bào)警寄存器。若其中的某一報(bào)警時(shí)間與實(shí)時(shí)時(shí)鐘相同時(shí),相應(yīng)的AL1和AL0位將變?yōu)椤?”;當(dāng)讀取SR的值后,該位又變?yōu)椤?”。

RWEL:時(shí)鐘/控制寄存器寫入控制位。對(duì)控制寄存器進(jìn)行寫操作時(shí),必須先使該位為“1”。

WEL:控制寄存器和內(nèi)部的EEPROM的寫入控制位。在對(duì)它們進(jìn)行寫操作時(shí),必須先使該位為“1”。但是要對(duì)它進(jìn)行寫,先要寫RWE1位為“1”,即先寫“02H”到狀態(tài)寄存器,再寫“06H”到狀態(tài)寄存器才可以。

RTCF:掉電標(biāo)志位。當(dāng)全部電源包括Vcc和VBACK失效后,該閏變?yōu)椤?”;而在系統(tǒng)再次上電后,如果要對(duì)RTC進(jìn)行第一次有效寫操作,則應(yīng)首先使該位為“0”。

2.2 計(jì)時(shí)精度調(diào)節(jié)原理

為了實(shí)現(xiàn)高精度的定時(shí),X1288主要通過芯片內(nèi)部的晶振補(bǔ)償單元的數(shù)字微調(diào)寄存器和模擬微調(diào)寄存器來(lái)實(shí)現(xiàn)。這兩個(gè)寄存器為非易失性的,掉電之后數(shù)據(jù)也不會(huì)丟失。數(shù)字微調(diào)寄存器(DTR)應(yīng)用3位DTR2、DTR1、DTR0來(lái)調(diào)節(jié)每秒的計(jì)算次數(shù)和平均錯(cuò)誤,獲得更好的精度。其中DTR2為符號(hào)位:DTR2=0,頻率補(bǔ)償為正;DTR2=1,頻率補(bǔ)償為負(fù)。DTR1、DTR0是數(shù)值位,DTR1提供1010 -6的調(diào)整范圍。DTR0提供2010 -6的調(diào)節(jié)范圍。三個(gè)位組合起來(lái)提供-3010 -6~+3010 -6的調(diào)節(jié)。模擬微調(diào)寄存器(ATR)共有ATR5~ATR0的6個(gè)模擬微調(diào)位,用于調(diào)節(jié)芯片內(nèi)加載電容的大小。加載電容的大小為3.25pF~18.75pF。內(nèi)部電容大小的計(jì)算公式如下:

CATR=(ATR value0.25pF)+11.0pF

典型可調(diào)節(jié)的晶振頻率范圍上下偏差為+11610 -6~-3710 -6。兩個(gè)微調(diào)寄存器相結(jié)合,最大可調(diào)節(jié)+14610 -6,實(shí)現(xiàn)高精度的定時(shí)微調(diào)。

圖3

3 應(yīng)用

3.1 X1288與CPU連接的原理圖

X1288與89C92的連接比較簡(jiǎn)單,如圖3所示。有點(diǎn)要注意的是,在SCL、SDA和RESET引腳要接上拉電阻。

3.2 為實(shí)現(xiàn)高精度定時(shí)的PCB設(shè)計(jì)

由于X1288的晶振輸入引腳X1的輸入阻抗非常高,會(huì)從電路板上的其它電路中拾取高頻信號(hào);同時(shí),輸入引腳X2接晶振的另外一個(gè)引腳,它也是一個(gè)敏感節(jié)點(diǎn)。另外,高頻的噪聲信號(hào)能夠從兩個(gè)節(jié)點(diǎn)注入晶振電路,產(chǎn)生雙倍的時(shí)鐘或雜亂的時(shí)鐘信號(hào),嚴(yán)重影響定時(shí)器的精確定。因此,需要小心設(shè)計(jì)的電路的布線,以避免哭聲信號(hào)的拾取。在設(shè)計(jì)中,連接到X1、X2的晶振引腳要盡可能的短,而且最好在晶振周圍布上寬的地線,以減少噪聲的侵入。但是,在X1、X2引腳邊要避免布地線,以防止增加X1、X2引腳的輸入負(fù)載電容。還有,在Vcc與地線之間一定要接上一個(gè)非極性的電容。典型的布線如圖4所示。

3.3 軟件介紹

X1288與CPU的接口方式,遵循標(biāo)準(zhǔn)的I2C總線協(xié)議格式。即首先主器件發(fā)出啟動(dòng)信號(hào),其次是命令幀、地址幀和數(shù)據(jù)幀格式。所有的命令、數(shù)據(jù)和地址字節(jié)首先傳輸最高位。關(guān)于I2C總線的格式在各種論文中已有詳細(xì)描述。以下是C51對(duì)X1288進(jìn)行基本操作的程序。

(1)讀X1288的程序

uchar Read_x1288(void)/*讀一個(gè)字節(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=temp0xfe; /*否則temp的最低位清0*/

if(BitCounter-1)

{temp=temp1;}

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=temp1;

BitCounter--;

}while(BitCounter);

Scl_x1288=Low;}

4 小結(jié)

實(shí)驗(yàn)證明,X1288多功能高精度與其它時(shí)鐘芯片相比,有精度高、功能全、使用靈活簡(jiǎn)單,性能價(jià)格比極高的特點(diǎn)。在實(shí)際應(yīng)用中,作為低精度計(jì)時(shí)器的校時(shí),也完全可行。它具有很高的應(yīng)用價(jià)值。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉