摘要:根據(jù)電壓監(jiān)測儀校驗(yàn)裝置需要建立一個標(biāo)準(zhǔn)時鐘,對電壓監(jiān)測統(tǒng)計(jì)儀進(jìn)行時間精度校正的要求,介紹了I2C總線接口時鐘芯片PCF8583的基本原理,提出了利用DS32KHz給PCF8583提供高穩(wěn)定度頻率信號,從而實(shí)現(xiàn)了標(biāo)準(zhǔn)時鐘的方案,并給出了PCF8583與MCS51單片機(jī)接口設(shè)計(jì)。
關(guān)鍵詞:電壓監(jiān)測儀 I2C總線 DS32KHz
0 引言
電壓監(jiān)測統(tǒng)計(jì)儀是一種在線監(jiān)測電網(wǎng)電壓質(zhì)量、統(tǒng)計(jì)每分鐘瞬時電壓、每分鐘最大電壓、每分鐘最小電壓以及平均電壓、電壓合格率、電壓超上限率、電壓超下限率等功能的儀表。從以上功能可得出,電壓監(jiān)測統(tǒng)計(jì)儀除了測量電壓精度這一因素外,還有一重要因素就是時間的準(zhǔn)確性。利用PCF8583串行時鐘芯片成功的應(yīng)用在電壓監(jiān)測儀校驗(yàn)裝置中,既實(shí)現(xiàn)了電壓的可程控信號輸出,從而可測量電壓監(jiān)測統(tǒng)計(jì)儀的電壓精度指標(biāo),又實(shí)現(xiàn)了一個標(biāo)準(zhǔn)時鐘,從而可對電壓監(jiān)測統(tǒng)計(jì)儀的時間進(jìn)行比對,實(shí)現(xiàn)校準(zhǔn)。
1 PCF8583的基本功能特點(diǎn)
PCF8583是飛利浦公司推出的I2C總線接口實(shí)時時鐘芯片,它可獨(dú)立于CPU工作,不受CPU主晶振及共電容的影響,且計(jì)時準(zhǔn)確。具有4年日歷時鐘,12或24小時格式,時基可用32.768KHz或50Hz,帶可編程的鬧鐘,定時和中斷功能的日歷時鐘芯片。芯片具有體積小、硬件連線少、帶有256字節(jié)的靜態(tài)RAM等特點(diǎn)。對于PCF8583在電壓監(jiān)測儀校驗(yàn)裝置中的應(yīng)用,主要是用它的實(shí)時時鐘計(jì)數(shù)功能,以及標(biāo)準(zhǔn)脈沖輸出功能。
2 PCF8583的寄存器結(jié)構(gòu)
在時鐘方式下,PCF8583中的寄存器結(jié)構(gòu)地址分配為:00H~07H為時間寄存器地址編碼; 08H~0FH為定時器起鬧寄存器地址編碼,作起鬧時間或通用RAM之用;10H~FFH為通用靜態(tài)RAM。其中00H為控制狀態(tài)寄存器,01H為1/100秒寄存器,02H為秒寄存器,03H為分寄存器,04H為時寄存器,05H為年/日寄存器,06H為星期/月寄存器,07H為定時寄存器。有關(guān)控制寄存器、時寄存器、年/日寄存器、星期/月寄存器的內(nèi)部格式詳述如下:
數(shù)據(jù)格式為:
⑴ 控制寄存器(00H)
D7位:計(jì)數(shù)、停止計(jì)數(shù)位。D7=0,啟動對脈沖計(jì)數(shù);D7=1,停止計(jì)數(shù)。
D6位:保持最新計(jì)數(shù)位。D6=0,計(jì)數(shù);D6=1,保持和存儲最新計(jì)數(shù)值到捕捉寄存器中。
D5D4位:功能方式選擇位。D5D4=00,選擇32.768KHz時鐘方式。
D5D4=01,選擇50Hz時鐘方式。
D5D4=10,事件計(jì)數(shù)方式。
D5D4=11,測試方式。
D3位:標(biāo)志位。D3=0,讀05H、06HRAM單元時不屏蔽。
D3=1,對05H、06HRAM單元只讀出月、日計(jì)數(shù)值。
D2位:起鬧使能位。D2=0,不能起鬧;D2=0,允許起鬧寄存器使能。
D1位:起鬧標(biāo)志位。D1=0,占空比為50%的分標(biāo)志 。
D0位:定時器標(biāo)志位。D0=0,占空比為50%的秒標(biāo)志 。
⑵ 時寄存器(04H)
D7位:計(jì)時格式。D7=0,24小時制,AM、PM標(biāo)志不變。
D7=1,12小時制,AM、PM標(biāo)志更新。
D6位:上午(AM)、下午(PM)標(biāo)志。D6=0,AM;D6=1,PM。
D5D4位:鐘點(diǎn)十位(二進(jìn)制0~2)。
D3D2D1D0位:鐘點(diǎn)個位(BCD碼)。
⑶ 年/日寄存器(05H)
D7D6位:年份(二進(jìn)制0~3)。
D5D4位:日期十位(二進(jìn)制0~3)。
D3D2D1D0位:日期個位(BCD碼0~9)。
⑷ 星期/月寄存器(06H)
D7D6D5位:星期(二進(jìn)制0~6)。
D4位:月份十位( 0~1)。
D3D2D1D0位:月份個位(BCD碼0~9)。
3 硬件接口電路
PCF8583作為I2C總線接口芯片,采用二線通信傳輸方式。即主要通過時鐘線SCL和數(shù)據(jù)線SDA進(jìn)行雙向傳輸。由于I2C總線是同步串行數(shù)據(jù)傳輸總線,其內(nèi)部為雙向傳輸電路,端口輸出為開漏結(jié)構(gòu),故總線上必須有上拉電阻,通??扇?~10KΩ。PCF8583與AT89C52單片機(jī)的硬件接口電路如圖1所示。采用了內(nèi)帶恒溫槽、高穩(wěn)定度的DS32KHz標(biāo)準(zhǔn)晶體振器,代替了使用32.768KHz普通晶振的方案。雖然這二種方案都能產(chǎn)生PCF8583時鐘芯片所需要的頻率,但是利用DS32KHz產(chǎn)生的晶振頻率精度為±1分鐘/年。而PCF8583時鐘芯片時間的準(zhǔn)確性完全取決于晶振頻率的準(zhǔn)確穩(wěn)定性。因此,經(jīng)過圖1電路改進(jìn)后的方案確保了電壓監(jiān)測儀校驗(yàn)裝置的時間標(biāo)準(zhǔn),同時還可把32.768KHz頻率輸出,作為利用比較法校驗(yàn)電壓監(jiān)測統(tǒng)計(jì)儀的標(biāo)準(zhǔn)脈沖。由于考慮到PCF8583內(nèi)部不帶鋰離子電池,故外帶鋰離子電池來保證PCF8583的時鐘供電。圖1中R1和R2為I2C總線所需要的上拉電阻。P1.4口作為發(fā)送時鐘信號,P1.5口作為發(fā)送或接收數(shù)據(jù)信號。
4 PCF8583接口程序設(shè)計(jì)格式
4.1 PCF8583I2C總線上的信號說明
由于PCF8583為I2C總線接口芯片,因此它的數(shù)據(jù)操作格式是完全按照I2C總線上的信號讀、寫操作進(jìn)行的。其中,I2C總線上的信號如圖2所示。啟動信號(S)出現(xiàn)在時鐘脈沖SCL為高電平,且數(shù)據(jù)線SDA由高電平到低電平的變化時;停止信號(P)出現(xiàn)在時鐘脈沖SCL為高電平,且數(shù)據(jù)線SDA由低電平到高電平的變化時;應(yīng)答信號(A)出現(xiàn)在I2C總線上的第9個時鐘脈沖SCL為高電平,且相應(yīng)的數(shù)據(jù)線SDA為低電平時;非應(yīng)答信號(/A)出現(xiàn)在I2C總線上的第9個時鐘脈沖SCL為高電平,且相應(yīng)的數(shù)據(jù)線SDA為高電平時;數(shù)據(jù)位傳送為I2C總線啟動后或應(yīng)答信號啟動后的第1~8個時鐘脈沖所對應(yīng)的一個字節(jié)的8位數(shù)據(jù)傳送。數(shù)據(jù)傳送按照先高后低位的原則進(jìn)行讀或?qū)?
4.2 PCF8583讀、寫操作格式
PCF8583一次數(shù)據(jù)操作格式包括起始信號(S)、發(fā)送讀或?qū)憣ぶ纷止?jié)、 應(yīng)答信號、發(fā)送數(shù)據(jù)字節(jié)、應(yīng)答信號……直到發(fā)送停止信號(P)。在本文應(yīng)用中,是按以下兩種操作格式來編寫程序的。
⑴ PCF8583 寫操作格式PCF8583 寫操作格式如下所示,是指從指定單元首地址(word address)開始依次寫入幾個字節(jié)數(shù)據(jù)。其中slave address1為PCF8583器件寫地址,date1~daten為n個字節(jié)數(shù)據(jù)。
⑵ PCF8583 讀操作格式
PCF8583 讀操作格式如下所示,先寫入要讀出的n個字節(jié)數(shù)據(jù)存入指定單元首地址(word address)開始的RAM單元中,然后才開始讀數(shù)據(jù),其中slave address2為PCF8583器件讀地址。
5 PCF8583軟件編程
根據(jù)圖1所示的接口電路,PCF8583的寫地址為#0A0H,讀地址為#0A1H。在對PCF8583進(jìn)行數(shù)據(jù)寫入時,應(yīng)先將日歷時鐘信息存放于單片機(jī)內(nèi)部從10H開始的8個RAM單元,而從PCF8583讀出的數(shù)據(jù)同樣需存放在其中。
6 結(jié)束語
本文闡述的PCF8583時鐘芯片,應(yīng)用于單相電壓監(jiān)測儀校驗(yàn)裝置,該裝置是江西省2003年科技廳重點(diǎn)科技計(jì)劃課題,編號為10220221,已于2005年6月完成科技成果鑒定。本文在闡述了PCF8583的基本功能特點(diǎn)、寄存器結(jié)構(gòu)的基礎(chǔ)上,給出了PCF8583的硬件接口電路、程序設(shè)計(jì)格式以及相應(yīng)的接口軟件。本文作者創(chuàng)新點(diǎn)是采用了內(nèi)帶恒溫槽、高穩(wěn)定度的DS32KHz晶體振蕩器,給PCF8583時鐘芯片提供穩(wěn)定的頻率信號,從而實(shí)現(xiàn)了標(biāo)準(zhǔn)時鐘。雖然采用GPS全球定位系統(tǒng)同樣可實(shí)現(xiàn)標(biāo)準(zhǔn)時鐘,但是它的價格高。因此,本文這種方案的應(yīng)用是一個提高了產(chǎn)品性價比的成功例子,值得推廣。