I2C

I2C(‘intel’ -IC)匯流排10多年前由Philips公司推出,是近年來在微電子通信控制領域廣泛採用的一種新型匯流排標準。它是同步通信的一種特殊形式,具有接口線少,控制方式簡化,器件封裝形式小,通信速率較高等優點。

作用

在主從通信中,可以有多個I2C匯流排器件同時接到I2C匯流排上,通過地址來識別通信對象。

I2C匯流排定義I2C(‘intel’-Integrated Circuit)匯流排是一種由PHILIPS公司開發的兩線式串列匯流排,用於連線微控制器及其外圍設備。I2C匯流排產生於在80年代,最初為音頻和視頻設備開發,如今主要在伺服器管理中使用,其中包括單個組件狀態的通信。例如管理員可對各個組件進行查詢,以管理系統的配置或掌握組件的功能狀態,如電源和系統風扇。可隨時監控記憶體、硬碟、網路、系統溫度等多個參數,增加了系統的安全性,方便了管理。

I2C匯流排特點

I2C匯流排最主要的優點是其簡單性和有效性。由於接口直接在組件之上,因此I2C匯流排占用的空間非常小,減少了電路板的空間和晶片管腳的數量,降低了互聯成本。匯流排的長度可高達25英尺,並且能夠以10Kbps的最大傳輸速率支持40個組件。I2C匯流排的另一個優點是,它支持多主控(multimastering), 其中任何能夠進行傳送和接收的設備都可以成為主匯流排。一個主控能夠控制信號的傳輸和時鐘頻率。當然,在任何時間點上只能有一個主控。

I2C匯流排工作原理匯流排的構成及信號類型

I2C匯流排是由數據線SDA和時鐘SCL構成的串列匯流排,可傳送和接收數據。在CPU與被控IC之間、IC與IC之間進行雙向傳送,最高傳送速率100kbps。各種被控制電路均並聯在這條匯流排上,但就像電話機一樣只有撥通各自的號碼才能工作,所以每個電路和模組都有唯一的地址,在信息的傳輸過程中,I2C匯流排上並接的每一模組電路既是主控器(或被控器),又是傳送器(或接收器),這取決於它所要完成的功能。CPU發出的控制信號分為地址碼和控制量兩部分,地址碼用來選址,即接通需要控制的電路,確定控制的種類;控制量決定該調整的類別(如對比度、亮度等)及需要調整的量。這樣,各控制電路雖然掛在同一條匯流排上,卻彼此獨立,互不相關。
I2C匯流排在傳送數據過程中共有三種類型信號, 它們分別是:開始信號、結束信號和應答信號。
開始信號:SCL為高電平時,SDA由高電平向低電平跳變,開始傳送數據。
結束信號:SCL為高電平時,SDA由低電平向高電平跳變,結束傳送數據。
應答信號:接收數據的IC在接收到8bit數據後,向傳送數據的IC發出特定的低電平脈衝,表示已收到數據。CPU向受控單元發出一個信號後,等待受控單元發出一個應答信號,CPU接收到應答信號後,根據實際情況作出是否繼續傳遞信號的判斷。若未收到應答信號,由判斷為受控單元出現故障。
這些信號中,起始信號是必需的,結束信號和應答信號,都可以不要。
目前有很多半導體積體電路上都集成了I2C接口。帶有I2C接口的單片機有:CYGNAL的 C8051F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。很多外圍器件如存儲器、監控晶片等也提供I2C接口
I2C 匯流排是一種用於IC器件之間連線的雙向二線制匯流排,所謂匯流排它上面可以掛多個器件,並且通過兩根線連線,占用空間非常的小,匯流排的長度可長達25英尺,並且能夠以10Kbps的最大傳輸速率支持4個組件。它的另一優點是多主控,只要能夠進行接收和傳送的設備都可以成為主控制器,當然多個主控不能同一時間 工作。
I2C匯流排有兩根信號線,一根為SDA(數據線),一根為SCL(時鐘線)。任何時候時鐘信號都是由主控器件產生。

I2C匯流排操作

I2C規程運用主/從雙向通訊。器件傳送數據到匯流排上,則定義為傳送器,器件接收數據則定義為接收器。主器件和從器件都可以工作於接收和傳送狀態。 匯流排必須由主器件(通常為微控制器)控制,主器件產生串列時鐘(SCL)控制匯流排的傳輸方向,並產生起始和停止條件。SDA線上的數據狀態僅在SCL為低電平的期間才能改變,SCL為高電平的期間,SDA狀態的改變被用來表示起始和停止條件。
控制位元組
在起始條件之後,必須是器件的控制位元組,其中高四位為器件類型識別符(不同的晶片類型有不同的定義,EEPROM一般應為1010),接著三位為片選,最後一位為讀寫位,當為1時為讀操作,為0時為寫操作。
寫操作
寫操作分為位元組寫和頁面寫兩種操作,對於頁面寫根據晶片的一次裝載的位元組不同有所不同。
讀操作
讀操作有三種基本操作:當前地址讀、隨機讀和順序讀。圖4給出的是順序讀的時序圖。應當注意的是:最後一個讀操作的第9個時鐘周期不是“不關心”。為了結束讀操作,主機必須在第9個周期間發出停止條件或者在第9個時鐘周期內保持SDA為高電平、然後發出停止條件。
I2C匯流排套用目前有很多半導體積體電路上都集成了I2C接口。帶有I2C接口的單片機有:CYGNAL的 C8051F0XX系列,三星的S3C24XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。很多外圍器件如存儲器、監控晶片等也提供I2C接口。

舉常I2C器件/I2C Device1、存儲器類: ATMEL公司的AT24CXX系列EEPROM;
2、I2C匯流排8位並行IO口擴展晶片PCF8574/JLC1562;
3、I2C接口實時時鐘晶片DS1307/PCF8563/SD2000D/M41T80/ME901/ISL1208/;
4、I2C數據採集ADC晶片MCP3221(12bitADC)/ADS1100(16bitADC)/ADS1112(16bitADC)/MAX1238(12bitADC)/MAX1239(12bitADC);
5、I2C接口數模轉換DAC晶片DAC5574(8bitDAC)/DAC6573(10bitDAC)/DAC8571(16bitDAC)/;
6、I2C接口溫度感測器TMP101/TMP275/DS1621/MAX6625
USB轉I2C專用晶片:usb2i2c USB2I2C是一個USB匯流排轉I2C匯流排I2C/IIC/TWI/SMBUS的接口晶片,通過USB2I2C晶片可以非常方便地實現PC機USB匯流排和下位機端I2C接口(即IIC或TWI匯流排:SCL 線、SDA 線)之間的通信。
USB2I2C晶片上位機PC端提供簡單易用的USBIOX.DLL動態庫調用,可以方便地被VB,VC,Delphi,Labview,bcb等上位機開發工具調用。相關例程在USBIO公司網站可以找到。

USB2I2C功能特點

●全速USB設備接口,兼容USB V2.0。
●外圍元件簡單,只需1個12M晶體和2個電容。
●低成本,可以通過I2C匯流排直接實現上位機與下位機之間的連線,無需輔助MCU。
●上位機軟體能夠實現靈活實現I2C/IIC/TWI匯流排協定的各種操作。
●作為I2C匯流排Host/Master 主機端。
●I2C接口提供SCL和SDA信號線,支持SCL時鐘4種不同傳輸速度:100KHz/400KHz/750KHz。
●採用SSOP-20小型封裝。

相關詞條

相關搜尋

熱門詞條

聯絡我們