複製鏈接
請複製以下鏈接發送給好友

I²C

(一種串行通訊總線)

鎖定
I²C是內部整合電路的稱呼,是一種串行通訊總線,使用多主從架構,由飛利浦公司在1980年代為了讓主板、嵌入式系統或手機用以連接低速周邊裝置而發展。I²C只使用兩條雙向開放集極(Open Drain)(串行資料(SDA)及串行時脈(SCL))並利用電阻將電位上拉。I²C允許相當大的工作電壓範圍,但典型的電壓準位為+3.3V或+5v。
中文名
內部整合電路
外文名
I-squared-C
創立時間
1980年
類    型
一種串行通訊總線

I²C介紹

I²C的正確讀法為"I-squared-C" ,而"I-two-C"則是另一種錯誤但被廣泛使用的讀法,在大陸地區則多以"I方C"稱之。截至2006年11月1日為止,使用I²C協定不需要為其專利付費,但製造商仍然需要付費以獲得I²C從屬裝置位址。

I²C設計概説

I²C的參考設計使用一個7位元長度的位址空間但保留了16個位址,所以在一組總線最多可和112個節點通訊。常見的I²C總線依傳輸速率的不同而有不同的模式:標準模式(100 Kbit/s)、低速模式(10 Kbit/s),但時脈頻率可被允許下降至零,這代表可以暫停通訊。而新一代的I²C總線可以和更多的節點(支援10位元長度的位址空間)以更快的速率通訊:快速模式(400 Kbit/s)、高速模式(3.4 Mbit/s)。
雖然最大的節點數目是被位址空間所限制住,但實際上也會被總線上的總電容所限制住,一般而言為400 pF。

I²C修訂

原始的I²C系統是在1980年代所建立的一種簡單的內部總線系統,當時主要的用途在於控制由飛利浦所生產的芯片。
1992年完成了最初的標準版本釋出,新增了傳輸速率為400 kbit/s的快速模式及長度為10位元的尋址模式可容納最多1008個節點。1998年釋出了2.0版,新增了傳輸速率為3.4Mbit/s的高速模式併為了節省能源而減少了電壓及電流的需求。2.1版則在2001年完成,這是一個對2.0版做一些小修正,version 3.0, 2007年同時也是最新版本。

I²C應用

I²C-Bus
I²C被應用在簡單的周邊且其製造成本較傳輸速度更為要求。一些常見的應用如下:
I²C的另一個強大用途在於微控制器的應用,利用兩根通用的輸入輸出接腳及軟件的規劃,可以讓微控制器控制一個小型網絡。
周邊可以在系統仍然在運作的同時加入或移出總線,這代表對於有熱插拔需求的裝置而言是個理想的總線。
像I²C這樣的總線之所以流行起來,是因為電腦工程師發現到對於整合電路設計而言,許多的製造成本源自於封裝尺寸及接腳數量。更小的包裝通常能夠減少重量及電源的消耗,這對於移動電話及手持式電腦而言格外重要。

I²C操作系統

在Linux中,I²C已經列入了核心模組的支援了,更進一步的説明可以參考核心相關的文件及位於/usr/include/linux/i2c.h 的這個標頭檔。OpenBSD則在最近的更新中加入了I²C的架構(framework)以支援一些常見的主控端控制器及感應器。