? ? ? ?I2C總線協(xié)議是一種芯片間信息交換的低速串行協(xié)議,廣泛用于各種對(duì)速度要求不高缆镣,同時(shí)希望引腳較少的AD/DA芽突、存儲(chǔ)芯片等。
IIC總線協(xié)議的特點(diǎn)如下:
(1)只有時(shí)鐘(SCL)和數(shù)據(jù)(SDA)兩根線董瞻。
(2)工作在100kb/s寞蚌、400kb/s、1Mb/s和3.4Mb/s速度不高钠糊。由于IIC自帶時(shí)鐘挟秤,所以工作頻率不用特別準(zhǔn)確。
(3)總線上可以接多個(gè)主機(jī)器件和多個(gè)從機(jī)器件抄伍,每個(gè)從機(jī)器件有唯一的地址艘刚。
(4)半雙工傳輸。(UART和SPI全雙工截珍,有兩根數(shù)據(jù)線攀甚,發(fā)送和接收線)
(5)總線可掛的最大主機(jī)/從機(jī)數(shù)量箩朴,只受總線上總負(fù)載電容(400pF)的限制。
(6)SCL/SDA需要接上拉電阻秋度。
IIC器件的地址分為7位和10位炸庞。
? ? ? ?當(dāng)SCL為高電平時(shí),SDA的上升/下降沿表明傳輸?shù)氖敲罴运梗划?dāng)時(shí)鐘信號(hào)SCL為低電平時(shí)埠居,SDA的上升/下降沿表明傳輸?shù)氖菙?shù)據(jù)。
? ? ? ?所有的數(shù)據(jù)都是在時(shí)鐘SCL為低電平時(shí)變化事期,在SCL為高電平時(shí)采樣數(shù)據(jù)滥壕。每次發(fā)送8+1個(gè)bit。前8bit是發(fā)送端(主機(jī)或者從機(jī))發(fā)送的數(shù)據(jù)兽泣,高位先發(fā)绎橘,第9bit時(shí)接收端反饋的響應(yīng)信號(hào),第9bit為低電平(ACK)表明接收端收到了前面發(fā)送的8bit數(shù)據(jù)撞叨,第9bit為高電平(NACK)表明沒有正確接收前8bit金踪。