中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 高精度的實時時間芯片X1288的原理及應用

        高精度的實時時間芯片X1288的原理及應用

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

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

        引言

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

        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――可編程的頻率輸出??梢暂敵?2.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缺省值
        BATAL1AL000RWELWELRTCF01h

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

        AL1、AL0:報警選擇位。X1288中有兩個報警寄存器。若其中的某一報警時間與實時時鐘相同時,相應的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進行第一次有效寫操作,則應首先使該位為“0”。

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

        為了實現(xiàn)高精度的定時,X1288主要通過芯片內(nèi)部的晶振補償單元的數(shù)字微調(diào)寄存器和模擬微調(diào)寄存器來實現(xiàn)。這兩個寄存器為非易失性的,掉電之后數(shù)據(jù)也不會丟失。數(shù)字微調(diào)寄存器(DTR)應用3位DTR2、DTR1、DTR0來調(diào)節(jié)每秒的計算次數(shù)和平均錯誤,獲得更好的精度。其中DTR2為符號位:DTR2=0,頻率補償為正;DTR2=1,頻率補償為負。DTR1、DTR0是數(shù)值位,DTR1提供1010 -6的調(diào)整范圍。DTR0提供2010 -6的調(diào)節(jié)范圍。三個位組合起來提供-3010 -6~+3010 -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 value0.25pF)+11.0pF

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

        圖3

        3 應用

        3.1 X1288與CPU連接的原理圖

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

        3.2 為實現(xiàn)高精度定時的PCB設計

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

        3.3 軟件介紹

        X1288與CPU的接口方式,遵循標準的I2C總線協(xié)議格式。即首先主器件發(fā)出啟動信號,其次是命令幀、地址幀和數(shù)據(jù)幀格式。所有的命令、數(shù)據(jù)和地址字節(jié)首先傳輸最高位。關于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=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 小結

        實驗證明,X1288多功能高精度與其它時鐘芯片相比,有精度高、功能全、使用靈活簡單,性能價格比極高的特點。在實際應用中,作為低精度計時器的校時,也完全可行。它具有很高的應用價值。



        評論


        相關推薦

        技術專區(qū)

        關閉