AVR單片機(jī)與串行時(shí)鐘器件DS3231的接口設(shè)計(jì)
發(fā)布時(shí)間:2008/5/27 0:00:00 訪問次數(shù):802
    
    
    高美珍,毛欲民,劉進(jìn)軍1 引言
    
    由單片機(jī)構(gòu)成的測控系統(tǒng)或智能顯示屏經(jīng)常需要用到實(shí)時(shí)日歷或時(shí)鐘信號。為節(jié)省cpu資源,本文介紹了串行時(shí)鐘器件ds3231的應(yīng)用及其與avr單片機(jī)atmega8的接口,該系統(tǒng)具有抗干擾能力強(qiáng),計(jì)時(shí)準(zhǔn)確且不隨季節(jié)變化產(chǎn)生誤差的特點(diǎn)。
    
    2 ds3231的結(jié)構(gòu)及工作原理
    
    ds3231是低成本、高精度i2c實(shí)時(shí)時(shí)鐘(rtc)器件,具有集成的溫度補(bǔ)償晶體振蕩器(tcxo)。該器件包含電池輸入端,斷開主電源時(shí)仍可保持精確計(jì)時(shí)。集成的晶體振蕩器可提高器件的長期精確度。ds3231的寄存器能保存秒、分、時(shí)、星期、日期、月、年和鬧鐘設(shè)置等信息。少于31天的月份,可自動(dòng)調(diào)整月末日期,包括閏年補(bǔ)償。時(shí)鐘的工作格式為24小時(shí)或帶am/pm指示的12小時(shí)格式。ds3231提供兩個(gè)可編程日歷鬧鐘和一路可編程方波輸出。地址與數(shù)據(jù)通過i2c雙向串行總線傳輸。
    
    2.1 ds3231的組成及工作原理
    
    如圖1所示,ds3231的主要組成部分有8個(gè)模塊,劃分為4個(gè)功能組:tcxo、電源控制、按鈕復(fù)位和rtc。
    
    
    
    
    2.1.1 32 khz的tcxo
    
    tcxo包括溫度傳感器、振蕩器和控制邏輯?刂破髯x取片上溫度傳感器輸出,使用查表法確定所需的電容,加上age寄存器的老化修正。然后設(shè)置電容選擇寄存器。僅在溫度變化或者用戶啟動(dòng)的溫度轉(zhuǎn)換完成時(shí),才加載包括age寄存器變化的新值。vcc初次上電時(shí)就會(huì)讀取溫度值,然后每隔64 s讀取一次。
    
    2.1.2 電源控制
    
    電源控制功能由溫度補(bǔ)償電壓基準(zhǔn)(vpf)和監(jiān)視vcc電平的比較器電路提供。當(dāng)vcc高于vpf時(shí),ds3231由vcc供電,當(dāng)vcc低于vpf但高于vbat時(shí),ds3231由vcc供電;當(dāng)vcc低于vpf并低于vbat時(shí),ds3231由vbat供電。為保護(hù)電池,vbat首次加到器件時(shí)振蕩器并不啟動(dòng),除非加載vcc,或者向器件寫入一個(gè)有效的i2c地址。典型的振蕩器啟動(dòng)時(shí)間在1 s以內(nèi)。在vcc加電后或者有效的i2c地址寫入后大約2 s,器件會(huì)測量一次溫度,并使用計(jì)算的修正值校準(zhǔn)振蕩器。一旦振蕩器運(yùn)行,只要電源(vcc或者vbat)有效就會(huì)一直保持工作狀態(tài)。器件每隔64 s進(jìn)行一次溫度測量并校準(zhǔn)振蕩器頻率。
    
    2.1.3 按鈕復(fù)位
    
    ds3231具有連接至rst輸出引腳的按鈕開關(guān)功能。若ds3231不在復(fù)位周期,會(huì)持續(xù)監(jiān)視r(shí)st信號的下降沿。如果檢測到一個(gè)邊沿轉(zhuǎn)換,ds3231通過拉低rst完成開關(guān)去抖。內(nèi)部定時(shí)器定時(shí)結(jié)束后,ds3231繼續(xù)監(jiān)視r(shí)st信號。如果信號依舊保持低電平,ds3231持續(xù)監(jiān)視信號線以檢測上升沿。一旦檢測到按鈕釋放,ds3231強(qiáng)制rst為低電平并保持trst。rst還可用于指示電源故障報(bào)警情況。當(dāng)vcc低于vpf時(shí),產(chǎn)生內(nèi)部電源故障報(bào)警信號,并強(qiáng)制拉低rst引腳。當(dāng)vcc返回至超過vpf電平時(shí)。rst保持低電平大約250 ms(trec),使供電電源達(dá)到穩(wěn)定。如果在vcc加載時(shí),振蕩器不工作,將跳過trec,rst立刻變?yōu)楦唠娖健?/p>
    
    2.1.4 時(shí)鐘和日歷rtc
    
    可以通過讀取適當(dāng)?shù)募拇嫫髯止?jié)獲得時(shí)鐘和日歷信息。通過寫入適當(dāng)?shù)募拇嫫髯止?jié)設(shè)定或者初始化時(shí)鐘和日歷數(shù)據(jù)。時(shí)鐘和日歷寄存器的內(nèi)容采用二-十進(jìn)制編碼(bcd)格式。ds3231運(yùn)行于12小時(shí)或者24小時(shí)模式。小時(shí)寄存器的第6位定義為12或24小時(shí)模式選擇位。該位為高時(shí),選擇12小時(shí)模式。在12小時(shí)模式下,第5位為am/pm指示位,邏輯高時(shí)為pm。
    
    2.1.5 鬧鐘
    
    ds3231包含2個(gè)定時(shí)/日期鬧鐘。鬧鐘1可通過寫入寄存器07h~0ah設(shè)定。鬧鐘2可通過寫入寄存器0bh~0dh設(shè)定?蓪︳[鐘進(jìn)行編程(通過控制寄存器的鬧鐘使能位和intcn位),從而在鬧鐘匹配條件下觸發(fā)int/sqw輸出。每個(gè)定時(shí)/日期鬧鐘寄存器的第7位是屏蔽位。當(dāng)每個(gè)鬧鐘的屏蔽位均為邏輯0時(shí),只有當(dāng)計(jì)時(shí)寄存器中的值與存儲(chǔ)于定時(shí)/日期鬧鐘寄存器中的對應(yīng)值相匹配時(shí)才會(huì)
    
    
    高美珍,毛欲民,劉進(jìn)軍1 引言
    
    由單片機(jī)構(gòu)成的測控系統(tǒng)或智能顯示屏經(jīng)常需要用到實(shí)時(shí)日歷或時(shí)鐘信號。為節(jié)省cpu資源,本文介紹了串行時(shí)鐘器件ds3231的應(yīng)用及其與avr單片機(jī)atmega8的接口,該系統(tǒng)具有抗干擾能力強(qiáng),計(jì)時(shí)準(zhǔn)確且不隨季節(jié)變化產(chǎn)生誤差的特點(diǎn)。
    
    2 ds3231的結(jié)構(gòu)及工作原理
    
    ds3231是低成本、高精度i2c實(shí)時(shí)時(shí)鐘(rtc)器件,具有集成的溫度補(bǔ)償晶體振蕩器(tcxo)。該器件包含電池輸入端,斷開主電源時(shí)仍可保持精確計(jì)時(shí)。集成的晶體振蕩器可提高器件的長期精確度。ds3231的寄存器能保存秒、分、時(shí)、星期、日期、月、年和鬧鐘設(shè)置等信息。少于31天的月份,可自動(dòng)調(diào)整月末日期,包括閏年補(bǔ)償。時(shí)鐘的工作格式為24小時(shí)或帶am/pm指示的12小時(shí)格式。ds3231提供兩個(gè)可編程日歷鬧鐘和一路可編程方波輸出。地址與數(shù)據(jù)通過i2c雙向串行總線傳輸。
    
    2.1 ds3231的組成及工作原理
    
    如圖1所示,ds3231的主要組成部分有8個(gè)模塊,劃分為4個(gè)功能組:tcxo、電源控制、按鈕復(fù)位和rtc。
    
    
    
    
    2.1.1 32 khz的tcxo
    
    tcxo包括溫度傳感器、振蕩器和控制邏輯?刂破髯x取片上溫度傳感器輸出,使用查表法確定所需的電容,加上age寄存器的老化修正。然后設(shè)置電容選擇寄存器。僅在溫度變化或者用戶啟動(dòng)的溫度轉(zhuǎn)換完成時(shí),才加載包括age寄存器變化的新值。vcc初次上電時(shí)就會(huì)讀取溫度值,然后每隔64 s讀取一次。
    
    2.1.2 電源控制
    
    電源控制功能由溫度補(bǔ)償電壓基準(zhǔn)(vpf)和監(jiān)視vcc電平的比較器電路提供。當(dāng)vcc高于vpf時(shí),ds3231由vcc供電,當(dāng)vcc低于vpf但高于vbat時(shí),ds3231由vcc供電;當(dāng)vcc低于vpf并低于vbat時(shí),ds3231由vbat供電。為保護(hù)電池,vbat首次加到器件時(shí)振蕩器并不啟動(dòng),除非加載vcc,或者向器件寫入一個(gè)有效的i2c地址。典型的振蕩器啟動(dòng)時(shí)間在1 s以內(nèi)。在vcc加電后或者有效的i2c地址寫入后大約2 s,器件會(huì)測量一次溫度,并使用計(jì)算的修正值校準(zhǔn)振蕩器。一旦振蕩器運(yùn)行,只要電源(vcc或者vbat)有效就會(huì)一直保持工作狀態(tài)。器件每隔64 s進(jìn)行一次溫度測量并校準(zhǔn)振蕩器頻率。
    
    2.1.3 按鈕復(fù)位
    
    ds3231具有連接至rst輸出引腳的按鈕開關(guān)功能。若ds3231不在復(fù)位周期,會(huì)持續(xù)監(jiān)視r(shí)st信號的下降沿。如果檢測到一個(gè)邊沿轉(zhuǎn)換,ds3231通過拉低rst完成開關(guān)去抖。內(nèi)部定時(shí)器定時(shí)結(jié)束后,ds3231繼續(xù)監(jiān)視r(shí)st信號。如果信號依舊保持低電平,ds3231持續(xù)監(jiān)視信號線以檢測上升沿。一旦檢測到按鈕釋放,ds3231強(qiáng)制rst為低電平并保持trst。rst還可用于指示電源故障報(bào)警情況。當(dāng)vcc低于vpf時(shí),產(chǎn)生內(nèi)部電源故障報(bào)警信號,并強(qiáng)制拉低rst引腳。當(dāng)vcc返回至超過vpf電平時(shí)。rst保持低電平大約250 ms(trec),使供電電源達(dá)到穩(wěn)定。如果在vcc加載時(shí),振蕩器不工作,將跳過trec,rst立刻變?yōu)楦唠娖健?/p>
    
    2.1.4 時(shí)鐘和日歷rtc
    
    可以通過讀取適當(dāng)?shù)募拇嫫髯止?jié)獲得時(shí)鐘和日歷信息。通過寫入適當(dāng)?shù)募拇嫫髯止?jié)設(shè)定或者初始化時(shí)鐘和日歷數(shù)據(jù)。時(shí)鐘和日歷寄存器的內(nèi)容采用二-十進(jìn)制編碼(bcd)格式。ds3231運(yùn)行于12小時(shí)或者24小時(shí)模式。小時(shí)寄存器的第6位定義為12或24小時(shí)模式選擇位。該位為高時(shí),選擇12小時(shí)模式。在12小時(shí)模式下,第5位為am/pm指示位,邏輯高時(shí)為pm。
    
    2.1.5 鬧鐘
    
    ds3231包含2個(gè)定時(shí)/日期鬧鐘。鬧鐘1可通過寫入寄存器07h~0ah設(shè)定。鬧鐘2可通過寫入寄存器0bh~0dh設(shè)定?蓪︳[鐘進(jìn)行編程(通過控制寄存器的鬧鐘使能位和intcn位),從而在鬧鐘匹配條件下觸發(fā)int/sqw輸出。每個(gè)定時(shí)/日期鬧鐘寄存器的第7位是屏蔽位。當(dāng)每個(gè)鬧鐘的屏蔽位均為邏輯0時(shí),只有當(dāng)計(jì)時(shí)寄存器中的值與存儲(chǔ)于定時(shí)/日期鬧鐘寄存器中的對應(yīng)值相匹配時(shí)才會(huì)
熱門點(diǎn)擊
- 功率驅(qū)動(dòng)器件與MCU/DSC的接口電路設(shè)計(jì)技
- USB端口的EMC解決方案
- TMS320F2812擴(kuò)展正交解碼脈沖接口的
- HD7279A的原理與應(yīng)用
- 基于AVR單片機(jī)SPI的串行ADC接口設(shè)計(jì)
- NRZ-HDB3碼制轉(zhuǎn)換器設(shè)計(jì)
- 基于USB接口的同步視頻輸出系統(tǒng)設(shè)計(jì)
- SDH接口芯片PM5342及其應(yīng)用
- X25054/45 E2 PROM及其與51
- CF卡在數(shù)字音頻系統(tǒng)中的應(yīng)用
推薦技術(shù)資料
- AMOLED顯示驅(qū)動(dòng)芯片關(guān)鍵技
- CMOS圖像傳感器技術(shù)參數(shù)設(shè)計(jì)
- GB300 超級芯片應(yīng)用需求分
- 4NP 工藝NVIDIA Bl
- GB300 芯片、NVL72
- 首個(gè)最新高端芯片人工智能服務(wù)器
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究