AT24Cxx系列EEPROM是由美國Mcrochip公司出品,1-512K位的支持I2C總線數據傳送協議的串行CMOS E2PROM,可用電擦除,可編程自定時寫周期(包括自動擦除時間不超過10ms,典型時間為5ms)的。串行E2PROM一般具有兩種寫入方式,一種是字節寫入方式,還有另一種頁寫入方式。允許在一個寫周期內同時對1個字節到一頁的若干字節的編程寫入,1頁的大小取決于芯片內頁寄存器的大小。其中,AT24C01具有8字節數據的頁面寫能力,AT24C02/04/08/16具有16字節數據的頁面寫能力,AT24C32/64具有32字節數據的頁面寫能力
AT24CXX的驅動是基于IIC的,在基本的IIC上加入了一些通訊協議,具體如下
1.隨機寫
主器件發送起始命令和從器件地址
信息(R/W 位置 0)給從器件,主器件在收到從器件產生應答信號后,主器件發送 1 個 8 位字節地址寫入 AT24C01/02/04/08/16 的地址指針,對于 AT24C31/64/128/256 來說,所不同的是主器件發送兩個 8 位地址字寫入 AT24C32/64/128/256 的地址指針。主器件在收到從器件的另一個應答信號后,再發送數據到被尋址的存儲單元。AT24Cxx 再次應答,并在主器件產生停止信號后開始內部數據的擦寫,在內部擦寫過程中,AT24Cxx 不再應答主器件的任何請求。
2.頁寫
在頁寫模式下,AT24C01/02/04/08/16/32/64/128/256可一次寫入%208%20/16/16/16/16/32/32/64/64%20個字節數據。頁寫操作的啟動和字節寫一樣,不同的是在于傳送了一字節數據后并不產生停止信號。主器件被允許發送%20P(AT24C01:P=7;AT24C02/04/08/16:%20P=15;AT24C32/64:P=31;AT24C128/256:P=63)個額外的字節。每發送一個字節數據后%20AT24Cxx%20產生一個應答位,%20且內部低位地址加%201,高位保持不變。如果在發送停止信號之前主器件發送超過%20P+1%20個字節,地址計數器將自動翻轉,先前寫入的數據被覆蓋。%20接收到%20P+1%20字節數據和主器件發送的停止信號后,AT24Cxx%20啟動內部寫周期將數據寫到數據區。
3.立即讀
4.隨機讀
隨機讀操作允許主器件對寄存器的任意字 節進行讀操作,主器件首先通過發送起始信號、從器件地址和它想讀取的字節數據的地址執行一個偽寫操作。在 AT24Cxx 應答之后,主器件重新發送起始信號和從器件地址,此時R/W 位置 1, AT24CXX 響應并發送應答信號,然后輸出所要求的一個 8 位字節數據,主器件不發送應答信號但產生一個停止信號。
隨機讀需要設定需要讀的地址,然后有一次偽寫入過程,這個偽寫入是為了修改存儲器內部的工作指針順序讀操作可通過立即讀或選擇性讀操作啟動。
5.順序讀
在 AT24Cxx 發送完一個 8 位字節數據后,主器件產生一個應答信號來響應,告知 AT24CXX主器件要求更多的數據,對應每個主機產生的應答信號 AT24Cxx 將發送一個 8 位數據字節。當主器件不發送應答信號而發送停止位時結束此操作。 從 AT24Cxx 輸出的數據按順序由 N 到 N+1輸出。讀操作時地址計數器在 AT24Cxx 整個地址內增加,這樣整個寄存器區域在可在一個讀操作內全部讀出。當讀取的字節超過 E(AT24C01,E=127;AT24C02,E=255;AT24C04,E=511;AT24C08,E=1023;AT24C16,E=2047;AT24C32,E=4095;AT24C64,E=8191;AT24C128,E=16383;AT24C256,E=32767)計數器將翻轉到零并繼續輸出數據字節 順序讀其實就是在前兩個的基礎上,一個數據讀完了不發送noack二十發送ACK這樣就可以一直讀下去,需要自己計數因為存儲器內部指針會自動循環的所以只要按照時序圖的標準來祝賀IIC基礎驅動,就能實現一個存儲器的驅動了。