本文導(dǎo)讀
相信大家都會(huì)遇到這樣的情況,當(dāng)你正在敲一份文檔或一段代碼時(shí),啪的一下停電啦,我擦……,我的代碼……,我的圖紙……,我剛寫好的文章……。但是在嵌入式系統(tǒng)中也會(huì)遇到類似的情況,通常會(huì)導(dǎo)致嵌入式系統(tǒng)數(shù)據(jù),程序丟失,不能工作,甚至損壞存儲(chǔ)系統(tǒng)。而對(duì)于核心板的嵌入式系統(tǒng)來說,異常掉電情況下數(shù)據(jù)不丟失,穩(wěn)定性是根本。本文基于CAT706介紹一種能夠檢測到異常掉電,并利用電容中存儲(chǔ)的少量電量保存數(shù)據(jù)、防止存儲(chǔ)器損壞、丟失數(shù)據(jù)的方法。一、概述
首先引用一篇微信文章“老板說:你去跳槽,我去跳樓!一場由SD卡引發(fā)的災(zāi)難”
去年上半年,我們公司承接了某大型廣告公司的電梯廣告顯示屏的項(xiàng)目,該產(chǎn)品使用了飛思卡爾的IMX6系列芯片作為主控CPU,具備媒體人機(jī)觸摸互動(dòng)、媒體投放、遠(yuǎn)程升級(jí)、錄像監(jiān)控等功能。其中很重要的一項(xiàng)功能就是監(jiān)控和保存功能,因客戶的報(bào)價(jià)較低,我們理所當(dāng)然的選擇了SD卡作為錄像數(shù)據(jù)的保存介質(zhì)。
沒想到,災(zāi)難半年后就降臨了,半年前發(fā)貨的10K機(jī)器,每個(gè)月都有10%的損壞率,損壞的機(jī)器90%都是SD卡損壞了!客戶不但要求我們賠償SD卡的損失,延長質(zhì)保期,而且威脅一個(gè)月內(nèi)不解決將終止合作,客戶是老板的唯一大客戶,丟失這個(gè)客戶我們離解散就不遠(yuǎn)。老板甚至放下狠話:一個(gè)月內(nèi)不解決,你們跳槽,我跳樓。
經(jīng)過仔細(xì)檢查確定SD卡損壞的原因是設(shè)備上下電導(dǎo)致的。
于是我們采用了如下的方案。其中方案的核心是掉電檢測電路和超級(jí)電容繼續(xù)供電電路。掉電檢測電路是用運(yùn)放搭出來的一個(gè)比較復(fù)雜的比較電路,由于復(fù)雜這里就不上圖了。圖1是超級(jí)電容的充放電電路,增加該電路可以使掉電后繼續(xù)維持2秒鐘的時(shí)間,使CPU完成掉電后的保護(hù)處理工作。
圖1 超級(jí)電容充放電電路
上述案例結(jié)局辦法是用運(yùn)放搭建掉電檢測電路比較復(fù)雜,容易出現(xiàn)問題,這里推薦大家一個(gè)高集成度的掉電檢測電路。
二、功能簡介:
如圖2所示是CAT706芯片內(nèi)部框圖。CAT706內(nèi)部集成了多種功能,功能強(qiáng)大,使用簡便,此次只重點(diǎn)講解其內(nèi)部的掉電檢測功能。
圖2 內(nèi)部功能框圖
由于內(nèi)部框圖很簡單,可以很容易的分析出有以下四種情況能導(dǎo)致單片機(jī)復(fù)位或中斷:
-
VCC供電不符合要求時(shí)可導(dǎo)致RESET復(fù)位輸出;
-
MR引腳可以手動(dòng)使RESET復(fù)位輸出;
-
看門狗WDI沒及時(shí)喂狗可導(dǎo)致WDO復(fù)位輸出;
-
電源掉電檢測輸入PFI可導(dǎo)致PFO中斷輸出。
針對(duì)以上四個(gè)功能對(duì)嵌入式系統(tǒng)作用如下:
-
可保證VCC供電在穩(wěn)定時(shí)單片機(jī)工作,不穩(wěn)定時(shí)復(fù)位輸出保證系統(tǒng)穩(wěn)定運(yùn)行;
-
可人為手動(dòng)控制單片機(jī)復(fù)位運(yùn)行;
-
看門狗實(shí)時(shí)監(jiān)測系統(tǒng),防止系統(tǒng)跑崩潰;
-
及時(shí)監(jiān)測供電系統(tǒng)是否掉電從而讓系統(tǒng)迅速處理數(shù)據(jù)。
本篇文章主要就是針對(duì)其第四點(diǎn)檢測意外掉電的保護(hù)處理方案。
三、典型應(yīng)用
PFI相當(dāng)于是一個(gè)電壓比較器的正輸入端,如果PFI電壓高于1.25V那么PFO就會(huì)輸出高電平,如果PFI電壓低于1.25V哪呢PFO就會(huì)輸出低電平。如此便可以通過PFI作為輸入將前端的高電壓分壓后接入,從而可以提前檢測到前端的掉電情況。
如圖3所示是CAT706典型應(yīng)用電路及時(shí)序圖。原理圖相對(duì)比較簡單容易理解,并且畫出了在掉電和上電后各部分的理論波形圖。
一般情況下系統(tǒng)的供電都是由前端市電隔離降壓到相對(duì)偏高的直流電壓(如12V),再降壓到系統(tǒng)所需要工作的電壓(如5V/3.3V)。如圖3所示是針對(duì)于檢測前端的12V直流電壓的掉電檢測電路。
圖3 典型應(yīng)用電路及時(shí)序圖
12V上電時(shí)輸出的5V會(huì)對(duì)大電容充電,圖中串聯(lián)了一個(gè)電阻用來限流,當(dāng)?shù)綦姇r(shí)電容的電量會(huì)通過旁邊的肖特吉二極管直接放電給后端負(fù)載使用。
由于12V掉電到5V/3.3V掉電完成之間有一段時(shí)差,所以可以提前檢測12V的掉電情況使單片機(jī)進(jìn)入Interrupt對(duì)掉電采取一系列應(yīng)對(duì)措施,并且在5V/3.3V掉電完成前完成操作,如圖中的時(shí)間T,并且此段時(shí)間T與圖中紅色圈的電容值大小有關(guān),電容值越大時(shí)間T就越長(必要時(shí)可以考慮使用法拉電容);且檢測掉電的信號(hào)越靠近總電源的前端就越好。
為了增大掉電后的維持時(shí)間T,不僅可以增大儲(chǔ)能電容值來達(dá)到目的,也可以將掉電檢測信號(hào)往前端挪動(dòng),例如將掉電檢測移至最前端的220V市電或前端高壓,市電掉電時(shí)到12V掉電中間也有一段時(shí)間,這樣就可以間接增加掉電后的維持時(shí)間T。
如圖4所示是檢測前端電壓的掉電檢測電路。提前處理掉電信號(hào)以此來增加掉電后的電壓維持時(shí)間。
圖4 前端掉電檢測電路
以圖3所示的法拉電容放置位置可知隨著掉電后的電壓維持,電容上的電壓會(huì)逐漸下降可能會(huì)影響到后端系統(tǒng)的工作。為此可以將大電容的充放電電路移至前端的高電壓部分,也可以將降壓電路分為兩節(jié)或三節(jié)降壓連接,如此只需將大電容的放置位置相對(duì)往前端挪一節(jié)即可保證在掉電維持的那段時(shí)間內(nèi)主系統(tǒng)的工作電壓維持穩(wěn)定。如圖4所示對(duì)大電容的擺放位置改動(dòng)。
四、實(shí)測分析
針對(duì)上一節(jié)關(guān)于CAT706原理的推算和實(shí)際效果波形的推算我們做了如下的硬件電路搭建,硬件電路針對(duì)圖3搭建。如圖5所示硬件使用洞洞板搭建,用來測試實(shí)際的輸入供電電壓波形,輸出電壓波形以及PFO和RST引腳的波形。
圖5 實(shí)物圖
如圖6所示波形1是輸入的12V電壓波形、波形2是輸出的5V電壓波形、波形3是復(fù)位引腳的電壓波形、波形4是PFO引腳的電壓波形。圖中測試時(shí)輸出以10mA的負(fù)載對(duì)其恒流放電。
圖6 測試波形圖
當(dāng)輸入12V上升時(shí),DCDC電源會(huì)緊接著開始輸出5V,同時(shí)隨之12V的上升其分壓值若大于PFI的輸入閾值時(shí)PFO會(huì)跟著立即輸出高電平,復(fù)位引腳在檢測到5V電壓正常一段時(shí)間后也會(huì)時(shí)復(fù)位系統(tǒng),系統(tǒng)啟動(dòng)工作。
當(dāng)輸入12V意外斷電下降時(shí)其在PFI引腳上的分壓值低于閾值時(shí)PFO會(huì)立即輸出低電平,此PFO的低電平會(huì)中斷系統(tǒng)主控告知系統(tǒng)意外斷電應(yīng)立即對(duì)存儲(chǔ)數(shù)據(jù)進(jìn)行處理,防止數(shù)據(jù)丟失。圖中的測試波形是以10mA的恒流負(fù)載模擬測試效果,從圖中可以看出從檢測到意外斷電到系統(tǒng)復(fù)位停止工作中間有244ms的處理時(shí)間。這個(gè)時(shí)間和DCDC輸出端的電容有很大的關(guān)系,電容值越大其數(shù)據(jù)處理的時(shí)間越長,圖中是以2200μF的電容值大小、負(fù)載10mA恒流情況下測得是時(shí)間。實(shí)際處理時(shí)檢測到掉電主控應(yīng)立即斷掉液晶屏等不需要的耗電外設(shè)只保持主控部分的供電即可。
-
檢測電路
+關(guān)注
關(guān)注
13文章
305瀏覽量
58108 -
周立功
+關(guān)注
關(guān)注
38文章
130瀏覽量
37584
原文標(biāo)題:硬件設(shè)計(jì)08:巧用CAT706做掉電檢測
文章出處:【微信號(hào):Zlgmcu7890,微信公眾號(hào):周立功單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論