<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 單片機系統中的掉電檢測與數據存儲問(wèn)題

單片機系統中的掉電檢測與數據存儲問(wèn)題

作者: 時(shí)間:2016-11-13 來(lái)源:網(wǎng)絡(luò ) 收藏
1)總體思路

由于電能表的計量是要求持續性的,而主供電系統不可能是持續的,注意這里需要一個(gè)掉電檢測數據存儲的問(wèn)題。首先檢測出供電系統已經(jīng)斷電,然后啟用備用電源存儲數據,而且數據必須存儲在掉電不易失的存儲器(如EEPROM,FLASH等)中。

本文引用地址:http://dyxdggzs.com/article/201611/316455.htm

本應用中,需要檢測出掉電后備用電源能提供足夠的電能供單片機進(jìn)行數據存儲??傮w思路,本應用中單片機采用的是STC89C58RD+,單片機內部已經(jīng)集成了16K的EEPROM,所以不需要另外外接存儲器。ADE7755已經(jīng)自帶了電源監控功能,前面的ADE7755的介紹中已經(jīng)有所描述,所以亦無(wú)須擔心。這里只需要解決好單片機的掉電問(wèn)題即可。在系統的穩壓前端設置監測點(diǎn),當監測點(diǎn)的電壓下降到另一個(gè)基準比較電壓時(shí)產(chǎn)生單片機外部中斷。當單片機接收到外部中斷后啟動(dòng)數據存儲程序,將數據存儲到片內EEPROM內。當主供電系統恢復供電后,單片機首先讀取EEPROM數據,然后再恢復計數。

2)掉電檢測

有電壓采集轉換、電壓比較等方案。經(jīng)過(guò)綜合考慮,這里采用LM393比較器來(lái)對比監測點(diǎn)與參考點(diǎn)電壓,一旦監測點(diǎn)電壓降到某種程度,比較器就會(huì )有高電平輸出,由此產(chǎn)生單片機外部中斷。

另外有一種反其道而行之的方案。在降壓后的交流端加一個(gè)光耦產(chǎn)生中斷,一旦中斷消失程序轉向數據存儲。

3)備用電源

雖然備用電源可以采用可充電電池,大電容等方案,但由于這里所需要的電量并不是很大,持續時(shí)間也不需要很長(cháng),只需要能完成數據存儲即可。所以這里選擇了大電容作為備用電源這一方案。選擇了在穩壓后端與單片機電源端直接并聯(lián)了兩個(gè)達3300uF的大容量電解電容。同時(shí),為安全起見(jiàn),在單片機的電源輸入端還串入了一個(gè)低正向壓降壓降的二極管來(lái)阻止大電容向除單片機意外的其他電路放電。

4)數據存儲

不可易失存儲方案很多,比如EEPROM,FLASH,鐵電等。但Flash讀寫(xiě)比較麻煩,鐵電也需要另加外圍器件,所以這里選擇單片機內置的EEPROM無(wú)疑是最好的選擇。不僅讀寫(xiě)簡(jiǎn)單方便,可多次擦寫(xiě),減少外圍器件與單片機IO口,而且為備用電源減輕了很大的負擔。

最后,需要說(shuō)明的是,實(shí)際上現在很多高檔單片機已經(jīng)集成上述功能。比如AVR自帶的BOD(Brown-outDetection)電路,內置模擬比較器,C8051F系列自帶AD而且在掉電時(shí)自動(dòng)產(chǎn)生中斷。也有獨立的專(zhuān)用復位芯片,如TPS3705,ISL88706等。

5)理論計算

(1)按恒流充放電的簡(jiǎn)化計算:Q=CV=IT.Q是電量,C是電容量,V是電壓,I是電流,T是時(shí)間

那么T=CV/I,在本例中可以估算時(shí)間為T(mén)=0.0033f*(5.0V-3.8V)/0.012A=0.33s,即330ms.

330/8.5=38.8mS,即最多可以保存38字節數據到EEPROM中,38字節對于本應用已經(jīng)足夠。

數據說(shuō)明:

單片機在3.8V到5.5V之間工作正常;單片機的工作電流典型值是4mA;最大工作電流20mA;普通外置EEPROM的讀寫(xiě)一個(gè)字節的時(shí)間是8.5mS左右。據下面引述資料顯示,此計算是保守估算,故可靠性有所保證。

STC單片機datasheet上是這樣描述的:

1.同一次修改的數據放在同一扇區中,不是同一次修改的數據放在另外的扇區,就不須讀出保護。

2.如果一個(gè)扇區只用一個(gè)字節,那就是真正的EEPROM,STC 單片機的Data Flash 比外部EEPROM 要快很多,讀一個(gè)字節/ 編程一個(gè)字節大概是0.2uS/60uS。

3.如果在一個(gè)扇區中存放了大量的數據,某次只需要修改其中的一個(gè)字節或一部分字節時(shí),則另外的不需要修改的數據須先讀出放在STC單片機的RAM中,然后擦除整個(gè)扇區,再將需要保留的數據和需修改的數據一并寫(xiě)回該扇區中。這時(shí)每個(gè)扇區使用的字節數是使用的越少越方便(不需讀出一大堆需保留數據)。



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>