新聞中心

EEPW首頁 > 電源與新能源 > 設計應用 > 基于實時時鐘芯片X1227的電源控制器設計

基于實時時鐘芯片X1227的電源控制器設計

作者: 時間:2004-12-06 來源:網(wǎng)絡 收藏
摘要:介紹多功能X1228的內(nèi)部結構、功能、特點以及在開放式實驗室管理系統(tǒng)中部分的應用。

關鍵詞: I2C接口 單片機

引言

X1228是美國XICOR公司最新推出的(RTC)。與其它RTC相比,X1228除有基本的時鐘和報警功能外,還有4K位E2PROM存儲器和復位輸出、電壓監(jiān)控、看門狗定時、頻率輸出等功能。

X1228可以準確地用秒、分、時、日、星期、月、年來顯示時間和日期,具有世紀字節(jié),解決了兩千年問題,自動實現(xiàn)閏年調(diào)整;有2路報警,可設置為按秒、分、時、日、月和星期任意組合的定時報警;還有1個可編程的頻率輸出引腳(PHZ),用于輸出一個固定頻率的方波信號;內(nèi)部的4K位E2PROM存儲器,可用于存儲用戶的設置參數(shù)或其它數(shù)據(jù),其內(nèi)容在失效時不會丟失;采用I2C總線與單片機接口,一次可傳送多個字節(jié)的數(shù)據(jù),數(shù)據(jù)傳送的速率為400kHz;內(nèi)部有電源監(jiān)控電源監(jiān)控電路,用于監(jiān)測電源電壓,并能在上電和掉電時輸出復位信號,片內(nèi)的看門狗定時器可編程為3個超時時間和關閉,還提供一個備用電源輸入引腳(VBACK),接一電池作為備用電源,可在主電源(VCC)失效時保證芯片正常工作和時鐘的連續(xù)運行。X1228因其計時準確、體積小、功能強,且與單片機接口方便、性價比高,在我們研制的開放式實驗室管理系統(tǒng)電源中得到了有效的應用。

圖1 X1228內(nèi)部結構框圖

1 X1228的內(nèi)部結構及工作原理

實時時鐘芯片X1228的內(nèi)部結構如圖1所示,按功能基本分為實時時鐘及報警、存儲器和復位監(jiān)控電路3個主要部分。

1.1 實時時鐘及報警

X1228對時鐘和報警的訪問和設置都是通過時鐘/控制寄存器CCR來實現(xiàn)的。CCR分為五個部分:

①報警寄存器0(Alarm 0)為8字節(jié),地址0000H~0007H,非易失性E2PROM存儲器;

②報警寄存器1(Alarm 1)為8字節(jié),地址0008~000FH,非易失性E2PROM存儲器;

③控制寄存器(Control)為4字節(jié),地址0010H~0013H,非易失性E2PROM存儲器;

④實時時鐘(RTC)為8字節(jié),地址0030H~0037H,易失性RAM存儲器;

⑤狀態(tài)寄存器(Status)為1字節(jié),地址為003FH,易失性RAM存儲器。

實時時鐘(RTC)外部僅使用1個32.768kHz晶體來保持年、月、星期、日、時、分和秒的精確的內(nèi)部表示。啟動讀命令并指定對應于RTC寄存器的地址可以讀RTC,也可以通過寫RTC寄存器來設置時間和日期。模擬微調(diào)寄存器ATR(低6位)用來調(diào)整X1和X2引腳間的片內(nèi)負載電容,為5~39.5pF,這將使晶體選擇有較大的余地。數(shù)字微調(diào)寄存器DTR(低3位)用來調(diào)整RTC的誤差,達到長時間的高精度。

兩組報警寄存器的結構與內(nèi)容和RTC寄存器相同,只是增加了使能位(在MSB位)。通過使能位和實時寄存器的設置,可以確定報警時間。例如:在表1中,通過把EDWn、EHRn、EMNn使能位置“1”,并把DWAn、HRAn、MNAn報警警察寄存器置為星期三8:00AM,即把X1228設置為每星期三8:00AM報警。當把EHRn、EMNn使能位置“1”,并把HRAn、MNAn報警寄存器置為9:15PM時,即把X1228設置為每天9:15PM報警。設置EMOn,并結合其它使能位和特定的報警時間,用戶可以把X1228設置為每年同樣的時間報警。控制寄存器INT中位IM為中斷方式位,“0”為中斷方式,“1”為脈沖方式;位AL1E和AL0E分別用來使能報警中斷信號IRQ的輸出;位FO1和FO0為可編程頻率輸出控制位,用來選擇PHZ引腳上的振蕩頻率輸出。

表1 時鐘/控制寄存器CCR映像表

地址名稱D7D6D5D4D3D2D1D0范圍
003FHSRBATAL1AL000RWELWELRTCF 
0037HY2K00Y2K21Y2K20Y2K1300Y2K1019/20
0036HDW00000DY2DY1DY00~6
0035HYRY23Y22Y21Y20Y13Y12Y11Y100~99
0034HMO000G20G3G12G11G101~12
0033HDT00D21D20D13D12D11D101~31
0032HHRT240H21H20H13H12H11H100~23
0031HMN0M22M21M20M13M12M11M100~59
0030HSC0S22S21S20S13S12S11S100~59
0013HDTR00000DTR2DTR1DTR0 
0012HATR00ATR5ATR4ATR3ATR2ATR1ATR0 
0011HINTIMAL1EAL0EF01F00XXX 
0010HBLBP2BP1BP0WD1WD0000 
000FHY2K100A1Y2K21A1Y2K20A1Y2K1300A1Y2K1019/20
000EHDWA1EDW10000DY2DY1DY00~6
000DH未使用,默認為RTC年字節(jié)(YR)
000CHMOA1EMO100A1G20A1G13A1G12A1G11A1G101~12
000BHDTA1EDT10A1D21A1D20A1D13A1D12A1D11A1D101~31
000AHHRA1EHR10A1H21A1H20A1H13A1H12A1H11A1H100~23
0009HMNA1EMN1A1M22A1M21A1M20A1M13A1M12A1M11A1M100~59
0008HSCA1ESC1A1S22A1S21A1S20A1S13A1S12A1S11A1S100~59
0007HY2K000A0Y2K21A0Y2K20A0Y2K1300A0Y2K1019/20
0006HDWA0EDW00000DY2DY1DY00~6
0005H未使用,默認為RTC年字節(jié)(YR)
0004HMOA0EMO000A0G20A0G13A0G12A0G11A0G101~12
0003HDTA0EDT00A0D21A0D20A0D13A0D12A0D11A0D101~31
0002HHRA0EHR00A0H21A0H20A0M13A0D12A0D11A0M100~23
0001HMNA0EMN0A0M22A0M21A0M20A0M13A0M12A0M11A0M100~59
0000HSCA0ESC0A0S22A0S21A0S20A0S13A0S12A0S11A0S100~59

狀態(tài)寄存器SR中位BAT為“1”,表示由電池VBACK供電,硬件置位/復位;位AL1、AL0為報警指示位,“1”為發(fā)生報警,狀態(tài)寄存器讀操作復位讀標志;位RWEL為寄存器寫使能鎖存,位WEL為寫使能鎖存,上電時均為“0”,禁止狀態(tài)。注意:要對CCR或存儲器進行任何非易失性寫操作,須首先寫“02H”至SR,將WEL位置“1”,其次寫“06H”至SR,將RWEL和WEL都置“1”,然后才能寫實際數(shù)據(jù)到CCR或存儲器。

1.2 復位監(jiān)控電路與看門狗定時器

X1228電源控制電路接收從Vcc和VBACK引腳輸入的電源,當VccVBACK-0.2V時,電源控制電路將電源自動切換至VBACK。上電時,在Vcc超過復位門限值250ms后,RESET腳產(chǎn)生一個200ms的低電平脈沖為系統(tǒng)提供復位信號。X1228內(nèi)部有一個檢測預置門限電壓的比較器監(jiān)視Vcc引腳上的電壓,當發(fā)生電源失效時,在RESET腳發(fā)出一個復位脈沖。注意:當產(chǎn)生復位脈沖時,正在進行的任何非易失性寫操作不受影響,繼續(xù)操作直到完成。

看門狗定時器可通過向BL寄存器中WD1、WD0這兩位的“寫入”,設置為3種不同超時間隔或不工作,“00”為1.75s,“01”為750ms,“10”為250ms,“11”為不工作??撮T狗啟動時,必須在規(guī)定間隔內(nèi)對它進行刷新,方法是在SCL線為高時SDA線產(chǎn)生下降沿。如果看門狗在規(guī)定間隔內(nèi)沒有被刷新,則RESET腳變?yōu)橛行АW⒁猓喝绻褂瞄_始條件來刷新看門狗定時器,必須跟著一個結束條件以復位X1228。

1.3 存儲器訪問

X1228支持I2C總線協(xié)議,與CPU的連接很簡單。如圖2所示,AT89C51為主器件,X1228為從器件。SCL為串行移位時鐘輸入,P3.4接SCL模擬時鐘信號;SDA為串行數(shù)據(jù)輸入輸出,P3.5與SDA相連以實現(xiàn)AT89C51與X1229的數(shù)據(jù)通信。X1228工作在中斷方式,由IRO引腳定時發(fā)出中斷信號,作為AT89C51 INT1的輸入信號。

主器件在發(fā)出開始條件后必須接著輸出一個地址字節(jié)。從地址字節(jié)的高4位是標識位,規(guī)定了訪問E2PROM陣列還是訪問CCR,“1010”表示訪問E2PROM陣列,“1101”表示訪問CCR;從地址字節(jié)的位3~位1是選擇位(I2C器件級聯(lián)時使用),X1228這3位總是“111”;從地址字節(jié)的最后一位R/W位定義操作類型。

塊保護控制寄存器BL中位BP2、BP1、BP0決定了E2PROM存儲器陣列中哪些塊是寫保護的,“000”表示“無寫保護”,“001”表示地址0180H~01FFH寫保護,“010”表示地址0100H~01FFH寫保護,“011”表示“全地址寫保護”,“100”表示地址0000H~003FH(第1頁)寫保護,“101”表示地址0000H~007FH(前2頁)寫保護,“110”表示地址0000H~00FFH(前4頁)寫保護,“111”表示地址0000H~01FFH(前8頁)寫保護。

對X1228存儲器的訪問有隨機讀、順序讀、當前地址讀和字節(jié)寫、頁寫等,其操作均與標準I2C總線器件相同,在此不作重述。

2 X1228在電源控制器中的應用

為了充分利用實驗室資源,讓學生能夠自主選擇實驗內(nèi)容與時間,從而激發(fā)學生積極參與科學實驗的興趣,提高分析問題、解決問題的能力,同時也為了緩解近年來高校擴招對實驗室的壓力,實現(xiàn)高校部分實驗室的開放式管理勢在必行。我們研制的開放式實驗室管理系統(tǒng),再配上有經(jīng)驗的指導教師精心制作的實驗教學課件,為實驗室的無人值守化管理提供了物質(zhì)基礎。該開放式實驗室管理系統(tǒng)由一個管理中心和一個門禁控制器及若干個實驗組電源控制器組成,系統(tǒng)框圖如圖3所示。學生進入開放式實驗室做實驗,必須先刷卡,得到允許后方可進入。若實驗時間超過預定時間(前10分鐘發(fā)提示警告信息),則實驗組儀器設備的供電會自動切斷。

管理中心由1臺計算機、報表打印機和管理軟件組成。完成的功能有:①IC卡的發(fā)放、實驗室儀器設備配置情況和實驗安排情況預置;②通過門禁控制器獲取實驗學生的有關信息,根據(jù)存儲在機內(nèi)的儀器設備使用配置情況及預置的實驗安排情況,決策該學生當前是否能參與實驗并分配實驗組號;③向門禁控制器回發(fā)信息;④若允許學生進入實驗室,則發(fā)指令至相應的實驗組電源控制器,以便及時為該組儀器設備供電;⑤對學生實驗時間、儀器設備使用情況進行存儲管理,為實驗指導教師掌握學生實驗情、實驗技術人員進行儀器設備的維護維修提供依據(jù);⑥各種報表輸出。

門禁控制器主要負責:①對學生所持有的IC卡刷卡,以獲取與實驗有關的信息,通過RS485總線傳輸至上位機,以決定是否允許該學生進入實驗室;②接收上位機發(fā)來的允許否信息,通過LCD顯示器顯示并執(zhí)行;③學生實驗完畢,需再次刷卡,并通過門禁控制器所攜帶的小鍵盤,對實驗組儀器則認為該實驗在規(guī)定時間內(nèi)未完成,需重做。

實驗組電源控制器主要是接收上位機指令,控制每個實驗組儀器設備的供電情況,并在預定實驗結束時間的前10分鐘向?qū)W生發(fā)提示報警信息。

在實驗組電源控制器中,我們采用了AT89C51單片機控制實時時鐘芯片X1228(如圖2)來實現(xiàn)對每個實驗組儀器設備的供電情況定時控制,采用OCMJ2X8的LCD顯示模塊顯示實時時間。AT89C51從串行口接收來自PC的2字節(jié)命令,由P1.5輸出高電平,通過一只固態(tài)繼電器(SSR)SAP4010來接通220V交流供電電路;接收8字節(jié)BCD碼,寫入X1228的RTC寄存器,對X1228進行校時;從串行口接收8字節(jié)寫入Alarm0來設置X1228的報警輸出,在單片機的外中斷1服務程序中,通過P3.2口接的1只有源訊響器,在預定實驗結束時間的前10分鐘向?qū)W生發(fā)提示報警信息;實驗時間到,P1.5輸出高電平,通過SAP4010切斷220V交供電電流。管理中心上位機與電源控制器之間采用MAX3082構成的RS485總線進行通信。因總線上允許最大節(jié)點數(shù)為256個,故完全能滿足實際應用需要。

結語

在開放式實驗室管理系統(tǒng)的電源控制器中,由于采用了I2C總線的實時時鐘芯片X1228,它集成時時鐘、報警輸出、電源監(jiān)控和看門狗定時器于一體,從而大大減小了系統(tǒng)成本和電路板空間。該電源控制器若稍做改進,也可廣泛地應用地需要進行定時開關機的家用電器中。



評論


相關推薦

技術專區(qū)

關閉