天天看點

IIC總線位址定義

IIC總線

一般串行資料通訊都有時鐘和資料之分,有異步和同步之别.

有單線,雙線和三線等.

I2C肯定是2線的(不算地線).

I2C協定确實很科學,比3/4線的SPI要好,當然線多通訊速率相對就快了.

I2C的原則是:

在SCL=1(高電平)時,SDA千萬别忽悠!!!

否則,SDA下跳則"判罰"為"起始信号S",SDA上跳則"判罰"為"停止信号P".

在SCL=0(低電平)時,SDA随便忽悠!!!(可别忽悠過火到SCL跳高)

每個位元組後應該由對方回送一個應答信号ACK做為對方線上的标志.

非應答信号一般在所有位元組的最後一個位元組後.一般要由雙方協定簽定.

SCL必須由主機發送,否則天下大亂.

首位元組是"片選信号",即7位從機位址加1位方向(讀寫)控制.

從機收到(聽到)自己的位址才能發送應答信号(必須應答!!!)表示自己線上.

其他位址的從機不允許忽悠!!!(當然群呼可以忽悠但隻能聽不許說話)

讀寫是站在主機的立場上定義的.

"讀"是主機接收從機資料,“寫"是主機發送資料給從機.

重複位主要用于主機從發送模式到接收模式的轉換"信号”,由于隻有2線,

是以收發轉換肯定要比SPI複雜,因為SPI可用不同的邊沿來收發資料,而I2C不行.

在硬體I2C子產品,特别是MCU/ARM/DSP等每個階段都會得到一個準确的狀态碼,

根據這個狀态碼可以很容易知道現在在什麼狀态和什麼出錯資訊.

7位I2C總線可以挂接127個不同位址的I2C裝置,0号"裝置"作為群呼位址.

10位I2C總線可以挂接更多的10位I2C裝置.

總之,隻要掌握I2C的忽悠記,一般很容易掌控… 第一個位元組(為slave address)由7位位址和一位R/W讀寫位組成的,這位元組是個器件位址。

首先,你要知道:常用IIC接口通用器件的器件位址是由種類型号,及尋址碼組成的,共7位。

如格式如下:

D7 D6 D5 D4 D3 D2 D1 D0

1-器件類型由:D7-D4 共4位決定的。這是由半導公司生産時就已固定此類型的了,也就是說這4位已是固定的。

2-使用者自定義位址碼:D3-D1共3位。這是由使用者自己設定的,通常的作法如EEPROM這些器件是由外部IC的3個引腳所組合電平決定的(用常用的名字如A0,A1,A2)。這也就是尋址碼。

是以為什麼同一IIC總線上同一型号的IC隻能最多共挂8片同種類晶片的原因了。

3-最低一位就是R/W位。這位不用我多說了。

在現代電子系統中,有為數衆多的IC需要進行互相之間以及與外界的通信。為了提供硬體的效率和簡化電路的設計,PHILIPS開發了一種用于内部IC控制的簡單的雙向兩線串行總線I2C。I2C總線支援任何一種IC制造技術,并且PHILIPS和其他廠商提供了種類非常豐富的I2C相容晶片。作為一個專利的控制總線,I2C已經成為世界性的工業标準。

每個器件都有一個唯一的位址,而且可以是單接收的器件(例如:LCD驅動器)或者可以接收也可以發送的器件(例如:存儲器)。發送器或接收器可以在主模式或從模式下操作,這取決于晶片是否必須啟動資料的傳輸還是僅僅被尋址。I2C是一個多主總線,即它可以由多個連接配接的器件控制。

基本的I2C總線規範于20年前釋出,其資料傳輸速率最高為100Kbits/s,采用7位尋址。但是由于資料傳輸速率和應用功能的迅速增加,I2C總線也增強為快速模式(400Kbits/s)和10位尋址以滿足更高速度和更大尋址空間的需求。

I2C總線始終和先進技術保持同步,但仍然保持其向下相容性。并且最近還增加了高速模式,其速度可達3.4Mbits/s。它使得I2C總線能夠支援現有以及将來的高速串行傳輸應用,例如EEPROM和Flash存儲器。 在現代電子系統中,有為數衆多的IC需要進行互相之間以及與外界的通信。為了提供硬體的效率和簡化電路的設計,PHILIPS開發了一種用于内部IC控制的簡單的雙向兩線串行總線I2C。I2C總線支援任何一種IC制造技術,并且PHILIPS和其他廠商提供了種類非常豐富的I2C相容晶片。作為一個專利的控制總線,I2C已經成為世界性的工業标準。

每個器件都有一個唯一的位址,而且可以是單接收的器件(例如:LCD驅動器)或者可以接收也可以發送的器件(例如:存儲器)。發送器或接收器可以在主模式或從模式下操作,這取決于晶片是否必須啟動資料的傳輸還是僅僅被尋址。I2C是一個多主總線,即它可以由多個連接配接的器件控制。

基本的I2C總線規範于20年前釋出,其資料傳輸速率最高為100Kbits/s,采用7位尋址。但是由于資料傳輸速率和應用功能的迅速增加,I2C總線也增強為快速模式(400Kbits/s)和10位尋址以滿足更高速度和更大尋址空間的需求。

I2C總線始終和先進技術保持同步,但仍然保持其向下相容性。并且最近還增加了高速模式,其速度可達3.4Mbits/s。它使得I2C總線能夠支援現有以及将來的高速串行傳輸應用,例如EEPROM和Flash存儲器。