1、首先看AT24C02芯片的引腳說明
2、芯片的型號與存儲容量(bit)的對應關系:
3、總線時序
我對時序的理解:
時鍾線分兩種:一種是外部時鍾源控制時鍾線低電平持續多久高電平持續多久,就像串口;
另一種是人為控制低電平持續多久,高電平持續多久,就像IIC、74HC165。
對於IIC,在數據傳輸的過程中,只有當SCL為低電平的時候,SDA數據才可以修改,
因此,把SCL拉為高電平時,讀SDA的數據;
把SCL拉為低電平時,修改SDA的數據。
疑問:程序中,將SCL拉高或拉低都要持續一段時間,這個延遲時間有什么講究嗎?
下面這個表有對上面時序圖的各種時間進行描述
4、數據有效性(數據在什么時候可以改變)
在SCL為高電平時,SDA的輸出電平不可改變;
只有在SCL為低電平時,SDA的輸出電平才可以改變;
但有兩種特殊情況:起始條件和結束條件,這二者SDA電平的改變都是在SCL為高電平的時候。
5、起始信號和結束信號
6、應答信號
我對應答信號的理解:
SDA的數據流向是雙向的
當主機向從機發送8位數據后,改變SDA的數據流向,從機向主機發送一個低電平,以表示從機接收到了8位數據。
7、設備地址
8、寫操作
1)字節寫操作
2)頁寫操作
9、讀操作
1)當前地址讀操作
2)隨機讀操作
3)順序讀操作