<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 嵌入式控制系統中I2C串行EEPROM器件應用

嵌入式控制系統中I2C串行EEPROM器件應用

作者: 時(shí)間:2012-11-30 來(lái)源:網(wǎng)絡(luò ) 收藏

存儲器因具有外形體積小、接口緊湊簡(jiǎn)單、占用引腳資源少、數據保存可靠、可在線(xiàn)改寫(xiě)、功耗低和價(jià)格低廉等顯著(zhù)特點(diǎn),被廣泛中,用于存放配置參數、調整和運行數據等信息。但由于其為同步傳輸,通訊協(xié)議非常簡(jiǎn)單,沒(méi)有提供更為復雜的糾錯和檢測機制,在實(shí)踐中經(jīng)常因使用不當造成數據丟失、數據無(wú)故改寫(xiě)等問(wèn)題。對于存儲數據要求非常高的系統, 例如計量產(chǎn)品、無(wú)人值守系統等,如果存儲數據發(fā)生意外錯誤,造成的損失是致命的,因此在設計使用存儲器時(shí),更多地需要硬件和軟件相互接合,采取一些相關(guān)的處理措施,使得產(chǎn)品能夠在各種惡劣的使用環(huán)境中可靠、正確地運行。

1 硬件處理措施

硬件處理過(guò)程中,應重點(diǎn)考慮以下幾個(gè)方面:

(1)電源是一個(gè)可靠運行的基石,很多產(chǎn)品與外界的有線(xiàn)連接就是電源連接。因此,在產(chǎn)品設計時(shí)應對電源電路進(jìn)行有效濾波處理,并且應該通過(guò)EMC的試驗檢測來(lái)降低電源紋波噪聲,抑制高頻震蕩和高壓脈沖的侵入,減少由于噪聲過(guò)大而引起的串行讀寫(xiě)失誤。這一點(diǎn)尤為重要,因為實(shí)踐中很多系統的數據不知何故而發(fā)生了錯誤,可能的一個(gè)重要原因就是電源的抗干擾能力有限,從而導致I2C總線(xiàn)干擾。

(2)由于特殊原因,盡管對電源已經(jīng)進(jìn)行了有效處理,仍無(wú)法避免電磁的干擾,在使用I2C串行EEPROM時(shí),在I2C規范限制條件下,可以采取減小上拉電阻和使用I2C總線(xiàn)驅動(dòng)器提高輸出驅動(dòng)能力等措施來(lái)有效降低電磁干擾對讀寫(xiě)的影響。

(3)I2C串行EEPROM 一般具有欠壓復位電路,如果微處理器欠壓復位的門(mén)限電壓高于I2C串行EEPROM,那么,由于電磁干擾造成的電壓波動(dòng)使得微處理器可能會(huì )在總線(xiàn)通信過(guò)程中率先復位,而I2C串行EEPROM保持其當前狀態(tài),導致總線(xiàn)出現“掛死”現象,使得數據傳輸不同步而出現數據錯誤。因此,應盡量采用帶有掉電檢測功能的微處理器,設置微處理器掉電復位門(mén)檻電壓低于I2C串行EEPROM 的欠壓復位門(mén)檻,使得微處理器與I2C串行EEPROM同步復位[1]。

(4)為防止總線(xiàn)意外“掛死”,如果設計允許,最好能控制I2C的電源或選擇帶有復位引腳的。

(5)對于具有寫(xiě)保護功能的I2C串行EEPROM,可充分利用寫(xiě)保護引腳來(lái)提供硬件寫(xiě)保護功能,將寫(xiě)保護引腳連接到微處理器的I/O口線(xiàn)上,控制器件在平時(shí)處于寫(xiě)保護狀態(tài);需要寫(xiě)入時(shí),將寫(xiě)保護引腳變?yōu)檫壿?ldquo;0”。注意,寫(xiě)保護引腳不能懸空,否則器件將無(wú)法正常工作。

2 軟件處理措施

在保證硬件電路設計可靠的同時(shí),提高軟件的抗干擾能力同樣重要。在對I2C串行EEPROM進(jìn)行讀寫(xiě)操作時(shí),要從兩個(gè)方面進(jìn)行可靠性的設計,首先要保證I2C總線(xiàn)通訊的完整和有效性,其次就是保證I2C串行EEPROM讀寫(xiě)數據的正確性。

2.1 保證 I2C總線(xiàn)通訊的完整和有效性措施

2.1.1 總線(xiàn)復位

前面講到在I2C總線(xiàn)通訊過(guò)程中,由于電磁干擾等因素可能導致總線(xiàn)“掛死”或通訊失效,所以在啟動(dòng)通訊前,應先對I2C串行EEPROM器件進(jìn)行復位操作,以保證I2C總線(xiàn)處于暢通狀態(tài)。對于具有復位引腳的器件,提供復位信號重新復位;而對于無(wú)復位引腳的器件,若電路設計中能控制其電源,則給器件上電復位;若無(wú)法控制器件電源,則啟動(dòng)“恢復序列”復位?;謴托蛄胁僮髁鞒虨椋?br /> (1)在SCL線(xiàn)發(fā)送9個(gè)時(shí)鐘脈沖;
(2)由Master保持SDA線(xiàn)為高,直到Slave-Transmitter模式釋放SDA執行ACK操作;
(3)在A(yíng)CK操作時(shí),保持SDA線(xiàn)為高;
(4)在Master-Receiver和Slave-Transmitter模式都結束后,Master發(fā)送一個(gè)Stop命令完成初始化總線(xiàn)[1]。

恢復序列如圖1所示。

1副本.jpg

本文引用地址:http://dyxdggzs.com/article/148232.htm

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>