- 相關(guān)推薦
I2C串行芯片X1288及其在電子電能表中的應用
摘要:介紹了一種基于I2C總線(xiàn)接口的多功能串行芯片X1288的性能特點(diǎn)和工作原理,給出了X1288在電子電能表設計中的應用方法,同時(shí)給出了X1288和AT89C52的連接電路。實(shí)際應用表明:X1288能簡(jiǎn)化電路設計并可提高硬件的工作效率。1 引言
X1288是美國Xicor公司生產(chǎn)的一種集E2PROM、實(shí)時(shí)時(shí)鐘、日歷、CPU監控和兩路報警于一體的多功能集成電路芯片。X1288的時(shí)鐘采用一種價(jià)格低廉的32.768kHz晶振,具有百分秒、秒、分、時(shí)、日、月、年及星期信息,并可設定兩個(gè)報警時(shí)間,其時(shí)鐘和報警寄存器的雙通道結構使得它能在讀寫(xiě)數據時(shí)仍保持時(shí)鐘的準確性。此外,X1288還可提供32k字節的E2PROM陣列,并具有電源和CPU監控功能。
X1288串行芯片一般采用I2C總線(xiàn)來(lái)實(shí)現與主控制器的數據交換。I2C是由Philips公司開(kāi)發(fā)的一種用于內部IC控制的雙向二線(xiàn)串行總線(xiàn),通過(guò)該總線(xiàn)可很好地解決現代電子系統中眾多IC之間,及IC與外界的通信需要,并可大大簡(jiǎn)化電路設計,提高硬件電路的工作效率。
2 X1288的引腳定義
X1288芯片具有16腳SOIC或14腳TSSOP小體積封裝形式。圖1為14腳TSSOP封裝的引腳示意圖,各引腳的定義如下:
X1、X2:這兩個(gè)引腳可分別用作片內振蕩器的反相放大器的輸入和輸出端。應用時(shí)需外接一個(gè)32.768kHz的石英晶體,其作用是為系統時(shí)鐘/振蕩器提供時(shí)間基準。
RESET:復位信號輸出端。當看門(mén)狗超時(shí)或電壓跌落到固定的VTRIP門(mén)限時(shí),此引腳將向主處理器發(fā)送一個(gè)低電平有效的漏極開(kāi)路輸出信號,以使電路系統快速復位。
SDA:串行數據端,為漏極開(kāi)路輸出的雙向引腳,用于數據的輸入輸出。實(shí)際應用時(shí)需接上拉電阻,并應與其它漏極或集電極開(kāi)路輸出端線(xiàn)相或。該端的輸入緩沖器總是處于激活狀態(tài),輸出電路可通過(guò)一個(gè)斜率控制的下拉控制輸出信號的下降時(shí)間。設計時(shí)通常把電路設計成400kHz的二線(xiàn)接口。
SCL:串行時(shí)鐘端口。
PHZ/IRQ:可編程頻率/中斷輸出端。當編程為頻率輸出時(shí),該端接到內部振蕩器的輸出腳,以輸出頻率為32.768kHz、4096Hz或1Hz的信號,也可以無(wú)信號輸出。當編程為中斷輸出時(shí),該端可在報警發(fā)生時(shí)激活,以向主機請求中斷。
VBACK:備用電源輸入端。當VCC小于VBACK-0.2V時(shí),電源控制電路將切換至VBACK供電;而當VCC超過(guò)VBACK時(shí),又會(huì )自動(dòng)切回VCC供電方式,圖2所示是其電源控制過(guò)程示意圖。
3。兀保玻福傅闹饕拇嫫骷捌涔δ
X1228中的時(shí)鐘/控制寄存器(CCR)位于從E2PROM陣列中分離出來(lái)的一個(gè)區域,地址位于[000]0h~[003]Fh之間。CCR一般被分成5段,可分別用于狀態(tài)寄存器(1字節)、實(shí)時(shí)時(shí)鐘(8字節)、控制寄存器(4字節)、報警寄存器1和報警寄存器0(各8字節)。
3.1 狀態(tài)寄存器(SR)
狀態(tài)寄存器是易失性的,其地址是003Fh。表1所列是其命令格式,各命令字的具體含義如下:
表1 狀態(tài)寄存器(SR)
BAT:后備電源標志位。當BAT為“1”時(shí),表明器件在使用后備電源。
AL1、AL0:報警選擇位。X1288中有兩個(gè)報警寄存器,若其中的某一報警時(shí)間與實(shí)時(shí)時(shí)鐘相同時(shí),相應的AL1或AL0位將變?yōu)椤埃薄;當讀。樱业闹岛,該位又變?yōu)椤埃啊薄?/P>
RWEL:時(shí)鐘/控制寄存器(CCR)寫(xiě)入控制位。對CCR進(jìn)行寫(xiě)操作時(shí),必須先使該位為“1”。
WEL:CCR和E2PROM的寫(xiě)入控制位。在對CCR和E2PROM進(jìn)行寫(xiě)操作時(shí),必須先使該位為“1”。同理,如果要寫(xiě)入時(shí)鐘和控制寄存器,也必須先寫(xiě)“02h”至SR(使RWEL為“1”),再寫(xiě)“06h” (使WEL為“1”)。
RTCF:掉電標志位。當全部電源(包括VCC和VBACK)失效后,該位變?yōu)?“1”;而在系統再次上電后,如果要對RTC進(jìn)行第一次有效寫(xiě)操作,則應首先將使該位為“0”。
需要說(shuō)明的是,雖然SR中的第3、4位沒(méi)有使用,但這些位必須置“0”。
圖4
3.2 實(shí)時(shí)時(shí)鐘(RTC)
實(shí)時(shí)時(shí)鐘寄存器的地址0030h~0037h分別對應秒、分、時(shí)、日、月、年、星期和百分秒,并采用BCD碼表示。通過(guò)啟動(dòng)一條讀命令并確定相應的地址,即可讀取時(shí)間信息。因為時(shí)鐘是連續運行的,而每次讀操作都需要一定的時(shí)間,這就有可能在讀操作過(guò)程中使時(shí)間發(fā)生改變。本器件是由讀命令將時(shí)間鎖存在分立的鎖存器中,因而可以避免讀操作過(guò)程中時(shí)間發(fā)生變化。當一次讀出并不是由讀操作引起時(shí),系統將發(fā)出報警。
可以通過(guò)向RTC寄存器中寫(xiě)入數據來(lái)設定時(shí)間和日期。通過(guò)一次不完全連續的寫(xiě)操作可避免改變當前時(shí)間,在RTC數據輸入字節之前的ACK位時(shí),時(shí)鐘的下降沿會(huì )將當前的時(shí)間值裝載到分立的緩沖器中,以使時(shí)鐘繼續運行。而此時(shí)新的串行輸入數據將取代緩沖器的值。當有效的寫(xiě)操作結束后,系統產(chǎn)生停止位時(shí),這個(gè)新值才被裝載到RTC寄存器中。向RTC寫(xiě)入單個(gè)字節并不對其它字節的數據產(chǎn)生影響。
【I2C串行芯片X1288及其在電子電能表中的應用】相關(guān)文章:
FPGA芯片APA150及其應用03-18
PCI接口芯片s5935及其應用03-19
電力載波芯片ST7538及其應用03-18
電力電子裝置中模擬信號隔離傳輸及其串行D/A的實(shí)現03-18
Neuron多處理器芯片及其應用03-18