新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 如何解決串行E2PROM 24C02在應(yīng)用中的問題

如何解決串行E2PROM 24C02在應(yīng)用中的問題

作者: 時(shí)間:2012-07-19 來源:網(wǎng)絡(luò) 收藏
串行是基于I2C-BUS的存儲(chǔ)器件,遵循二線制協(xié)議,由于其具有接口方便,體積小,數(shù)據(jù)掉電不揮發(fā)等特點(diǎn),在儀器儀表及工業(yè)自動(dòng)化控制中得到大量的應(yīng)用。隨著世界上各公司對(duì)該器件的開發(fā),市場(chǎng)上推出了許多牌號(hào)的器件,甚至還有一些冒牌的器件,這樣就使批量生產(chǎn)的單片機(jī)控制系統(tǒng)的質(zhì)量出現(xiàn)時(shí)好時(shí)壞的問題。筆者經(jīng)過大量的設(shè)計(jì)實(shí)踐和試驗(yàn)摸索找出了在應(yīng)用中之所以出現(xiàn)數(shù)據(jù)被沖掉的原因,并總結(jié)了一套保護(hù)24C02數(shù)據(jù)安全的軟硬件設(shè)計(jì)方法。

1.不同牌號(hào)24C02的性能區(qū)別

24C02與單片機(jī)的接口非常簡(jiǎn)單,如圖1所示。A0,A1,A2為器件地址線,WP為寫保護(hù)引腳,SCL,SDA為二線串行接口,符合I2C總線協(xié)議。在一般單片機(jī)系統(tǒng)中,24C02數(shù)據(jù)受到干擾的情況是很少的,但是隨著單片機(jī)抗干擾性能的變差,以及惡劣工業(yè)環(huán)境中單片機(jī)系統(tǒng)的應(yīng)用,一些智能單片機(jī)控制系統(tǒng)相繼出現(xiàn)24C02數(shù)據(jù)被沖掉的問題,而且隨著單片機(jī)的牌號(hào)以及24C02的牌號(hào)不同而出現(xiàn)不同程度的干擾現(xiàn)象。以前通過簡(jiǎn)單的器件之間替換比較,發(fā)現(xiàn)不同牌號(hào)的24C02其抗干擾性能是不一樣的,于是就認(rèn)定24C02器件存在"質(zhì)量"好壞的問題。后來在一次偶然的機(jī)會(huì)里,發(fā)現(xiàn)有些24C02的WP引腳并不起到保護(hù)作用,也就是說將WP引腳與CPU輸出引腳斷開并保持高電平的情況下,CPU仍然能夠?qū)?4C02中的數(shù)據(jù)進(jìn)行修改寫入!在驚訝之余,筆者收集了許多不同牌號(hào)的24C02進(jìn)行試驗(yàn),除了基本的讀寫功能外,還對(duì)地址功能以及WP引腳保護(hù)功能進(jìn)行了全面的檢測(cè),發(fā)現(xiàn)一種ATMEL(激光印字)以及XICOR牌號(hào)的24C02具有全面的符合I2C總線協(xié)議的功能,而有些牌號(hào)24C02要么沒有WP引腳保護(hù)功能,要么沒有器件地址功能(即2片24C02不能共用一個(gè)I2C總線),有些甚至兩種功能均無。所以說一些同樣功能型號(hào)的電子器件在兼容性上往往會(huì)帶來意想不到的問題,值得引起注意。



點(diǎn)擊在新窗口中瀏覽產(chǎn)品

2.24C02器件的選用

無論是智能儀器儀表還是單片機(jī)工業(yè)控制系統(tǒng)都要求其數(shù)據(jù)能夠安全可靠而不受干擾,特別是一些重要的設(shè)定參數(shù)(如溫度控制設(shè)定值)受到干擾后變成一個(gè)很大的數(shù)字,那么就有可能發(fā)生燒箱毀物的破壞性后果,給生產(chǎn)和經(jīng)濟(jì)帶來損失,因此必須選用可靠的24C02器件作為數(shù)據(jù)儲(chǔ)存單元。
對(duì)于只用一片24C02器件的系統(tǒng),因?yàn)椴恍枰直娌煌牡刂?,只要WP保護(hù)功能正常就可以了,這只要斷開WP與CPU連線且保持高電平,再試一下系統(tǒng)數(shù)據(jù)讀寫功能是否正常就可以了。而這一點(diǎn)對(duì)軟件抗干擾技術(shù)也是至關(guān)重要的。一般來說,同種牌號(hào)的24C02器件性能是一樣的,可以采用抽樣試驗(yàn)決定取舍;對(duì)于有2片24C02以上的系統(tǒng),必須嚴(yán)格檢查其器件尋址功能,這可以輪流撥下其中一片24C02器件,檢查相應(yīng)的數(shù)據(jù)存取功能,若沒有交叉出錯(cuò)現(xiàn)象則可以選用。

3.提高24C02數(shù)據(jù)安全的軟件措施

(1)建議數(shù)據(jù)以十進(jìn)制BCD碼方式存入24C02,這樣可以提高有效數(shù)據(jù)的,即24C02中的存儲(chǔ)單元其有效數(shù)據(jù)為0-9,大于9則為無效數(shù)據(jù)。這樣,在數(shù)據(jù)寫入24C02之前就可以插入校驗(yàn)子程序,對(duì)預(yù)備寫入的數(shù)據(jù)進(jìn)行檢查,若該RAM數(shù)據(jù)已經(jīng)受到干擾,其值大多數(shù)應(yīng)落在大于9的范圍內(nèi)(可能性百分比系數(shù)為246/256),故此當(dāng)數(shù)據(jù)大于9時(shí)就禁止執(zhí)行寫入24C02的子程序,以免錯(cuò)誤數(shù)據(jù)寫入24C02,而對(duì)正常需要修改的參數(shù)無影響。

(2)24C02中數(shù)據(jù)保持后,還可以對(duì)讀出數(shù)據(jù)進(jìn)行檢查,若為大于9的非正常數(shù)據(jù),說明24C02中數(shù)據(jù)已經(jīng)受到干擾,此干擾值是絕對(duì)不能用的,對(duì)于特定的系統(tǒng)可以采取不同的方法,比如帶溫度控制的培養(yǎng)箱等系統(tǒng),如其溫控范圍為0~50℃,則數(shù)據(jù)出錯(cuò)后,讀入值可能變成200℃或更高值,這是非常危險(xiǎn)的,針對(duì)這種情況可以將設(shè)定值硬性規(guī)定為某一個(gè)安全值比如25℃,因?yàn)椴恢涝仍O(shè)置的參數(shù)值,這也是無可奈何的事情。


上一頁 1 2 下一頁

關(guān)鍵詞: E2PROM 24C02 冗余度

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉