新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 關(guān)于EEPROM數(shù)據(jù)出錯問題的探討

關(guān)于EEPROM數(shù)據(jù)出錯問題的探討

作者:康佳集團數(shù)字平板開發(fā)中心 柏祥 時間:2008-04-16 來源:電子產(chǎn)品世界 收藏

  在家用電子產(chǎn)品特別是電視機產(chǎn)品中,用戶要經(jīng)常對機器的一些參數(shù)進行調(diào)整,例如對比度、亮度、色飽和度、音量、清晰度、頻道排序等等。而這些參數(shù)對于每個用戶來說不盡相同,也就是說用戶經(jīng)常要調(diào)整的這些參數(shù)需要保存下來,以免用戶每次都要重新調(diào)整。在機器中完成這項任務(wù)的是,它具有可重復(fù)讀寫的功能,與主的連接如圖1所示。

本文引用地址:http://www.butianyuan.cn/article/81633.htm

  主 的連接有兩根信號線,一為時鐘信號(),是主進行讀寫的基準信號;一為數(shù)據(jù)信號(),主CPU對EEPROM進行的讀寫操作是通過這根信號線進行的。R1、R2一般為0到幾百歐姆之間,不能過大;上拉電阻R3、R4一般為2.2~4.7k?之間。

  在開機的時候,主CPU通過總線讀出EEPROM里的數(shù)據(jù),加載到相關(guān)的芯片中。當用戶對參數(shù)進行修改時,主CPU通過總線對EEPROM進行數(shù)據(jù)寫入。為了防止數(shù)據(jù)出錯,在讀寫過程中稍微長一點的數(shù)據(jù)都加入了校驗碼,校驗碼是根據(jù)要寫的數(shù)據(jù)按照一定的算法得到的。在寫入數(shù)據(jù)的時候連校驗碼一起寫入,在讀出數(shù)據(jù)的時候,CPU會按照相同的算法再計算出一遍校驗碼,和讀出的校驗碼作對比,如果兩者一樣,則認為這一個“寫”和“讀”的過程是正確且沒有發(fā)生數(shù)據(jù)錯誤的,反之則認為有錯誤發(fā)生。一旦數(shù)據(jù)發(fā)生錯誤,主CPU會把一套預(yù)先設(shè)置好的數(shù)據(jù)替換損壞的數(shù)據(jù),此過程我們稱之為。有些參數(shù)發(fā)生用戶可能不易察覺,如對比度、亮度、色飽和度、清晰度等,但是有些參數(shù)發(fā)生時用戶就會很容易發(fā)現(xiàn)并且認為是有問題的,如節(jié)目信息。節(jié)目信息發(fā)生復(fù)位時,只會保留預(yù)先設(shè)置的幾個頻道,大部分的頻道都消失了,并且節(jié)目的順序也有可能改變(如果機器有節(jié)目排序的功能且用戶使用了此功能),這樣用戶是不會接受的。所以怎樣防止EEPROM的數(shù)據(jù)出錯是設(shè)計時要重點關(guān)注的問題,下面就從幾個方面分析原因及相對應(yīng)的解決措施。

  1.開機時。機器剛加電時,各種狀態(tài)正在建立,有的供電電壓還沒有完全達到穩(wěn)定狀態(tài),有的高壓(如CRT電視的陽極高壓或液晶電視的背光電壓)在建立的過程可能會產(chǎn)生嚴重的干擾,所以此時不要對EEPROM進行讀寫,如果在這個時候進行讀寫操作的話其出錯的幾率將大大增加。此種情況比較簡單,只要有意延遲一段時間等各種狀態(tài)穩(wěn)定了再進行讀寫操作就可以了。

  2.關(guān)機時。當主CPU對EEPROM進行寫操作的時候,如果斷電比較容易出現(xiàn)數(shù)據(jù)出錯現(xiàn)象。因為現(xiàn)在的電視方案一般來說主CPU的外圍電壓和EEPROM的電壓是3.3V,而主CPU的內(nèi)核電壓一般為2.5V或1.8V甚至1.5V。當發(fā)生斷電時,3.3V電壓首先降低,若干毫秒后內(nèi)核電壓才開始下降。在此時間差內(nèi)有一段時間是主CPU的外圍和EEPROM介于工作的臨界狀態(tài)或已經(jīng)不工作了,而主CPU內(nèi)核還在工作,還在進行數(shù)據(jù)的寫操作,這種“非正常工作狀態(tài)”下數(shù)據(jù)出錯的概率非常高,要避免此情況出現(xiàn)。如圖2所示,這是在實際的機器中捕捉到的時序圖:通道1為主CPU的外圍和EEPROM的共用電源電壓3.3V,通道2為主CPU的內(nèi)核電源電壓1.8V,通道3為主CPU和EEPROM之間的數(shù)據(jù)信號()。由圖可以看出3.3V電壓已經(jīng)下降到2.5V左右了,而1.8V還沒有下降,總線上還有數(shù)據(jù),兩個電壓下降的時間差約為10毫秒。EEPROM的工作電壓一般可以低到2.7V甚至1.8V,但是換用1.8V工作電壓的EEPROM不能解決問題,因為CPU的3.3V外圍電壓一般不能工作在如此低的電壓上。

  關(guān)機情況分為兩種:待機和交流關(guān)機。

  1.待機。待機又分為兩種情況:主CPU待機和副CPU待機?,F(xiàn)在的電視機方案集成度越來越高,主芯片不僅包含CPU,還包含DECODER、DEINTERLACE、SCALER甚至HDMI和LVDS等功能模塊,也正是由于這個原因主CPU在待機時的功率不容易降低,如果有待機功率小于1瓦的要求的話,一般要加一個專門用來待機用的副CPU。另外一方面,主芯片軟件系統(tǒng)復(fù)雜,為了降低軟件的工作量,增加一個待機用的副CPU也是一種選擇。當用主CPU待機時,接收到待機的遙控或按鍵信號時,主CPU可以在數(shù)據(jù)讀寫完成以后再進入待機狀態(tài),避免了數(shù)據(jù)出錯的發(fā)生。當用副CPU待機時,副CPU接收到待機的遙控或按鍵信號時,要通知主CPU將要進入待機狀態(tài),主CPU寫完數(shù)據(jù)后再通知副CPU可以進入待機狀態(tài)就可以了。用兩個簡單的I/O信號即可以實現(xiàn)此通知功能。當然主副CPU之間用總線通訊也可以,不過這種方式軟件的工作量要大得多。

  2.交流關(guān)機。此種關(guān)機方式和上面的待機方式不同,用軟件是不可以控制的,什么時候關(guān)機根本不知道。對于這種情況的解決方法是:首先在電路上設(shè)計一個專門的復(fù)位電路或芯片用來監(jiān)視3.3V電源,當3.3V下降到約2.9V~3.0V(我們暫且稱之為復(fù)位電壓)之間時復(fù)位電路發(fā)出復(fù)位信號對主CPU進行復(fù)位,CPU在還是正常工作狀態(tài)下停止對EEPROM寫數(shù)據(jù),通過總線對EEPROM復(fù)位,從而避免了數(shù)據(jù)出錯。其時序如圖3所示,通道1位3.3V電源,通道2為復(fù)位信號,由圖可以看出,3.3V電源電壓下降到2.9V左右復(fù)位電路開始動作,發(fā)出復(fù)位信號(圖3是低電壓復(fù)位的示意圖)。

  必須注意復(fù)位電壓的高低選取非常重要,復(fù)位電壓過高即很接近3.3V會因為輕微的電壓波動而造成誤動作;復(fù)位電壓過低則起不到應(yīng)有的作用,即不能在主CPU電源電壓降到非正常之前進行復(fù)位。

  另外,監(jiān)視電壓的選取不一定必須是主CPU的電源電壓,選取提供3.3V電源的穩(wěn)壓器的輸入端電壓(例如5.0V或更高)作為監(jiān)視電壓往往會有更好的效果,因為關(guān)機時電壓高的電源總是首先下降,當然復(fù)位電壓也要相應(yīng)的提高才能夠匹配。例如穩(wěn)壓器的輸入端電壓是5.0V,復(fù)位電壓選取在4.3V~4.7V之間,關(guān)機時當5.0V電壓下降到4.3V~4.7V之間時3.3V電壓還沒有下降,這時候復(fù)位電路就發(fā)出復(fù)位信號使主CPU復(fù)位,更能保證主CPU和EEPROM還是在正常工作的情況進行了復(fù)位,也就沒有了數(shù)據(jù)出錯的可能。時序關(guān)系如圖4所示,通道1為3.3V電源,通道2位穩(wěn)壓器的輸入電源5V。

  其次,軟件在設(shè)計時考慮把用戶修改的數(shù)據(jù)“即時”寫入,例如用戶在調(diào)整音量時,只要松開按鍵就要把當前到的數(shù)據(jù)寫入到EEPROM中,而一般的數(shù)據(jù)寫入時間較短(一般為幾十毫秒),所以這種情況下在寫數(shù)據(jù)時關(guān)機的可能性極小,極大的降低了出錯的概率。

  另外,軟件設(shè)計時還要考慮數(shù)據(jù)在EEPROM里面的存放問題,EEPROM中數(shù)據(jù)存放的空間分成若干個區(qū)域,我們把每一個區(qū)域叫做“節(jié)點”。一個“節(jié)點”上不要存放太多的數(shù)據(jù),盡量把數(shù)據(jù)平均的分配到各個“節(jié)點”上,這樣就避免了在數(shù)據(jù)寫入的時候占用較長的時間,從而降低了數(shù)據(jù)出錯的概率。如果某些方面的數(shù)據(jù)很大而又不方便拆開放置,如保存頻道的信息,則這些數(shù)據(jù)不要和用戶要經(jīng)常調(diào)整的數(shù)據(jù)放在一個“節(jié)點”上。因為用戶一般不會經(jīng)常改變頻道信息,除非進行搜索節(jié)目,而這樣的操作極少進行,也就不會經(jīng)常對這個“節(jié)點”進行數(shù)據(jù)寫入,從而出錯的概率大大降低。

上拉電阻相關(guān)文章:上拉電阻原理


關(guān)鍵詞: CPU EEPROM SDA SCL 復(fù)位

評論


相關(guān)推薦

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

關(guān)閉