當(dāng)前位置:首頁 > 芯聞號 > 基礎(chǔ)知識科普站
[導(dǎo)讀]單片機(jī)在掉電時(shí),電壓低過一定的值。執(zhí)行程序代碼出錯或是程序指針跑飛。剛好執(zhí)行EEPORM 寫入操作,才會出現(xiàn)所說的EEPROM 數(shù)據(jù)丟失!就算是外置EEPROM 在低于正常工作電壓,進(jìn)行寫入操作,也會出現(xiàn)這種情況!

LinkedInEEPROM 數(shù)據(jù)被破壞的主要原因有:

1、電源異常使EEPROM的數(shù)據(jù)徹底丟失;

2、復(fù)位不好和軟件跑飛可能會使EEPROM的數(shù)據(jù)被改寫。

要防止EEPROM數(shù)據(jù)被破壞,主要在以下幾方面做工作:

1、選用比MCU的電源范圍寬并有WP引腳的EEPROM芯片;

2、做好電源濾波,而且要等電源開機(jī)穩(wěn)定后才去讀寫EEPROM;

3、做好復(fù)位電路;

4、做好軟件跑飛的處理;

5、SDA和SCK的上拉最好用I/O口控制,既可省電,也可在一定情況下保護(hù)EEPROM;

6、WP接MCU的RESET;如WP做軟件保護(hù),將寫不進(jìn)數(shù)據(jù);接I/O,上電時(shí)WP的狀態(tài)可能不穩(wěn)定。

7、EEPROM空間富余時(shí)考慮雙備份或多備份數(shù)據(jù),每份數(shù)據(jù)都有校驗(yàn)和。

EEPROM數(shù)據(jù)丟失的原因與對策

選用比MCU的電源范圍寬并有WP引腳的EEPROM芯片的原因:

1、EEPROM的芯片本身有一定的保護(hù)時(shí)序;

2、電源低于MCU工作電源高于EEPROM芯片的最低工作電源時(shí),EEPROM芯片會處于穩(wěn)定狀態(tài),不會丟失數(shù)據(jù)。

3、當(dāng)電源較長時(shí)間低于EEPROM芯片的最低工作電壓時(shí)非常容易丟失全部數(shù)據(jù)。否則MCU還能工作,但EEPROM芯片已不能工作時(shí),EEPROM中的數(shù)據(jù)會全部丟失。

4、用I/O口線給EEPROM供電,只在讀寫EEPROM時(shí)才給器件供電,不僅能提高可靠性,而且能省電。

但有兩點(diǎn)要注意:

一是一些單片機(jī)復(fù)位時(shí)所有I/O都是高電平,會使EEPROM芯片進(jìn)入工作;

二是EEPROM芯片給電后需要有大于寫周期的延時(shí)才能讀寫。

EEPROM數(shù)據(jù)丟失的原因與對策

1、環(huán)境因素

★原因:高溫、高濕、輻射、靜電、強(qiáng)電磁場均可能使EEPROM存儲單元

造成數(shù)據(jù)丟失或數(shù)據(jù)保存時(shí)間縮短。

●對策:

①不要在高溫、高濕、輻射、靜電、強(qiáng)電磁場環(huán)境中存放EEPROM器,如果法避免,應(yīng)采取適當(dāng)?shù)姆雷o(hù)措施。

②在高溫環(huán)境中使用EEPROM器件,須確認(rèn)存儲內(nèi)容的更新時(shí)間和器件使用期限

③工作環(huán)境濕度較大時(shí)可考慮線路板灌膠防潮,防水膠要選用吸水率低的

④在輻射、靜電、強(qiáng)電磁場環(huán)境中工作要做好屏蔽。

2、設(shè)計(jì)因素

★原因:器件在讀寫時(shí)系統(tǒng)狀態(tài)不定。

●對策:

①增加上電復(fù)位電路,確保在上、掉電期間系統(tǒng)處于確定的狀態(tài)。復(fù)位門檻電壓應(yīng)不小于MCU最低工作電壓,EEPROM器件的工作電壓范圍應(yīng)不小于MCU。

注意:某些MCU內(nèi)置的POR電路在電源上升緩慢時(shí)不能保證可靠復(fù)位

②增加電源電壓檢測電路,確保在電源電壓穩(wěn)定正常后MCU才開始運(yùn)而在電源狀態(tài)不定時(shí)不訪問EEPROM。啟用MCU內(nèi)的BOD電路不足以防止

EEPROM讀寫錯誤。

③利用器件的“寫保護(hù)”引腳,可以減小EEPROM被意外改寫的幾率

★原因:器件在讀寫時(shí)被異常中斷。

●對策:

①確認(rèn)電源電壓從正常值跌落至MCU復(fù)位門檻電壓的時(shí)間足夠保持EEPROM讀寫操作完成。根據(jù)需要增加電源儲能電容或者使用備份電源。

②在檢測到電源電壓跌落時(shí)立即關(guān)閉所有無關(guān)外設(shè),在訪問EEPROM期間禁止MCU中斷,或者設(shè)置EEPROM讀寫中斷為最高優(yōu)先級。

③使用“寫入查詢”加快寫入過程。

★原因:模擬總線時(shí)序不夠嚴(yán)格規(guī)范。

●對策:

①總線上拉電阻太大,使SDA、SCL邊沿上升時(shí)間太長。對400kHz快速模式,當(dāng)總線電容小于100pF時(shí)上拉電阻推薦值為2.7kΩ。

②MCU操作速度太快或延時(shí)不夠,不滿足總線信號的建立、保持時(shí)間查閱《I2C總線技術(shù)精要》,按示例規(guī)范時(shí)序編程。

③總線過長,使信號邊沿不能滿足要求。應(yīng)縮短總線長度。

④總線電容超過400pF。應(yīng)減少總線上所連接的器件。

★原因:器件在讀寫時(shí)總線受到干擾。

●對策:

①如應(yīng)用板干擾較大,應(yīng)重新設(shè)計(jì)電路或改變PCB布局布線,敷銅或多層板改善EMC。如環(huán)境干擾較大,應(yīng)采取相應(yīng)的屏蔽措施。

②使用數(shù)據(jù)編碼和校驗(yàn)增加數(shù)據(jù)的可信性,或?qū)懭胩囟?biāo)志來識別數(shù)據(jù)完整性,如有可能,在每次寫入完成后立即讀出校驗(yàn)。

★原因:地線不合理或電源噪聲干擾。

●對策:

①重新布置地線,注意區(qū)分模擬地、數(shù)字地、信號地、功率地、屏蔽地,安全地

②使用帶屏蔽的隔離電源;在電源線上增加LC濾波器;IC器件的電源引腳加0.1uF瓷介退耦電容。別忘了三個(gè)基本電路元件之一的電感器,抑制電源噪聲干擾,電感器通常有立竿見影的作用。必要時(shí),加磁珠抑制高頻噪聲干擾。[page]

3、生產(chǎn)因素

★原因:焊接和裝配過程中的高溫、靜電可能造成EEPROM器件數(shù)據(jù)丟失或保存時(shí)間縮短。

●對策:

①改進(jìn)生產(chǎn)工藝,控制加工過程,加強(qiáng)防靜電措施。

②如有可能,在線路板生產(chǎn)完成后再寫入EEPROM數(shù)據(jù)。

4、器件因素

★原因:器件擦寫次數(shù)已接近循環(huán)壽命。

●對策:更換器件。如果器件有剩余空間,軟件通過更改每次寫入的地址單元可延長

器件使用壽命。

★原因:器件質(zhì)量問題。

●對策:更換不同廠家或批號的器件;控制采購過程。

只是單片機(jī)在掉電時(shí),電壓低過一定的值。執(zhí)行程序代碼出錯或是程序指針跑飛。剛好執(zhí)行EEPORM 寫入操作,才會出現(xiàn)所說的EEPROM 數(shù)據(jù)丟失!就算是外置EEPROM 在低于正常工作電壓,進(jìn)行寫入操作,也會出現(xiàn)這種情況!

BOD 的功能是低壓復(fù)位。當(dāng)電壓低過一定的值,就會讓單片機(jī)復(fù)位。不能繼續(xù)程序代碼,就沒有出現(xiàn)所說的丟失數(shù)據(jù)!

EEPORM 進(jìn)行數(shù)據(jù)備份,并在每份數(shù)據(jù)后里加入校驗(yàn)機(jī)制(如RCR)。我是這么做的,讀取EEPROM 的數(shù)據(jù)組并進(jìn)行校驗(yàn)檢測。如果通不過,這組數(shù)據(jù)就不要。繼續(xù)下一組數(shù)據(jù)檢測,當(dāng)所有的數(shù)據(jù)組都不能通過檢測時(shí),并加載默認(rèn)的設(shè)置參數(shù)!在更新數(shù)據(jù)時(shí),刷新所有的數(shù)據(jù)組。并給每組加入校驗(yàn)機(jī)制!但最好不要在掉電時(shí)對EEPROM 進(jìn)行任務(wù)的操作!這樣出錯的機(jī)率很低!

在項(xiàng)目開發(fā)中經(jīng)常使用到EEPROM,現(xiàn)在把自己開發(fā)中曾經(jīng)遇到的陷阱和自己的解決方法列出。

(1)現(xiàn)象:加密型遙控器的ID自動丟失和改變。

原因:在更新EEPROM過程中,斷開電源。

解決方法:

a.更改設(shè)計(jì)避免在寫入EEPROM過程中斷開電源;

b.增加100uF的電容,斷電后瞬間維持EEPROM供電正常至EEPROM寫入完成。

(2)現(xiàn)象:保存在EEPROM里的配置信息自動被改變。

原因:在EEPROM讀寫過程中進(jìn)入了中斷服務(wù)程序,而中斷服務(wù)程序也調(diào)用了EEPROM讀寫函數(shù)。

解決方法:

a.保證EEPROM讀寫函數(shù)的第一句是cli(),最后一句是sei();

b.中斷服務(wù)程序不直接調(diào)用EEPROM讀寫函數(shù),如果SRAM足夠大使用讀寫緩沖區(qū)代替直接讀寫EEPROM,中斷返回后在主循環(huán)粒更新EEPROM;

c.如果檢測到EEPROM已被占用,則進(jìn)入阻塞狀態(tài),等待EEPROM釋放后繼續(xù)執(zhí)行;

d.如果EEPROM里的數(shù)據(jù)長度大于EEPROM最小存儲單元,必須保證該數(shù)據(jù)的讀寫不被打斷。

(3)現(xiàn)象:突然斷電時(shí),EEPROM數(shù)據(jù)偶爾會丟失。 原因:在斷電時(shí)剛好在進(jìn)行EEPROM寫操作。

解決方法:加大電源濾波電容的容量,增加電壓檢測功能,當(dāng)電壓偏低時(shí)禁止EEPROM寫入操作。

(4)現(xiàn)象:當(dāng)大功率交流或直流電機(jī)啟動或后,EEPROM里的數(shù)據(jù)自動丟失或改變。

原因:在大功率電機(jī)啟動或斷開瞬間EMI干擾大。

解決方法:

a.避開這些時(shí)候讀寫EEPROM。

b.如果無法避開這些時(shí)候,啟動EEPROM寫保護(hù)功能,并且每個(gè)數(shù)據(jù)都保存多個(gè)副本。

c.使EEPROM和EEPROM的DAT,CLK等信號線遠(yuǎn)離可能產(chǎn)生干擾的元件,并且避免形成大的環(huán)路。

d.使用EMI抑制電路降低干擾幅度。

9.5 注意事項(xiàng)

單片機(jī)的斷電保護(hù)雖然不是非常復(fù)雜,但是要做得好,使線路簡潔、性能可靠卻很不容易。下面列了幾點(diǎn)設(shè)計(jì)時(shí)需要注意的事項(xiàng)。

(1)加大濾波電容的容量。單片機(jī)接收到電壓監(jiān)控電路送來的中斷信號后,立即中斷正在執(zhí)行的程序,轉(zhuǎn)入中斷服務(wù)子程序,執(zhí)行數(shù)據(jù)保護(hù)并最后使單片機(jī)和RAM進(jìn)入低功耗狀態(tài)。在執(zhí)行中斷服務(wù)程序期間,單片機(jī)上的電源還必須保持在能夠正常工作的電壓范圍,也就是說電源VCC的跌落速度不能太快。為了達(dá)到這個(gè)目的,必須在主電源的濾波電路中,加大濾波電解電容的容量,一般應(yīng)使其總電容為4700mF以上。為了縮小體積,也可以把幾個(gè)電解電容器并聯(lián)使用。

對于斷電后數(shù)據(jù)保存在EEPROM的單片機(jī)系統(tǒng),由于EEPROM的數(shù)據(jù)寫入速度要比RAM慢得多,這樣寫同樣的數(shù)據(jù),需要的時(shí)間將會更多,因此要求主電源電壓的降低速度更慢,也就是說濾波電容的容量要更大,才能保證數(shù)據(jù)安全完整地寫入到EEPROM中。

(2)中斷服務(wù)程序的執(zhí)行速度要快。因?yàn)閿嚯姾髨?zhí)行斷電保護(hù)中斷程序期間,完全是靠濾波電容上的儲電進(jìn)行工作的,如果能加快中斷服務(wù)程序的執(zhí)行時(shí)間,將可以降低對電源濾波電路的要求,從節(jié)約成本和減少電路所占用的印制板空間來說都是非常有利的。為了加快中斷服務(wù)程序的執(zhí)行速度,建議采用匯編語言編寫中斷服務(wù)程序。

(3)中斷服務(wù)程序中,往往是直接與存儲器的絕對地址打交道,很容易算錯地址,必須特別小心,反復(fù)驗(yàn)對,才能保證程序準(zhǔn)確無誤。

(4)由于電源突然斷電,在斷電的某一瞬間,將會出現(xiàn)電源將斷未斷,反復(fù)斷開后又閉合,閉合后又?jǐn)嚅_的情景,反映在電源波形上就是有出現(xiàn)了許多毛剌,這些毛剌會給單片機(jī)系統(tǒng)造成非常強(qiáng)烈的干擾,嚴(yán)重時(shí)會導(dǎo)致斷電保護(hù)中斷程序無法正確執(zhí)行,或使保護(hù)在RAM中的數(shù)據(jù)出錯。為了解決這些個(gè)問題,對需要進(jìn)行實(shí)時(shí)斷電保護(hù)的單片機(jī)系統(tǒng),在電源設(shè)計(jì)時(shí),要比一般的單片機(jī)系統(tǒng)更注重抗干擾設(shè)計(jì),必要時(shí)可以加強(qiáng)電源濾波、采用開關(guān)電源等方法,千方百計(jì)地提高系統(tǒng)的抗干擾性能,使斷電保護(hù)更可靠。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉