目標:EEPROM-IIC總線理解(一)
1.IIC總線簡介
IIC(Inter-Integrated Circuit)總線是由PHILIPS公司開發(fā)的兩線式串行總線卿城,用于連接微控制器及其外圍設(shè)備悲伶。是微電子通信控制領(lǐng)域廣泛采用的一種總線標準。它是同步通信的一種特殊形式定页,具有接口線少,控制方式簡單,器件封裝形式小介返,通信速率較高等優(yōu)點焕妙。I2C總線只有兩根雙向信號線蒋伦。一根是數(shù)據(jù)線SDA,另一根是時鐘線SCL访敌。由于其管腳少凉敲,硬件實現(xiàn)簡單,可擴展性強等特點寺旺,因此被廣泛的使用在各大集成芯片內(nèi)爷抓。
I2C是一個通信協(xié)議,它擁有嚴密的通信時序邏輯要求阻塑,而EEPROM是一個器件蓝撇,只是這個器件采樣了I2C協(xié)議的接口與單片機相連而已,二者并沒有必然的聯(lián)系陈莽,EEPROM可以用其他接口渤昌,I2C也可以用在其它很多器件上虽抄。
1.1 IIC物理層
I2C通信設(shè)備常用的連接方式:
單片機的電源(40腳)連接SDA和SCL不然就沒法有高低電平變化了
特點:
(1)它是一個支持多設(shè)備的總線。
(2)I2C 總線只使用兩條總線線路独柑,SDA迈窟、SCL。
(3)每個連接到總線的設(shè)備都有一個獨立的地址忌栅,主機可以利用這個地址進行不同 設(shè)備之間的訪問车酣。
(4)總線通過上拉電阻接到電源。當 I2C 設(shè)備空閑時索绪,會輸出高阻態(tài)湖员,而當所有設(shè)備都空閑,都輸出高阻態(tài)時瑞驱,由上拉電阻把總線拉成高電平娘摔。
(5)多個主機同時使用總線時,為了防止數(shù)據(jù)沖突唤反,會利用仲裁方式?jīng)Q定由哪個設(shè)備占用總線凳寺。
(6)具有三種傳輸模式:標準模式傳輸速率為 100kbit/s ,快速模式為 400kbit/s 拴袭,高速模式下可達 3.4Mbit/s读第,但目前大多 I2C 設(shè)備尚不支持高速模式。
(7)連接到相同總線的 IC 數(shù)量受到總線的最大電容 400pF 限制
1.2 IIC協(xié)議層
I2C 的協(xié)議定義了通信的起始和停止信號拥刻、數(shù)據(jù)有效性怜瞒、響應(yīng)、仲裁般哼、時鐘同步和地址廣播等環(huán)節(jié)吴汪。
(1)數(shù)據(jù)有效性規(guī)定
要求時鐘線在高電平的時候數(shù)據(jù)線也為高電平保持數(shù)據(jù)穩(wěn)定來傳輸,只要時鐘線是低電平是才允許數(shù)據(jù)進行變化
每次數(shù)據(jù)傳輸都以字節(jié)為單位蒸眠,每次傳輸?shù)淖止?jié)數(shù)不受限制漾橙。
(2)起始和停止信號
起始信號與終止信號是由主機發(fā)出的,在數(shù)據(jù)線上表示
(3)應(yīng)答響應(yīng)
應(yīng)答響應(yīng)是在發(fā)送完一個字節(jié)后(是以字節(jié)為單位進行傳輸?shù)模臋C發(fā)出的楞卡,表示一個字節(jié)發(fā)送完了霜运,然后從機可繼續(xù)接受數(shù)據(jù)
(4)總線的尋址方式
I2C總線尋址按照從機地址位數(shù)可分為兩種,一種是7位蒋腮,另一種是10位淘捡。采用7位的尋址字節(jié)(尋址字節(jié)是起始信號后的第一個字節(jié))的位定義如下:
1~7是從機地址位,里面又分為固定地址和可編程部分組成池摧,用來調(diào)整地址的個數(shù)
R/W是用來決定主機和從機吉安關(guān)系的焦除,當R/W = 0,主機發(fā)送數(shù)據(jù)到從機作彤,當R/W = 1膘魄,表示主機接收來自從機的數(shù)據(jù)