1. I2C匯流排中的從設備如何知道自己的地址
每個I2C器件在出廠時都會固化自己的I2C地址的,也有通過硬體引腳選擇I2C地址的;而且I2C器件內部有MCU,可以識別匯流排上的信號並根據信號作出相應的處理;在接收到匯流排上的地址位後,會與自身的地址比較,一旦相同,則發出應答信號;
總之一條,I2C器件內部的MCU是知道自己的地址的,這是I2C規范
2. STE2002晶元在I2C通信中的從地址(即器件地址)是多少
雖然只有10分,蚊子腿上的肉也是肉哇,我當消滅0回復好了..
下載了ste2002的晶元手冊看了一下...裡面很清楚的寫了slaveaddress地址.見下圖....
估計你看了沒看懂..我來解釋下把...
首先,從機地址有8位.前5位已經固定下來了,是01111,第六位是sa0,第7位是sa1,這兩個位是根據你硬體口的狀態來決定的,防止你帶的i2c器件太多出現地址沖突,你看看你的原理圖就知道這2位該填啥.第八位是讀寫位,0跟1決定你是讀取還是寫入..
over...夠清楚把...
3. 怎樣知道i2c設備的地址是什麼
看晶元的datasheet,然後看硬體電路圖或是問硬體設計者晶元的地址引腳配置,因為I2C設備的地址有的是固定的,有的是可以配置的。
4. I2C匯流排的地址是如何確定的!!!
74HC595不是I2C匯流排的
只是可以使用I2C的數據發送而已
一般I2C晶元的地址是可以由硬體設定的
比如AT24C02,就有三個地址引腳A2,A1,A0,你把這三個引腳都接地,那麼它的地址就是0,把它都接VCC,地址就是7
5. LCD1602在IIC通信的時候,從機地址是怎麼知道的生產商固定的嗎
是的。I²C從設備的從機地址一般是固定的,也有些器件(例如EEPROM、RTC等)會引出幾個管腳用於設置本晶元的從機地址。
6. 主機如何確定IIC匯流排上的器件的地址
IIC匯流排上的器件都是只通過SCL和SDA這兩條線連接到IIC匯流排上的嗎?
是的
IIC上的每個器件都要一個地址寄存器來確定自己的地址嗎?
不一定,很多器件都是通過硬體來確定地址的。
有的在出廠時地址就設置好了,用戶不可以更改;
有的確定了幾位,剩下幾位由硬體確定(比如有三位由用戶確定,就留有3個控制地址的引腳),此類較多;
還有的有地址寄存器。
"如果主機向從機發送地址,從機怎麼知道這個地址就是主機的,這個地址是怎麼計算出來的"
嚴格講,主機不是向從機發送地址,而是主機往匯流排上發送地址(這個地址是某個從機的,而不是主機的,所以不存在「從機怎麼知道這個地址就是主機的」的問題),所有的從機都能接收到主機發出的地址,然後每個從機都將主機發出的地址與自己的地址比較,如果匹配上了,這個從機就會向主機發出一個響應信號。主機收到響應信號後,開始向匯流排上發送數據,與這個從機的通訊就建立起來了。如果主機沒有收到響應信號,則表示定址失敗。
「比如IIC匯流排上接了兩塊單片機,一塊是主機,另一塊是從機,如何定義從機的這個地址」
如果是帶IIC的單片機,會有地址寄存器,寄存器里的值即為它作為從機時的地址。
以ATmega48為例,有TWI從機地址寄存器—TWAR,先要確定工作模式(主機模式或從機模式),若工作在從機模式,,TWI將根據這個地址進行響應。
如果是不帶IIC的單片機,沒有地址寄存器。所以一般不用做從機。以AT89C51為例,用它的普通IO口模擬IIC時序時,一般都是用作主機。特殊情況下51用作從機時,可以通過掃描匯流排的方式,若發現匯流排上出現某個地址信號便響應(嚴格來說,這種方式只是在IIC基礎上z用戶定義的通信方式)。
最常見的情況,如前面所說,主從器件的角色是確定的,也就是說從機一直工作在從機模式。它的地址確定方法我已經說過了。不同的器件定義地址的方式是不同的,有的是軟體定義,有的是硬體定義。你找個數據手冊看看就明白了,紙上談兵很難說清楚。
7. IIC(I2C)匯流排上的設備其地址如何定義
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存儲器。
8. I2C匯流排的地址是如何確定的
74HC595不是I2C匯流排的
只是可以使用I2C的數據發送而已
一般I2C晶元的地址是可以由硬體設定的
比如AT24C02,就有三個地址引腳A2,A1,A0,你把這三個引腳都接地,那麼它的地址就是0,把它都接VCC,地址就是7
9. 單片機編程時I2C匯流排上從器件地址怎麼確定
硬體設定的,24C02datasheet上就有說明,通過A1 A2 A3這三個引腳是否接地而設定硬體地址的。
補充:單片機(Microcontrollers)是一種集成電路晶元,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊矽片上構成的一個小而完善的微型計算機系統,在工業控制領域廣泛應用。從上世紀80年代,由當時的4位、8位單片機,發展到現在的300M的高速單片機。