I²C
I²C
I²C是內部整合電路的稱呼,是一種串列通訊匯流排,使用多主從架構,由飛利浦公司在1980年代為了讓主板、嵌入式系統或手機用以連接低速周邊裝置而發展。I²C的正確讀法為"Inter-Integrated Circuit" ,而"I方C"則是另一種錯誤但被廣泛使用的讀法,在大陸地區則多以"I-two-C"稱之。
I²C的正確讀法為"I-squared-C" ,而"I-two-C"則是另一種錯誤但被廣泛使用的讀法,在大陸地區則多以"I方C"稱之。截至2006年11月1日為止,使用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系統是在1980年代所建立的一種簡單的內部匯流排系統,當時主要的用途在於控制由飛利浦所生產的晶元。
1992年完成了最初的標準版本釋出,新增了傳輸速率為400 kbit/s的快速模式及長度為10位元的定址模式可容納最多1008個節點。1998年釋出了2.0版,新增了傳輸速率為3.4Mbit/s的高速模式並為了節省能源而減少了電壓及電流的需求。2.1版則在2001年完成,這是一個對2.0版做一些小修正,version 3.0, 2007年同時也是目前的最新版本。
I²C-Bus
I²C被應用在簡單的周邊且其製造成本較傳輸速度更為要求。一些常見的應用如下:
I²C的另一個強大用途在於微控制器的應用,利用兩根通用的輸入輸出接腳及軟體的規劃,可以讓微控制器控制一個小型網路。
周邊可以在系統仍然在運作的同時加入或移出匯流排,這代表對於有熱插拔需求的裝置而言是個理想的匯流排。
像I²C這樣的匯流排之所以流行起來,是因為電腦工程師發現到對於整合電路設計而言,許多的製造成本源自於封裝尺寸及接腳數量。更小的包裝通常能夠減少重量及電源的消耗,這對於行動電話及手持式電腦而言格外重要。
在Linux中,I²C已經列入了核心模組的支援了,更進一步的說明可以參考核心相關的文件及位於/usr/include/linux/i2c.h 的這個標頭檔。OpenBSD則在最近的更新中加入了I²C的架構(framework)以支援一些常見的主控端控制器及感應器。