24C02-串行電可擦除可編程只讀存儲(chǔ)器(上)
24C02是一款經(jīng)典的2K bit(256字節(jié))串行電可擦除可編程只讀存儲(chǔ)器(EEPROM),由意法半導(dǎo)體、微芯科技、恩智浦等多家廠商量產(chǎn),憑借接口簡(jiǎn)單、功耗低廉、穩(wěn)定性強(qiáng)的特點(diǎn),成為嵌入式系統(tǒng)中存儲(chǔ)小容量非易失性數(shù)據(jù)的標(biāo)桿選擇。它專為需要長(zhǎng)期保存關(guān)鍵信息且更新頻率較低的場(chǎng)景設(shè)計(jì),核心價(jià)值在于掉電后數(shù)據(jù)可穩(wěn)定保存10年以上,支持超過(guò)10萬(wàn)次擦寫循環(huán),完美適配智能硬件、工業(yè)控制、消費(fèi)電子等領(lǐng)域的配置參數(shù)存儲(chǔ)需求,比如設(shè)備序列號(hào)、傳感器校準(zhǔn)數(shù)據(jù)、WiFi賬號(hào)密碼、用戶設(shè)置偏好等小體積數(shù)據(jù),無(wú)需依賴復(fù)雜的存儲(chǔ)芯片,以極簡(jiǎn)的方案實(shí)現(xiàn)數(shù)據(jù)的可靠留存。
從硬件特性來(lái)看,24C02采用I2C(Inter-Integrated Circuit)雙線串行通信協(xié)議,僅需兩根信號(hào)線(SDA串行數(shù)據(jù)線、SCL串行時(shí)鐘線)即可與單片機(jī)、MCU等主控設(shè)備實(shí)現(xiàn)數(shù)據(jù)交互,大幅簡(jiǎn)化了硬件布線與引腳占用,尤其適合PCB空間受限的小型設(shè)備。芯片的引腳配置簡(jiǎn)潔明了,除SDA和SCL外,還包含VCC(電源端,工作電壓范圍通常為1.8V-5.5V,兼容3.3V和5V嵌入式系統(tǒng))、GND(地)、WP(寫保護(hù)引腳,高電平時(shí)禁止寫入操作,低電平或懸空時(shí)允許讀寫,為數(shù)據(jù)安全提供硬件級(jí)防護(hù)),部分封裝還包含A0、A1、A2三個(gè)地址引腳,通過(guò)不同電平組合可配置最多8個(gè)24C02芯片共享同一I2C總線,滿足多設(shè)備數(shù)據(jù)存儲(chǔ)的擴(kuò)展需求,默認(rèn)地址通常為0xA0(二進(jìn)制10100000),地址的最后一位用于區(qū)分讀寫操作(0為寫,1為讀)。常見(jiàn)封裝有DIP-8(雙列直插)、SOP-8(小外形封裝)等,適配不同的焊接工藝與設(shè)備體積要求,其中SOP-8封裝因小巧輕便,廣泛應(yīng)用于貼片式智能硬件。
24C02的存儲(chǔ)結(jié)構(gòu)與讀寫機(jī)制圍繞“高效、可靠”展開(kāi),2K bit的存儲(chǔ)容量劃分為256個(gè)獨(dú)立字節(jié)單元,每個(gè)單元可單獨(dú)讀寫,同時(shí)支持頁(yè)寫操作以提升批量數(shù)據(jù)寫入效率——其頁(yè)容量通常為8字節(jié)(不同廠商產(chǎn)品可能略有差異),即一次頁(yè)寫命令可連續(xù)寫入8個(gè)字節(jié)數(shù)據(jù),數(shù)據(jù)地址自動(dòng)遞增,若寫入字節(jié)數(shù)超過(guò)頁(yè)容量,地址會(huì)溢出并覆蓋當(dāng)前頁(yè)的起始位置數(shù)據(jù),因此實(shí)際使用中需注意控制頁(yè)寫的數(shù)據(jù)長(zhǎng)度與地址范圍。讀操作則支持三種靈活模式:立即地址讀(寫完數(shù)據(jù)后直接切換為讀模式,讀取當(dāng)前地址的下一個(gè)字節(jié))、隨機(jī)讀(先發(fā)送目標(biāo)數(shù)據(jù)地址,再切換為讀模式,精準(zhǔn)讀取指定字節(jié))、連續(xù)讀(讀取一個(gè)字節(jié)后,主控設(shè)備持續(xù)發(fā)送應(yīng)答信號(hào),芯片自動(dòng)遞增地址,連續(xù)輸出數(shù)據(jù)直至主控發(fā)送停止信號(hào)),三種模式覆蓋了單點(diǎn)數(shù)據(jù)查詢、隨機(jī)訪問(wèn)、批量數(shù)據(jù)導(dǎo)出等不同場(chǎng)景需求,適配傳感器校準(zhǔn)數(shù)據(jù)讀取、設(shè)備配置批量加載等實(shí)際應(yīng)用。
在通信時(shí)序方面,24C02嚴(yán)格遵循I2C協(xié)議規(guī)范,寫操作的流程為:主控設(shè)備發(fā)送起始信號(hào)(S),隨后發(fā)送7位從機(jī)地址+1位寫位(0),等待芯片返回應(yīng)答信號(hào)(ACK),確認(rèn)通信建立后,發(fā)送目標(biāo)數(shù)據(jù)的8位地址,再次接收應(yīng)答信號(hào),接著發(fā)送1-8字節(jié)數(shù)據(jù)(字節(jié)寫或頁(yè)寫),每個(gè)字節(jié)后均需等待應(yīng)答,最后主控發(fā)送停止信號(hào)(P)完成寫入,芯片內(nèi)部會(huì)自動(dòng)執(zhí)行擦除-寫入的時(shí)序,此過(guò)程約需5ms(寫周期),期間需避免發(fā)起新的讀寫操作。讀操作的流程則根據(jù)模式略有差異,以隨機(jī)讀為例:先按寫操作流程發(fā)送從機(jī)地址、數(shù)據(jù)地址并得到應(yīng)答,主控發(fā)送重復(fù)起始信號(hào)(Sr),再發(fā)送7位從機(jī)地址+1位讀位(1),接收芯片應(yīng)答后,即可讀取數(shù)據(jù),讀取最后一個(gè)字節(jié)時(shí),主控發(fā)送非應(yīng)答信號(hào)(NACK),隨后發(fā)送停止信號(hào)結(jié)束讀取,這種時(shí)序設(shè)計(jì)確保了數(shù)據(jù)傳輸?shù)臏?zhǔn)確性,避免因總線沖突或時(shí)序偏差導(dǎo)致的數(shù)據(jù)錯(cuò)




