I2C總線開發(fā)設(shè)計需要注意的4個方面
01總線容量與驅(qū)動能力
I2C總線的外圍擴展器件都是CMOS器件,總線有足夠的電流驅(qū)動能力,因此總線上擴展的節(jié)點數(shù)不由電流負(fù)載能力決定,而由電容負(fù)載確定。
總線上每個實際節(jié)點器件的總線接口都有一定的等效電容,等效電容的存在會造成總線傳輸?shù)难舆t,導(dǎo)致數(shù)據(jù)傳輸出錯。
通??偩€負(fù)載能力為400pF,通常各個I2C器件都會有它自己的電容值,一般為不大于20pF,據(jù)此可計算出總線長度及節(jié)點數(shù)目的限制數(shù)量??偩€上的每個外圍器件都有一個器件地址,因此總線上擴展外圍器件時也要受器件地址限制。
02I2C總線的電氣結(jié)構(gòu)
I2C總線為雙向同步串行總線,因此I2C總線接口內(nèi)部為雙向傳輸電路,如圖.所示。總線端口輸出為開漏結(jié)構(gòu),故總線上必須有上拉電阻,上拉電阻與電源電壓、SDA、SCL以及總線串接電阻有關(guān),可參考有關(guān)數(shù)據(jù)手冊進行選擇,通??蛇x4.7K到10K。
03I2C總線的節(jié)點地址
每個節(jié)點都有一個固定的節(jié)點地址。I2C總線為雙向同步串行總線,因此總線上的單片機都可以成為主節(jié)點,其器件地址由軟件給定,存放在總線的地址寄存器件中,稱為主器件的從地址。在總線的多主系統(tǒng)中,單片機作為從節(jié)點時,其從地址才有意義,所以總線上所有的外圍器件都有規(guī)范的器件地址。
04I2C總線時序
I2C總線上數(shù)據(jù)傳遞時,總線上傳送的每一幀數(shù)據(jù)均為一個字節(jié)。但啟動總線后,傳送的字節(jié)數(shù)沒有限制,只要求每傳送一個字節(jié)后,對方回應(yīng)一個應(yīng)答位。在發(fā)送時,首先發(fā)送的是數(shù)據(jù)的最高位。每次傳送開始有起始信號,結(jié)束時有停止信號。在總線傳送完一個字節(jié)后,可以通過對時鐘線的控制使傳送暫停。
① 時鐘和數(shù)據(jù)發(fā)送
SDA引腳通常使用外部設(shè)備拉高。SDA引腳上的數(shù)據(jù)只能在SCL為低電平時進行更改,SCL為高電平時數(shù)據(jù)更改將指示開始或停止條件。如圖所示。
② 起止條件
SDA由高到低且SCL為高是啟動條件,必須先于任何其他命令。SDA由低到高且SCL為高是停止條件,在一個讀序列后,停止命令會使EEPROM進入待機模式。如圖所示。
③ 應(yīng)答
所有地址和數(shù)據(jù)字均以8bit字連續(xù)傳輸?shù)紼EPROM,EEPROM發(fā)送一個"0"來應(yīng)答,以確認(rèn)它已收到每個字。應(yīng)答發(fā)生在第九個時鐘周期如圖所示。
設(shè)計實例
我們對于AT24C256肯定不會陌生,這是ATMEL公司256kbit串行電可擦的可編程只讀存儲器,8引腳雙排直插式封裝,具有結(jié)構(gòu)緊湊、存儲容量大等特點,可以在2線總線上并接4片該IC,特別適用于具有高容量數(shù)據(jù)儲存要求的數(shù)據(jù)采集系統(tǒng)。
EEPROM存儲器設(shè)備既可以接收又可以發(fā)送數(shù)據(jù)。每個掛接在總線上的器件都有唯一一個地址識別。
主機訪問EEPROM時,主機在向EEPROM發(fā)送完控制字節(jié)和地址信息后,緊接著向EEPROM存儲器發(fā)送起始條件和控制信號并發(fā)送讀標(biāo)志位信號,切換數(shù)據(jù)的收發(fā)方向。接著在收到EEPROM的響應(yīng)信號后便可以讀出需要的數(shù)據(jù)了。
結(jié)? 語
通過以上實例,我們可以知道I2C優(yōu)點主要表現(xiàn)在:
- 簡化了硬件電路。在這種總線中只需要兩根線,即串行數(shù)據(jù)線(SDA)和串行的時鐘線(SCL)。
- 每個掛在總線上的I2C器件都有一個唯一的地址,并可以通過軟件尋址。
- 因為在總線上可能有多個主I2C器件,因此I2C總線接口協(xié)議中有沖突監(jiān)測和仲裁機制,以防止通信中的數(shù)據(jù)丟失或發(fā)生錯誤。
- 這種串行的兩線雙向的總線在標(biāo)準(zhǔn)模式下的速率為100kbit/s,在快速模式下的速率為400kbit/s,在高速模式下為3/4Mbit/s。
- I2C器件中有濾波抗擾措施來保證數(shù)據(jù)的完整性。
- 在總線上掛接的器件數(shù)目是有限的,即總線上的容抗不能超過400pF。
來源:網(wǎng)絡(luò)版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系刪除。