1. 程式人生 > >IIC匯流排最多能接幾個裝置

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儲存器。