老板,樓不用跳了,SD卡問(wèn)題我們解決了
SD存儲(chǔ)卡(包括Micro SD卡)是一種基于半導(dǎo)體快閃記憶器的新一代記憶設(shè)備,由于它體積小、數(shù)據(jù)傳輸速度快、價(jià)格低廉等眾多優(yōu)勢(shì),被廣泛地于便攜式裝置上使用,例如數(shù)碼相機(jī)、個(gè)人數(shù)碼助理(外語(yǔ)縮寫(xiě)PDA)和多媒體播放器等。在十幾年的發(fā)展史上,秒殺眾SM卡、CF卡、XD卡、MMC等存儲(chǔ)卡,但是,萬(wàn)物有利必有弊,今天,小編要為大家分享一個(gè)由SD引發(fā)的災(zāi)難,以及該災(zāi)難被我們項(xiàng)目組攻克的技術(shù)案例。
去年上半年,我們公司承接了某大型廣告公司的電梯廣告顯示屏的項(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ì)。沒(méi)想到,災(zāi)難半年后就降臨了,半年前發(fā)貨的10K機(jī)器,每個(gè)月都有10%的損壞率,損壞的機(jī)器90%都是SD卡損壞了。關(guān)鍵的監(jiān)控視頻信息全部丟失,客戶不但要求我們賠償SD卡的損失,延長(zhǎng)質(zhì)保期,而且威脅一個(gè)月內(nèi)不解決將終止合作,客戶是老板的唯一大客戶,丟失這個(gè)客戶我們離解散就不遠(yuǎn)。老板甚至放下狠話:一個(gè)月內(nèi)不解決,你們跳槽,我跳樓。
項(xiàng)目組首先從客戶的使用的電梯的場(chǎng)景入手,場(chǎng)景的特點(diǎn)如下:
1、電梯內(nèi)部布滿各種通信線、音視頻線、電力線,互相之間的干擾非常嚴(yán)重
2、電梯內(nèi)的廣告機(jī)每天晚上12點(diǎn)至早上6點(diǎn)回自動(dòng)斷電,白天自動(dòng)上電
3、廣告機(jī)只要開(kāi)機(jī)就需要一直錄像,保存到本地的SD卡中。
于是我們首先模擬現(xiàn)場(chǎng)的應(yīng)用場(chǎng)景,第一個(gè)場(chǎng)景公司內(nèi)部無(wú)法模擬,于是先模擬第二和第三個(gè)場(chǎng)景,事設(shè)備上電10分鐘,掉電5分鐘,只要一上電就開(kāi)始錄像,提高上下電的頻率。樣本數(shù)量使用了50臺(tái)。
實(shí)驗(yàn)第一天,SD卡損壞0張;
實(shí)驗(yàn)第二天,SD卡損壞1張;
實(shí)驗(yàn)第三天SD卡損壞3張,一直到實(shí)驗(yàn)到第6天,SD卡一共損壞8張。
我們基本找到SD卡損壞的原因:就是設(shè)備上下電導(dǎo)致的。于是大家分頭行動(dòng),從硬件和軟件、驅(qū)動(dòng)著手,分析掉電可能引起的原因。
首先是驅(qū)動(dòng)工程師查閱MMC的規(guī)范“JESD84-B45”時(shí)有發(fā)現(xiàn),如下圖1所示,
文中大概的意思就是,主機(jī)在掉電關(guān)閉設(shè)備前,應(yīng)該通知SD卡控制,由控制判斷掉電的緊迫性,從而進(jìn)入對(duì)本身設(shè)備的保護(hù)模式,并且在這之前,應(yīng)該保持設(shè)備的電源處于工作范圍之內(nèi)。
圖1 :JESD84-B45規(guī)范中掉電的要求。
繼續(xù)查閱SD卡2.0規(guī)范中,SD卡的標(biāo)準(zhǔn)只保證在讀數(shù)據(jù)過(guò)程中,意外斷電和移除可以對(duì)數(shù)據(jù)進(jìn)行保護(hù),對(duì)寫(xiě)和擦除過(guò)程中的掉電的,完全沒(méi)有把握保護(hù)數(shù)據(jù),也就是SD卡內(nèi)部的本身固件、用戶數(shù)據(jù)都是有可能丟失的。
圖2:SD 2.0標(biāo)準(zhǔn)中對(duì)SD卡的保護(hù)闡述
通過(guò)查閱相關(guān)的規(guī)范,我們知道了原因的所在,就是我們的設(shè)備在斷電的時(shí)候,還在錄像保存數(shù)據(jù),進(jìn)行不斷的寫(xiě)和擦除SD卡的操作。經(jīng)過(guò)討論,我們采用了如下的方案。.其中,方案的核心主要有3個(gè),第一:掉電檢測(cè)電路;第二:超級(jí)電容繼續(xù)供電電路,第三:掉電后軟件處理機(jī)制。
圖3:SD卡掉電保護(hù)的處理過(guò)程
下圖4是掉電檢測(cè)電路,可以精準(zhǔn)的檢測(cè)一旦電壓跌落至10V(電源為12V供電),馬上送掉電信號(hào)給CPU。
圖4:掉電檢測(cè)電路
下圖5是超級(jí)電容的充放電電路,增加該電路可以使掉電后繼續(xù)維持2秒鐘的時(shí)間,使CPU完成掉電后的保護(hù)處理工作。
圖5:超級(jí)電容充放電電路
經(jīng)過(guò)了上述的整改,我們生產(chǎn)了50臺(tái)設(shè)備,進(jìn)行連續(xù)7天24小時(shí),10分鐘一個(gè)循環(huán)的上下電測(cè)試,沒(méi)有一臺(tái)設(shè)備的SD卡損壞,證明了上述方案可行。老板的樓,終于不用跳了。
經(jīng)驗(yàn)總結(jié),其實(shí)CPU原廠提供的DEMO參考設(shè)計(jì),基本都是處在能用的狀態(tài),離真正的高可靠應(yīng)用,還有很大的距離,需要我們工程人員的不斷挖掘和積累。才能設(shè)計(jì)出高可靠性的產(chǎn)品。