- 相關(guān)推薦
基于實(shí)時(shí)時(shí)鐘芯片X1227的電源控制器設(shè)計(jì)
摘要:介紹多功能實(shí)時(shí)時(shí)鐘芯片X1228的內(nèi)部結(jié)構(gòu)、功能、特點(diǎn)以及在開放式實(shí)驗(yàn)室管理系統(tǒng)中電源控制器部分的應(yīng)用。關(guān)鍵詞:實(shí)時(shí)時(shí)鐘 I2C接口 單片機(jī) 電源控制器
引言
X1228是美國(guó)XICOR公司最新推出的實(shí)時(shí)時(shí)鐘(RTC)芯片。與其它RTC芯片相比,X1228除有基本的時(shí)鐘和報(bào)警功能外,還有4K位E2PROM存儲(chǔ)器和復(fù)位輸出、電壓監(jiān)控、看門狗定時(shí)、頻率輸出等功能。
X1228可以準(zhǔn)確地用秒、分、時(shí)、日、星期、月、年來(lái)顯示時(shí)間和日期,具有世紀(jì)字節(jié),解決了兩千年問(wèn)題,自動(dòng)實(shí)現(xiàn)閏年調(diào)整;有2路報(bào)警,可設(shè)置為按秒、分、時(shí)、日、月和星期任意組合的定時(shí)報(bào)警;還有1個(gè)可編程的頻率輸出引腳(PHZ),用于輸出一個(gè)固定頻率的方波信號(hào);內(nèi)部的4K位E2PROM存儲(chǔ)器,可用于存儲(chǔ)用戶的設(shè)置參數(shù)或其它數(shù)據(jù),其內(nèi)容在電源失效時(shí)不會(huì)丟失;采用I2C總線與單片機(jī)接口,一次可傳送多個(gè)字節(jié)的數(shù)據(jù),數(shù)據(jù)傳送的速率為400kHz;內(nèi)部有電源監(jiān)控電源監(jiān)控電路,用于監(jiān)測(cè)電源電壓,并能在上電和掉電時(shí)輸出復(fù)位信號(hào),片內(nèi)的看門狗定時(shí)器可編程為3個(gè)超時(shí)時(shí)間和關(guān)閉,還提供一個(gè)備用電源輸入引腳(VBACK),接一電池作為備用電源,可在主電源(VCC)失效時(shí)保證芯片正常工作和時(shí)鐘的連續(xù)運(yùn)行。X1228因其計(jì)時(shí)準(zhǔn)確、體積小、功能強(qiáng),且與單片機(jī)接口方便、性價(jià)比高,在我們研制的開放式實(shí)驗(yàn)室管理系統(tǒng)電源控制器中得到了有效的應(yīng)用。
圖1 X1228內(nèi)部結(jié)構(gòu)框圖
1 X1228的內(nèi)部結(jié)構(gòu)及工作原理
實(shí)時(shí)時(shí)鐘芯片X1228的內(nèi)部結(jié)構(gòu)如圖1所示,按功能基本分為實(shí)時(shí)時(shí)鐘及報(bào)警、存儲(chǔ)器和復(fù)位監(jiān)控電路3個(gè)主要部分。
1.1 實(shí)時(shí)時(shí)鐘及報(bào)警
X1228對(duì)時(shí)鐘和報(bào)警的訪問(wèn)和設(shè)置都是通過(guò)時(shí)鐘/控制寄存器CCR來(lái)實(shí)現(xiàn)的。CCR分為五個(gè)部分:
①報(bào)警寄存器0(Alarm 0)為8字節(jié),地址0000H~0007H,非易失性E2PROM存儲(chǔ)器;
②報(bào)警寄存器1(Alarm 1)為8字節(jié),地址0008~000FH,非易失性E2PROM存儲(chǔ)器;
③控制寄存器(Control)為4字節(jié),地址0010H~0013H,非易失性E2PROM存儲(chǔ)器;
④實(shí)時(shí)時(shí)鐘(RTC)為8字節(jié),地址0030H~0037H,易失性RAM存儲(chǔ)器;
⑤狀態(tài)寄存器(Status)為1字節(jié),地址為003FH,易失性RAM存儲(chǔ)器。
實(shí)時(shí)時(shí)鐘(RTC)外部?jī)H使用1個(gè)32.768kHz晶體來(lái)保持年、月、星期、日、時(shí)、分和秒的精確的內(nèi)部表示。啟動(dòng)讀命令并指定對(duì)應(yīng)于RTC寄存器的地址可以讀RTC,也可以通過(guò)寫RTC寄存器來(lái)設(shè)置時(shí)間和日期。模擬微調(diào)寄存器ATR(低6位)用來(lái)調(diào)整X1和X2引腳間的片內(nèi)負(fù)載電容,為5~39.5pF,這將使晶體選擇有較大的余地。數(shù)字微調(diào)寄存器DTR(低3位)用來(lái)調(diào)整RTC的誤差,達(dá)到長(zhǎng)時(shí)間的高精度。
(范文先生網(wǎng)www.gymyzhishaji.com收集整理)
兩組報(bào)警寄存器的結(jié)構(gòu)與內(nèi)容和RTC寄存器相同,只是增加了使能位(在MSB位)。通過(guò)使能位和實(shí)時(shí)寄存器的設(shè)置,可以確定報(bào)警時(shí)間。例如:在表1中,通過(guò)把EDWn、EHRn、EMNn使能位置“1”,并把DWAn、HRAn、MNAn報(bào)警警察寄存器置為星期三8:00AM,即把X1228設(shè)置為每星期三8:00AM報(bào)警。當(dāng)把EHRn、EMNn使能位置“1”,并把HRAn、MNAn報(bào)警寄存器置為9:15PM時(shí),即把X1228設(shè)置為每天9:15PM報(bào)警。設(shè)置EMOn,并結(jié)合其它使能位和特定的報(bào)警時(shí)間,用戶可以把X1228設(shè)置為每年同樣的時(shí)間報(bào)警。控制寄存器INT中位IM為中斷方式位,“0”為中斷方式,“1”為脈沖方式;位AL1E和AL0E分別用來(lái)使能報(bào)警中斷信號(hào)IRQ的輸出;位FO1和FO0為可編程頻率輸出控制位,用來(lái)選擇PHZ引腳上的振蕩頻率輸出。
表1 時(shí)鐘/控制寄存器CCR映像表
狀態(tài)寄存器SR中位BAT為“1”,表示由電池VBACK供電,硬件置位/復(fù)位;位AL1、AL0為報(bào)警指示位,“1”為發(fā)生報(bào)警,狀態(tài)寄存器讀操作復(fù)位讀標(biāo)志;位RWEL為寄存器寫使能鎖存,位WEL為寫使能鎖存,上電時(shí)均為“0”,禁止?fàn)顟B(tài)。注意:要對(duì)CCR或存儲(chǔ)器進(jìn)行任何非易失性寫操作,須首先寫“02H”至SR,將WEL位置“1”,其次寫“06H”至SR,將RWEL和WEL都置“1”,然后才能寫實(shí)際數(shù)據(jù)到CCR或存儲(chǔ)器。
1.2 復(fù)位監(jiān)控電路與看門狗定時(shí)器
X1228電源控制電路接收從Vcc和VBACK引腳輸入的電源,當(dāng)Vcc<VBACK-0.2V時(shí),電源控制電路將電源自動(dòng)切換至VBACK。上電時(shí),在Vcc超過(guò)復(fù)位門限值250ms后,RESET腳產(chǎn)生一個(gè)200ms的低電平脈沖為系統(tǒng)提供復(fù)位信號(hào)。X1228內(nèi)部有一個(gè)檢測(cè)預(yù)置門限電壓的比較器監(jiān)視Vcc引腳上的電壓,當(dāng)發(fā)生電源失效時(shí),在RESET腳發(fā)出一個(gè)復(fù)位脈沖。注意:當(dāng)產(chǎn)生復(fù)位脈沖時(shí),正在進(jìn)行的任何非易失性寫操作不受影響,繼續(xù)操作直到完成。
看門狗定時(shí)器可通過(guò)向BL寄存器中WD1、WD0這兩位的“寫入”,設(shè)置為3種不同超時(shí)間隔或不工作,“00”為1.75s,“01”為750ms,“10”為250ms,“11”為不工作?撮T狗啟動(dòng)時(shí),必須在規(guī)定間隔內(nèi)對(duì)它進(jìn)行刷新,方法是在SCL線為高時(shí)SDA線產(chǎn)生下降沿。如果看門狗在規(guī)定間隔內(nèi)沒(méi)有被刷新,則RESET腳變?yōu)橛行。注意:如果使用開始條件來(lái)刷新看門狗定時(shí)器,必須跟著一個(gè)結(jié)束條件以復(fù)位X1228。
1.3 存儲(chǔ)器訪問(wèn)
X1228支持I2C總線協(xié)議,與CPU的連接很簡(jiǎn)單。如圖2所示,AT89C51為主器件,X1228為從器件。SCL為串行移位時(shí)鐘輸入,P3.4接SCL模擬時(shí)鐘信號(hào);SDA為串行數(shù)據(jù)輸入輸出,P3.5與SDA相連以實(shí)現(xiàn)AT89C51與X1229的數(shù)據(jù)通信。X1228工作在中斷方式,由IRO引腳定時(shí)發(fā)出中斷信號(hào),作為AT89C51 INT1的輸入信號(hào)。
主器件在發(fā)出開始條件后必須接著輸出一個(gè)地址字節(jié)。從地址字節(jié)的高4位是標(biāo)識(shí)位,規(guī)定了訪問(wèn)E2PROM陣列還是訪問(wèn)CCR,“1010”表示訪問(wèn)E2PROM陣列,“1101”表示訪問(wèn)CCR;從地址字節(jié)的位3~位1是選擇位(I2C器件級(jí)聯(lián)時(shí)使用),X1228這3位總是“111”;從地址字節(jié)的最后一位R/W位定義操作類型。
塊保護(hù)控制寄存器BL中位BP2、BP1、BP0決定了E2PROM存儲(chǔ)器陣列中哪些塊是寫保護(hù)的,“000”表示“無(wú)寫保護(hù)”,“001”表示地址0180H~01FFH寫保護(hù),“010”表示地址0100H~01FFH寫保護(hù),“011”表示“全地址寫保護(hù)”,“100”表示地址0000H~003FH(第1頁(yè))寫保護(hù),“101”表示地址0000H~007FH(前2頁(yè))寫保護(hù),“110”表示地址0000H~00FFH(前4頁(yè))寫保護(hù),“111”表示地址0000H~01FFH(前8頁(yè))寫保護(hù)。
對(duì)X1228存儲(chǔ)器的訪問(wèn)有隨機(jī)讀、順序讀、當(dāng)前地址讀和字節(jié)寫、頁(yè)寫等,其操作均與標(biāo)準(zhǔn)I2C總線器件相同,在此不作重述。
2 X1228在電源控制器中的應(yīng)用
為了充分利用實(shí)驗(yàn)室資源,讓學(xué)生能夠自主選擇實(shí)驗(yàn)內(nèi)容與時(shí)間,從而激發(fā)學(xué)生積極參與科學(xué)實(shí)驗(yàn)的興趣,提高分析問(wèn)題、解決問(wèn)題的能力,同時(shí)也為了緩解近年來(lái)高校擴(kuò)招對(duì)實(shí)驗(yàn)室的壓力,實(shí)現(xiàn)高校部分實(shí)驗(yàn)室的開放式管理勢(shì)在必行。我們研制的開放式實(shí)驗(yàn)室管理系統(tǒng),再配上有經(jīng)驗(yàn)的指導(dǎo)教師精心制作的實(shí)驗(yàn)教學(xué)課件,為實(shí)驗(yàn)室的無(wú)人值守化管理提供了物質(zhì)基礎(chǔ)。該開放式實(shí)驗(yàn)室管理系統(tǒng)由一個(gè)管理中心和一個(gè)門禁控制器及若干個(gè)實(shí)驗(yàn)組電源控制器組成,系統(tǒng)框圖如圖3所示。學(xué)生進(jìn)入開放式實(shí)驗(yàn)室做實(shí)驗(yàn),必須先刷卡,得到允許后方可進(jìn)入。若實(shí)驗(yàn)時(shí)間超過(guò)預(yù)定時(shí)間(前10分鐘發(fā)提示警告信息),則實(shí)驗(yàn)組儀器設(shè)備的供電會(huì)自動(dòng)切斷。
管理中心由1臺(tái)計(jì)算機(jī)、報(bào)表打印機(jī)和管理軟件組成。完成的功能有:①IC卡的發(fā)放、實(shí)驗(yàn)室儀器設(shè)備配置情況和實(shí)驗(yàn)安排情況預(yù)置;②通過(guò)門禁控制器獲取實(shí)驗(yàn)學(xué)生的有關(guān)信息,根據(jù)存儲(chǔ)在機(jī)內(nèi)的儀器設(shè)備使用配置情況及預(yù)置的實(shí)驗(yàn)安排情況,決策該學(xué)生當(dāng)前是否能參與實(shí)驗(yàn)并分配實(shí)驗(yàn)組號(hào);③向門禁控制器回發(fā)信息;④若允許學(xué)生進(jìn)入實(shí)驗(yàn)室,則發(fā)指令至相應(yīng)的實(shí)驗(yàn)組電源控制器,以便及時(shí)為該組儀器設(shè)備供電;⑤對(duì)學(xué)生實(shí)驗(yàn)時(shí)間、儀器設(shè)備使用情況進(jìn)行存儲(chǔ)管理,為實(shí)驗(yàn)指導(dǎo)教師掌握學(xué)生實(shí)驗(yàn)情、實(shí)驗(yàn)技術(shù)人員進(jìn)行儀器設(shè)備的維護(hù)維修提供依據(jù);⑥各種報(bào)表輸出。
門禁控制器主要負(fù)責(zé):①對(duì)學(xué)生所持有的IC卡刷卡,以獲取與實(shí)驗(yàn)有關(guān)的信息,通過(guò)RS485總線傳輸至上位機(jī),以決定是否允許該學(xué)生進(jìn)入實(shí)驗(yàn)室;②接收上位機(jī)發(fā)來(lái)的允許否信息,通過(guò)LCD顯示器顯示并執(zhí)行;③學(xué)生實(shí)驗(yàn)完畢,需再次刷卡,并通過(guò)門禁控制器所攜帶的小鍵盤,對(duì)實(shí)驗(yàn)組儀器則認(rèn)為該實(shí)驗(yàn)在規(guī)定時(shí)間內(nèi)未完成,需重做。
實(shí)驗(yàn)組電源控制器主要是接收上位機(jī)指令,控制每個(gè)實(shí)驗(yàn)組儀器設(shè)備的供電情況,并在預(yù)定實(shí)驗(yàn)結(jié)束時(shí)間的前10分鐘向?qū)W生發(fā)提示報(bào)警信息。
在實(shí)驗(yàn)組電源控制器中,我們采用了AT89C51單片機(jī)控制實(shí)時(shí)時(shí)鐘芯片X1228(如圖2)來(lái)實(shí)現(xiàn)對(duì)每個(gè)實(shí)驗(yàn)組儀器設(shè)備的供電情況定時(shí)控制,采用OCMJ2X8的LCD顯示模塊顯示實(shí)時(shí)時(shí)間。AT89C51從串行口接收來(lái)自PC的2字節(jié)命令,由P1.5輸出高電平,通過(guò)一只固態(tài)繼電器(SSR)SAP4010來(lái)接通220V交流供電電路;接收8字節(jié)BCD碼,寫入X1228的RTC寄存器,對(duì)X1228進(jìn)行校時(shí);從串行口接收8字節(jié)寫入Alarm0來(lái)設(shè)置X1228的報(bào)警輸出,在單片機(jī)的外中斷1服務(wù)程序中,通過(guò)P3.2口接的1只有源訊響器,在預(yù)定實(shí)驗(yàn)結(jié)束時(shí)間的前10分鐘向?qū)W生發(fā)提示報(bào)警信息;實(shí)驗(yàn)時(shí)間到,P1.5輸出高電平,通過(guò)SAP4010切斷220V交供電電流。管理中心上位機(jī)與電源控制器之間采用MAX3082構(gòu)成的RS485總線進(jìn)行通信。因總線上允許最大節(jié)點(diǎn)數(shù)為256個(gè),故完全能滿足實(shí)際應(yīng)用需要。
結(jié)語(yǔ)
在開放式實(shí)驗(yàn)室管理系統(tǒng)的電源控制器中,由于采用了I2C總線的實(shí)時(shí)時(shí)鐘芯片X1228,它集成時(shí)時(shí)鐘、報(bào)警輸出、電源監(jiān)控和看門狗定時(shí)器于一體,從而大大減小了系統(tǒng)成本和電路板空間。該電源控制器若稍做改進(jìn),也可廣泛地應(yīng)用地需要進(jìn)行定時(shí)開關(guān)機(jī)的家用電器中。
【基于實(shí)時(shí)時(shí)鐘芯片X1227的電源控制器設(shè)計(jì)】相關(guān)文章:
基于TOP249Y芯片的開關(guān)電源設(shè)計(jì)08-06
基于IC控制器FAN4810的500WPFC電源的設(shè)計(jì)08-06
實(shí)時(shí)時(shí)鐘電路設(shè)計(jì)08-06
用實(shí)時(shí)時(shí)鐘芯片DS1305啟動(dòng)數(shù)據(jù)采集系統(tǒng)08-06
PowerPC和Dallas的時(shí)鐘芯片接口設(shè)計(jì)08-06
基于FPGA的USB2.0控制器設(shè)計(jì)08-06
基于FPGA的LCD&VGA控制器設(shè)計(jì)08-06