摘? 要:DS28DG02是帶有PIO、實(shí)時(shí)時(shí)鐘(RTC)、復(fù)位,、電池監(jiān)控器和看門狗的2kb SPI? EEPROM,,它組合了便攜式設(shè)備和嵌入式應(yīng)用中需要的多種功能。本應(yīng)用筆記對(duì)產(chǎn)品數(shù)據(jù)資料進(jìn)行補(bǔ)充說明,給出SPI接口及其寫保護(hù)方案的詳細(xì)信息,,闡述怎樣使用器件的12個(gè)PIO和RTC鬧鐘功能,。文檔還包括電池選擇指南,、RTC晶振" title="晶振">晶振焊盤屏蔽,,以及報(bào)警事件的軟件響應(yīng)等。
通信接口
DS28DG02是從機(jī)EEPROM器件,,通常由微控制器" title="微控制器">微控制器構(gòu)成的主機(jī)利用它通過串行外設(shè)接口(SPI)來訪問其資源,。SPI最初由Motorola針對(duì)MC68HCxx系列微控制器而建立。表1列出了標(biāo)準(zhǔn)SPI信號(hào)名稱以及它們的功能,。
表1. SPI信號(hào)名稱
Motorola名稱 | 功能 | 其他名稱 |
|
串行時(shí)鐘,,推挽驅(qū)動(dòng),由主機(jī)產(chǎn)生,。如果滿足上升時(shí)間和下降時(shí)間規(guī)范,,可以使用開漏驅(qū)動(dòng)。 | SCK, SK, C |
|
從機(jī)至主機(jī)數(shù)據(jù)線,,“主機(jī)輸入,,從機(jī)輸出”。由從機(jī)驅(qū)動(dòng)的高阻抗推挽輸出連接至主機(jī)的串行輸入,。 | SO, DO, Q |
|
主機(jī)至從機(jī)數(shù)據(jù)線,,“主機(jī)輸出,從機(jī)輸入”,。由主機(jī)驅(qū)動(dòng)的高阻抗推挽輸出連接至從機(jī)的串行輸入,。 | SI, DI, D |
|
從機(jī)選擇,推挽輸出,,由主機(jī)產(chǎn)生,。 | CSZ, 低電平有效CS |
基本的SPI通信在主機(jī)和從機(jī)同時(shí)采用了移位寄存器,。移位寄存器的輸入和輸出相連,,形成一個(gè)環(huán)回,如圖1所示,。時(shí)鐘信號(hào)在主機(jī)驅(qū)動(dòng)下,,將8比特串行數(shù)據(jù)塊由主機(jī)傳送至從機(jī),同時(shí)由從機(jī)傳送至主機(jī),,從而實(shí)現(xiàn)了SPI全雙工協(xié)議,。但是,大部分SPI從機(jī),,包括DS28DG02,,在接收或者發(fā)送數(shù)據(jù)前,首先需要一條命令,。同樣,,在半雙工模式下,數(shù)據(jù)由主機(jī)傳送到從機(jī)或者由從機(jī)傳送到主機(jī)。
圖1. SPI通信概念
SPI規(guī)范定義了四種模式,,由SPI主機(jī)中的控制位CPOL和CPHA進(jìn)行選擇,。在怎樣參考這些模式上還沒有標(biāo)準(zhǔn)。表2列出了SPI文檔中常用的模式定義,。
表2. SPI模式定義
SPI模式 | CPOL | CPHA | 說明 |
0或者(0,0) |
|
|
時(shí)鐘空閑狀態(tài)為低電平,。在時(shí)鐘上升沿采集數(shù)據(jù),在時(shí)鐘下降沿移位輸出,。 |
1或者(0,1) |
|
|
時(shí)鐘空閑狀態(tài)為低電平,。在時(shí)鐘下降沿采集數(shù)據(jù),在時(shí)鐘上升沿移位輸出,。 |
2或者(1,0) |
|
|
時(shí)鐘空閑狀態(tài)為高電平,。在時(shí)鐘下降沿采集數(shù)據(jù),在時(shí)鐘上升沿移位輸出,。 |
3或者(1,1) |
|
|
時(shí)鐘空閑狀態(tài)為高電平,。在時(shí)鐘上升沿采集數(shù)據(jù),在時(shí)鐘下降沿移位輸出,。 |
DS28DG02支持SPI模式(0,0)和(1,1),。這些模式中,在時(shí)鐘上升沿采集(同步輸入)數(shù)據(jù),,在時(shí)鐘下降沿移位輸出(可能會(huì)改變),。CSZ下降沿的時(shí)鐘狀態(tài)告訴DS28DG02主機(jī)使用了哪一SPI模式。如果試圖在模式(1,0)或者(0,1)中進(jìn)行通信,,則無法確定器件的行為,。
關(guān)于SPI協(xié)議以及時(shí)序的其他信息,請(qǐng)參考DS28DG02數(shù)據(jù)資料中的SPI接口一節(jié),,也可以在互聯(lián)網(wǎng)上搜索關(guān)鍵詞“SPI slave timing”,。通過網(wǎng)絡(luò)搜索到的文檔大部分是關(guān)于微控制器的,根據(jù)內(nèi)部寄存器設(shè)置,,這些微控制器能夠?qū)崿F(xiàn)SPI主機(jī)或者從機(jī),。第三方文檔很好地介紹了SPI概念,解釋了SPI主機(jī)的設(shè)置,,這些文檔有:
http://www.mct.net/faq/spi.html (一般信息)
http://www.atmel.com/dyn/resources/prod_documents/doc2585.pdf (主機(jī)設(shè)置)
寫保護(hù)方案
SPI存儲(chǔ)器采用3級(jí)方案來保護(hù)存儲(chǔ)器不會(huì)受到無意的或者未授權(quán)的改動(dòng):SPI狀態(tài)寄存器" title="狀態(tài)寄存器">狀態(tài)寄存器中的WEN位,;使用SPI狀態(tài)寄存器中控制位的塊寫保護(hù);使用引腳狀態(tài)和SPI狀態(tài)寄存器中使能位的硬件寫保護(hù),。DS28DG02獨(dú)有的寄存器寫保護(hù)和塊寫保護(hù)在同一級(jí)上,,但是采用了不同的存儲(chǔ)器區(qū)。表3列出了控制位及其對(duì)存儲(chǔ)器的影響,。
表3. 寫保護(hù)控制
級(jí) | 控制位 | 受保護(hù)的存儲(chǔ)器 |
|
WEN | 所有的可寫存儲(chǔ)器地址以及SPI狀態(tài)寄存器 |
|
BP1:BP0 | 地址000h至0FFh |
|
RPROT | 地址120h至135h |
|
WPEN (結(jié)合WPZ引腳狀態(tài)) | SPI狀態(tài)寄存器,,僅非易失位。 |
1級(jí):SPI狀態(tài)寄存器中的WEN位
在上電" title="上電">上電,成功完成寫功能命令后,,或者通過SPI命令WRDI (寫禁止),,該位被清位。設(shè)置WEN位的唯一方法是通過SPI命令WREN(寫使能),。注意:在SPI主機(jī)出現(xiàn)故障時(shí),,WEN位能夠防止可寫存儲(chǔ)器失效。
2級(jí):SPI狀態(tài)寄存器中的BP1:BP0位
這一常用的寫保護(hù)方法使用SPI狀態(tài)寄存器(BP1:BP0)的兩個(gè)非易失位對(duì)EEPROM的所有位,、上半部分,、上四分之一部分進(jìn)行寫保護(hù),也可以不進(jìn)行寫保護(hù),??刂莆辉赟PI狀態(tài)寄存器中,可受到硬件寫保護(hù),。沒有硬件寫保護(hù)時(shí),,可以通過軟件控制來修改塊寫保護(hù)。注意:塊寫保護(hù)將某些EEPROM配置為只讀,,而將其他的EEPROM留給主機(jī)存儲(chǔ)數(shù)據(jù),,在最終產(chǎn)品正常工作時(shí)可修改這些數(shù)據(jù)。
2級(jí):SPI狀態(tài)寄存器中的RPROT位
這是DS28DG02的一個(gè)特殊功能,,該方法使用SPI狀態(tài)寄存器的非易失RPROT位對(duì)地址120h以及更高地址范圍的用戶可寫字節(jié)進(jìn)行寫保護(hù),。如果RPROT是1,對(duì)這些地址進(jìn)行寫保護(hù),。這保護(hù)了RTC,、RTC鬧鐘寄存器、多功能控制/設(shè)置寄存器,,以及報(bào)警/狀態(tài)寄存器,,防止對(duì)PIO進(jìn)行寫操作。這一級(jí)寫保護(hù)并不保護(hù)PIO相關(guān)寄存器的上電默認(rèn)值,,這些數(shù)值存儲(chǔ)在10Ah至10Fh中,。RPROT位在SPI狀態(tài)寄存器中,可受到硬件寫保護(hù),。沒有硬件寫保護(hù)時(shí),可以通過軟件控制來修改RPROT,。注意:寄存器寫保護(hù)可防止對(duì)RTC及其警報(bào)的意外改動(dòng),,還可以防止對(duì)最終產(chǎn)品中定義DS28DG02功能的寄存器的改動(dòng)(例如,看門狗,、電池監(jiān)控器,、RTC)。
3級(jí):SPI狀態(tài)寄存器中的WPEN位
該方法使用WPZ引腳以及SPI狀態(tài)寄存器中的WPEN位。該功能只保護(hù)SPI狀態(tài)寄存器的非易失位,,特別是塊保護(hù)位BP1:BP0,、RPROT和WPEN。WPEN位被置為1時(shí),,使能WPZ引腳來控制SPI狀態(tài)寄存器中的所有非易失位,,包括WPEN。對(duì)于出廠SPI存儲(chǔ)器,,WPEN位讀0,。這樣,即使WPZ引腳連接至地,,也可以對(duì)電路板測(cè)試儀上的存儲(chǔ)器進(jìn)行編程,。在最后一步中,對(duì)存儲(chǔ)器編程后,,測(cè)試儀設(shè)置2級(jí)保護(hù),,將WPEN位寫入1,從而激活硬件寫保護(hù),。只要WPZ引腳的邏輯狀態(tài)保持為0,,SPI狀態(tài)寄存器的非易失位將保持寫保護(hù)不變。要修改任一非易失位,,必須將WPZ引腳的邏輯狀態(tài)改為1,,例如,通過跳接器,,將引腳臨時(shí)連接至VCC,。注意:硬件寫保護(hù)對(duì)2級(jí)保護(hù)進(jìn)行永久設(shè)置,但還是留有一個(gè)后門(WPZ引腳),,以便今后的改正,。
注意:寄存器寫保護(hù)被永久使能后,清除看門狗,、RTC和電池警報(bào)的唯一方法是VCC再次上電,。不論VCC電源如何,換掉電池后,,清除多功能控制/設(shè)置寄存器和RTC及其警報(bào)寄存器,。如果硬件寫保護(hù)和寄存器寫保護(hù)都被激活(RPROT = 1,WPEN = 1,,WPZ引腳連接至地GND),,用戶可能需要致電設(shè)備生產(chǎn)商,以重新配置設(shè)備,,重新運(yùn)行,。
電池選擇
DS28DG02需要電池來維持存儲(chǔ)在地址134h多功能控制/設(shè)置寄存器中的配置信息,,并保持RTC運(yùn)行。如果VCC可永久使用,,則不需要電池,,VBAT引腳連接至VCC。如果VCC中斷,,沒有電池備份,,多功能控制/設(shè)置寄存器上電時(shí)所有位都是0。這會(huì)停止RTC,,禁止時(shí)鐘鬧鐘,、看門狗和電池監(jiān)控器。這是正常設(shè)置,,與不使用RTC和看門狗的應(yīng)用無關(guān),。典型DS28DG02應(yīng)用至少會(huì)使用RTC或者看門狗,因此需要電池,,并對(duì)電池進(jìn)行監(jiān)控,。
只有切斷VCC,才能節(jié)省電池功耗,。有兩種情況需要注意:a) RTC振蕩器停止時(shí)(關(guān)斷,,OSCE = 0);b) RTC振蕩器接通時(shí)(運(yùn)行,,OSCE = 1),。理論上,還有第三種情況和電池監(jiān)控器有關(guān),。但是,,電池監(jiān)控器(IMAX = 20μA)電池最大負(fù)載每小時(shí)只持續(xù)2秒時(shí)間,因此,,平均負(fù)載電流為11nA (20μA x 2/3600),,比RTC關(guān)斷時(shí)的負(fù)載低兩倍。電池監(jiān)控器并沒有縮短電池的使用時(shí)間,,因?yàn)橹挥蠽CC工作時(shí)才進(jìn)行監(jiān)控,,RTC和其他非易失存儲(chǔ)器單元由VCC進(jìn)行供電,而不是電池供電,。
DS28DG02的典型電池電壓為3V,,由一塊鋰電池(Li+)或者兩塊串聯(lián)的氧化銀鈕扣電池進(jìn)行供電。通常以mAh (毫安時(shí))來表示這些電池的容量,。通過負(fù)載電阻,,測(cè)量電池電壓下降到規(guī)定閾值的時(shí)間來獲得性能指標(biāo),方法和某些應(yīng)用相似,。電池生產(chǎn)商的數(shù)據(jù)資料上有詳細(xì)信息:
http://www.panasonic.com/industrial/battery/oem/chem/lith/coin1.htm
http://www.rayovac.com/technical/pdfs/pg_lithium.pdf
http://data.energizer.com/DataSheets.aspx
假設(shè)電池和電容類似,,電池的放電時(shí)間為t = Q/I。例如,,如果電池為1mAh,,放電電流為1μA,那么放電時(shí)間為:
按照下面公式,,這一結(jié)果與電池容量和放電電流之比相乘:
例如,,如果負(fù)載電流是10μA,48mAh電池能夠使RTC運(yùn)行48/10 x 41.66,,即200天,。+25°C左右,RTC接通時(shí)的最大負(fù)載電流為4.7μA,。因此,,同樣的電池可持續(xù)使用:
兩塊電池串聯(lián)可加倍電壓和容量,但并不延長(zhǎng)電池使用時(shí)間,。為確定使用時(shí)間,,必須將一塊電池的容量帶到公式2中,這是因?yàn)殡娏髁鬟^串聯(lián)的每塊電池,,以同一速率對(duì)每塊電池放電,。
使用PIO
DS28DG02有12個(gè)PIO通道。在典型應(yīng)用中,,有的PIO被用作輸入,,其他的用作輸出,而有的根本就沒有使用,。在存儲(chǔ)器映射上“靠近”的PIO (PIO0至PIO7,,PIO8至PIO11)在電路板上并不靠近。對(duì)于TSSOP,,所有偶數(shù)PIO位于封裝的左側(cè),,奇數(shù)PIO位于封裝的右側(cè)。對(duì)于TQFN,,3個(gè)偶數(shù)PIO位于封裝西側(cè),,3個(gè)奇數(shù)PIO位于封裝東側(cè),剩余的6個(gè)PIO,,包括奇數(shù)和偶數(shù),,位于封裝的南側(cè)。這樣看起來雖然不太尋常,,但是并不影響器件的使用,。
如果輸出模式中沒有PIO需要吸收或者源出大電流" title="大電流">大電流,可以采用小電流輸出模式,。在小電流輸出模式中,,對(duì)于所有共享同一存儲(chǔ)器地址的PIO,,同時(shí)進(jìn)行PIO讀寫。如果第5至第8個(gè)PIO需要同時(shí)讀或者寫,,選擇PIO通道0至通道7,,以最適合電路板布板拓?fù)涞姆绞剑瑢⑺鼈兎峙浣o應(yīng)用中的節(jié)點(diǎn),。由于大電流模式寫并不是同時(shí)進(jìn)行,,因此,只有優(yōu)化電路板布板時(shí)采用PIO,。下面的例子介紹了分配PIO通道的一種方法,。
配置實(shí)例
輸出: | 6 |
輸出類型: | 4路推挽,2路開漏 |
輸出模式: | 小電流(同時(shí)寫) |
輸入: | 4 |
反向讀 | 無 |
沒有使用: | 2 PIO |
以逆時(shí)針方向來看DS28DG02的PIO引腳分配,,共享同一存儲(chǔ)器地址的PIO順序?yàn)?,、4、6,、2,、3、7,、5,、1。這種順序和封裝類型無關(guān),。明顯靠在一起的是第6,、第2、第3和第7通道,。對(duì)于其他的兩路輸出,,由于引腳靠近,把第0通道和第4通道分配給它們,。這一方法沒有使用第1和第5通道,。輸出類型按4個(gè)PIO一組進(jìn)行設(shè)置,0至3,,4至7以及8至11,;同一組中的PIO有同樣的輸出類型。實(shí)例中的4路輸出需要采用推挽,。對(duì)于剛進(jìn)行的分配,,這可以是第0至第3通道,或者第4至第7通道,。由于沒有使用第1通道,,只有第0、第2和第3通道,,因此,,無法滿足這種輸出類型,。
為滿足輸出類型的要求,必須改變通道分配,。第4至第7通道現(xiàn)在被用于推挽(任意選擇),,第2和第3通道為開漏,。這樣,,沒有使用第0和第1通道。輸入被分配給第8至第11通道,,它們也共享同一存儲(chǔ)器地址,。
下一步,必須定義這一配置的上電默認(rèn)寄存器值,,并寫入對(duì)應(yīng)的存儲(chǔ)器地址,。下表使用以下顏色來解釋所進(jìn)行的選擇。
Value resulting from configuration/application requirements | |
? | Arbitrary assignment, "don't care" condition |
? | (Not assigned, reserved) |
PIO輸出狀態(tài)上電默認(rèn)值
|
|
|
|
|
|
|
|
|
? |
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
PIO方向的上電默認(rèn)值
|
|
|
|
|
|
|
|
|
? |
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
PIO反向讀的上電默認(rèn)值(PIO0至PIO7)
|
|
|
|
|
|
|
|
|
? |
|
|
|
|
|
|
|
|
|
|
|
PIO反向讀的上電默認(rèn)值(PIO8至PIO11),,PIO輸出類型和輸出模式
|
|
|
|
|
|
|
|
|
? |
|
|
|
|
|
|
|
|
|
|
|
利用數(shù)據(jù)資料中的通信實(shí)例定義,,將定義為輸出的PIO按下面序列進(jìn)行更新:
SEL | WREN | DSEL | SEL | WRITEH | <20h> | <1 byte PIO data> | DSEL |
要在PIO產(chǎn)生波形模式,并不需要以不同的PIO數(shù)據(jù)來重復(fù)整個(gè)序列,。而是發(fā)送需要的PIO數(shù)據(jù)字節(jié),;第1、第3和第5等字節(jié)被用于更新PIO,。由于PIO 8至11被分配為輸入,,因此,其他字節(jié)(第2,、第4和第6字節(jié)等)不起作用,。
下面的序列讀取被定義為輸入的PIO:
SEL | READH | <27h> | <1 bytes PIO data> | DSEL |
要快速?gòu)腜IO重復(fù)讀取,并不需要重復(fù)整個(gè)序列,。而是使用起始地址126h,,讀取需要的字節(jié)。第1,、第3和第5等字節(jié)返回被定義為輸出的通道狀態(tài),。其他字節(jié)(第2、第4和第6字節(jié)等)報(bào)告被分配為輸入的PIO 8至11的數(shù)據(jù),。
PIO大電流模式
對(duì)于寫操作,,PIO可以工作在小電流模式或者大電流模式下。以同樣的方式對(duì)所有的PIO線進(jìn)行模式選擇,。在小電流模式中,,共享同一字節(jié)地址的所有PIO同時(shí)開關(guān),。此外,如果以寫入地址120h來開始訪問PIO,,對(duì)于DS28DG02接收到的每一數(shù)據(jù)字節(jié),,寫地址在120h (PIO0至PIO7)和121h (PIO8至PIO11)之間切換。這種方法支持對(duì)PIO的快速寫入,,因此,,不需要在下一次寫訪問之前執(zhí)行WREN命令。
在大電流和小電流模式下,,PIO有相同的電流吸收或者源出能力,。然而,在大電流模式(OTM = 1)下,,PIO每次一個(gè)通道連續(xù)切換,;PIO電流擺率受到有源電路的限制。大電流模式并不采用地址切換,。地址是從120h遞增到121h,,然后是122h,以此類推,。要再次寫入地址120h,,則需要新的寫序列。
如果DS28DG02有穩(wěn)定的VCC供電,,打開PIO后立即產(chǎn)生復(fù)位,,感應(yīng)電壓尖峰進(jìn)入VCC監(jiān)控器,被錯(cuò)誤地認(rèn)為出現(xiàn)電源失效,。在這種情況下,,要么必須使用大電流模式,要么一次開關(guān)的通道數(shù)量小于8個(gè),,以軟件模擬大電流模式,,從而保證電流變化不會(huì)超過最大額定±50mA。
RTC晶振和PCB布板
各種封裝類型和尺寸都提供了32kHz表晶振,。DS28DG02數(shù)據(jù)資料中的PCB布板假設(shè)晶振引腳間距和封裝(TSSOP—0.65mm,;TQFN—0.50mm)引腳間距相匹配。這是非常緊湊的間距,,可能不太容易獲得這么小的晶振,。為適應(yīng)更大的晶振,需要對(duì)PCB布板進(jìn)行改動(dòng),,如圖2所示,。保持好保護(hù)環(huán)和局部地平面非常重要。晶振引腳X1和X2至晶振焊盤的走線應(yīng)盡量對(duì)稱。
圖2. 可供選擇的另一種PCB布板
關(guān)于晶振選擇的詳細(xì)信息,,請(qǐng)參考Maxim應(yīng)用筆記#616,,Considerations for Maxim Real-Time Clock Crystal Selection。該文檔還包括SMD晶振的技術(shù)數(shù)據(jù),,以及其他供應(yīng)商網(wǎng)站的鏈接,。
時(shí)鐘鬧鐘
DS28DG02能夠從每秒一次到每月一次產(chǎn)生RTC鬧鐘。通過ALMZ引腳發(fā)出報(bào)警,,電池報(bào)警和看門狗報(bào)警也使用該引腳,。作為時(shí)鐘鬧鐘的前提條件,必須運(yùn)行RTC,,并使能時(shí)鐘鬧鐘(OSCE = 1, CAE = 1),。
一般而言,要消除時(shí)鐘鬧鐘,,時(shí)鐘狀態(tài)必須與鬧鐘寄存器中的數(shù)值相匹配。有4個(gè)RTC鬧鐘寄存器:秒,、分鐘,、小時(shí)、星期日期或者月日期,。鬧鐘寄存器中的最高有效位是AM1至AM4,,它們控制寄存器是否參與對(duì)比。地址133h的DY/DT位規(guī)定剩下的6個(gè)比特是否和RTC的星期日期或者月日期進(jìn)行對(duì)比,。在其他方面,,鬧鐘寄存器和RTC的位分配相匹配。
定義好鬧鐘時(shí)間和頻率后,,將每個(gè)比特(BCD代碼)寫入模板,,將結(jié)果轉(zhuǎn)換為十六進(jìn)制格式(“Hex”列),從而產(chǎn)生時(shí)鐘鬧鐘寄存器數(shù)據(jù),。然后,,通過SPI寫序列,將獲得的數(shù)據(jù)寫入鬧鐘寄存器,。下面的例子解釋了這一過程,。這里的顏色表示和上面PIO一節(jié)的相同。
實(shí)例1:每小時(shí)的25分鐘30秒產(chǎn)生鬧鐘
|
|
|
|
|
|
|
|
|
? |
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
實(shí)例2:24小時(shí)格式,每天在22:59:59產(chǎn)生鬧鐘
|
|
|
|
|
|
|
|
|
? |
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
實(shí)例3:12小時(shí)格式,,在每星期的第一天6:30:00PM產(chǎn)生鬧鐘
|
|
|
|
|
|
|
|
|
? |
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
看門狗
CPU監(jiān)控電路中一般采用看門狗。技術(shù)上,,看門狗可以解釋為可重觸發(fā)單穩(wěn)態(tài)工作方式,。在不穩(wěn)定狀態(tài)時(shí),微控制器周期性地將正脈沖加到看門狗的觸發(fā)輸入WDI上,,保持一次觸發(fā)單穩(wěn)態(tài),。如果微控制器做不到這一點(diǎn),看門狗超時(shí),,復(fù)位微控制器,。
通過SPI狀態(tài)寄存器的WD1:WD0位來選擇DS28DG02的看門狗超時(shí)。在寄存器的寫訪問沒有被阻塞
裝上電池(電池安裝)或者上電復(fù)位(如果沒有電池)時(shí)禁用了看門狗
報(bào)警響應(yīng)
在地址135h的DS28DG02報(bào)警和狀態(tài)寄存器留有6個(gè)比特來指示重要事件。在出現(xiàn)這類事件時(shí),,微控制器應(yīng)特別對(duì)待,,分別進(jìn)行響應(yīng),,如下所示。如果RPROT = 0,,向該寄存器寫入0,,所有報(bào)警被清除。
RST:復(fù)位標(biāo)志 | 在RSTZ引腳上有脈沖時(shí),,該位被置位,,例如,VCC增大時(shí)的上電復(fù)位,,手動(dòng)復(fù)位,,或者看門狗報(bào)警等,??刂破鲌?zhí)行其正常上電來進(jìn)行響應(yīng),。 |
WDA:看門狗報(bào)警 | 看門狗報(bào)警復(fù)位微控制器,對(duì)RST也會(huì)有相同的響應(yīng),。微控制器能夠計(jì)數(shù)看門狗報(bào)警事件的次數(shù),。 |
CLKA:時(shí)鐘鬧鐘 | 對(duì)于時(shí)鐘鬧鐘,微控制器有專門的響應(yīng),。 |
BOR:電池接通復(fù)位標(biāo)志 | 連接電池后,,多功能控制/設(shè)置寄存器、RTC以及RTC鬧鐘寄存器被清零,。這是一種錯(cuò)誤狀態(tài),需要進(jìn)行初始化,,例如,,通過用戶輸入(時(shí)間)和存儲(chǔ)在EEPROM中的備份數(shù)值來恢復(fù)丟失的數(shù)值。如果使能了硬件寫保護(hù),,并且RPROT = 1,,除非用戶知道怎樣禁用硬件寫保護(hù),否則需要將設(shè)備送回,,以便進(jìn)行維修服務(wù),。微控制器通過WPZV位來監(jiān)視硬件寫保護(hù)。 |
POR:上電復(fù)位標(biāo)志 | 上電復(fù)位在RSTZ引腳產(chǎn)生一個(gè)脈沖,。微控制器執(zhí)行其正常上電來進(jìn)行響應(yīng),。 |
BATA:電池報(bào)警 | 該報(bào)警指示備用電池接近最終使用壽命。這一狀態(tài)要求用戶注意換電池,。根據(jù)不同的應(yīng)用,,可以對(duì)電池報(bào)警事件進(jìn)行計(jì)數(shù),達(dá)到一定計(jì)數(shù)值后,,在換電池之前,,設(shè)備停止工作。 |
結(jié)論
在需要存儲(chǔ)器、RTC,、PIO以及電源監(jiān)控器和看門狗等CPU監(jiān)控功能的便攜式設(shè)備和其他應(yīng)用中,,DS28DG02是非常靈活并且使用方便的元件。
SPI是Motorola, Inc.的商標(biāo),。