機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應(yīng)用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
如何解決串行E2PROM 24C02在應(yīng)用中的問題
如何解決串行E2PROM 24C02在應(yīng)用中的問題
 更新時間:2009-5-31 13:59:53  點擊數(shù):3
【字體: 字體顏色

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

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

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




 

    2.  24C02器件的選用 

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

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

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

    (2) 24C02中數(shù)據(jù)保持冗余度后,還可以對讀出數(shù)據(jù)進行檢查,若為大于9的非正常數(shù)據(jù),說明24C02中數(shù)據(jù)已經(jīng)受到干擾,此干擾值是絕對不能用的,對于特定的系統(tǒng)可以采取不同的方法,比如帶溫度控制的培養(yǎng)箱等系統(tǒng),如其溫控范圍為0~50℃,則數(shù)據(jù)出錯后,讀入值可能變成200℃或更高值,這是非常危險的,針對這種情況可以將設(shè)定值硬性規(guī)定為某一個安全值比如25℃,因為不知道原先設(shè)置的參數(shù)值,這也是無可奈何的事情。
    (3) 對寫入24C02子程序設(shè)置軟件口令,口令符合可以執(zhí)行寫入,否則拒絕寫入。具體做法是:設(shè)置寫口令寄存器EPSW,按正常CPU執(zhí)行程序的脈絡(luò),找出所有的數(shù)據(jù)寫入24C02前的必經(jīng)之路,比如,一般下在功能鍵按下后經(jīng)過一些數(shù)據(jù)處理,最終將要保存的參數(shù)寫入24C02,這時可以在鍵掃描子程序里,當有鍵輸入時,對寫口令寄存器EPSW置數(shù)5AH,然后在寫24C02子程序中緊跟指令CLR WP后插入檢查口令語句,判斷EPSW值若為5AH,則允許繼續(xù)執(zhí)行,否則立即返回,不許執(zhí)行寫入數(shù)據(jù)。當正確執(zhí)行完寫入24C02子程序后需對EPSW清0,并且在主程序適當?shù)牡胤郊由螮PSW清0指令,反復冗余執(zhí)行。這樣程序受到干擾時,EPSW多數(shù)為0,即使EPSW數(shù)受到干擾時,也很少有機會剛好等于5AH,使錯誤數(shù)據(jù)非正常寫入24C02的機會大大減少。 

    數(shù)據(jù)寫入24C02子程序插入口令形式: 

    WRIT: CLR WP 

       MOV R1, #EPSW 

       MOV A, @R1 

          CJNE A, #5AH,WERR 

            ……      ; 

    數(shù)據(jù)寫入24C02操作部分: 

   WERR: SETB WP 

       MOV R1, #EPSW 

       MOV @R1, #0 

       RET 
    4.保護24C02數(shù)據(jù)的硬件措施 

    在某些干擾特別嚴重的場合,24C02數(shù)據(jù)還是有可能被沖掉,最徹底的方法是利用硬件來干預寫入數(shù)據(jù)過程。一般情況下,是將WP引腳與CPU引腳斷開,而與功能鍵連接起來,功能鍵沒按下時,WP保持高電平,只有功能鍵按下時,WP才是低電平,允許寫操作。當然,這樣一來對于某些過程量需要程控存入24C02時就辦不到了,這也是利用功能鍵同步保護24C02數(shù)據(jù)的一種不方便之處。 

    如果寫入24C02的數(shù)據(jù)跟2 個按鍵有關(guān),則可以用二極管隔離,采用如圖2的形式。




 

    這樣兩鍵本身互不影響,而任一鍵按下都能使WP變低,使數(shù)據(jù)寫入操作有效,對于多鍵關(guān)聯(lián),依此類推多放幾個二極管隔離就可以了。 

    5.結(jié)束語 

    以上所述的軟硬件措施在具體的單片機控制系統(tǒng)中可以靈活應(yīng)用,硬件聯(lián)鎖保護比較徹底,但是單獨通過程序修改24C02中的某些數(shù)據(jù)就不可能了;軟件保護比較靈活,可以隨時對控制過程中處理的數(shù)據(jù)存入24C02,以達到掉電保存的目的。在筆者設(shè)計的智能光照箱單片機控制系統(tǒng)中,由于日光燈起動和壓縮機起動及關(guān)斷時的電源高頻干擾,系統(tǒng)的溫度設(shè)定值及時間設(shè)定值曾經(jīng)經(jīng)常發(fā)生變化,采用上述軟硬件并用的措施后系統(tǒng)運行穩(wěn)定可靠,再也沒有發(fā)生設(shè)定數(shù)據(jù)被沖掉的現(xiàn)象。

  • 上一篇: 單片機RS-485多機通訊的實現(xiàn)
  • 下一篇: 單片機系統(tǒng)的低功耗設(shè)計的策略
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設(shè)備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內(nèi)容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務(wù)100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1