導航:首頁 > 器材知識 > i2c設備如何修改硬體地址

i2c設備如何修改硬體地址

發布時間:2021-11-28 10:29:01

『壹』 主機如何確定IIC匯流排上的器件的地址

IIC匯流排上的器件都是只通過SCL和SDA這兩條線連接到IIC匯流排上的嗎?
是的

IIC上的每個器件都要一個地址寄存器來確定自己的地址嗎?
不一定,很多器件都是通過硬體來確定地址的。
有的在出廠時地址就設置好了,用戶不可以更改;
有的確定了幾位,剩下幾位由硬體確定(比如有三位由用戶確定,就留有3個控制地址的引腳),此類較多;
還有的有地址寄存器。

"如果主機向從機發送地址,從機怎麼知道這個地址就是主機的,這個地址是怎麼計算出來的"
嚴格講,主機不是向從機發送地址,而是主機往匯流排上發送地址(這個地址是某個從機的,而不是主機的,所以不存在「從機怎麼知道這個地址就是主機的」的問題),所有的從機都能接收到主機發出的地址,然後每個從機都將主機發出的地址與自己的地址比較,如果匹配上了,這個從機就會向主機發出一個響應信號。主機收到響應信號後,開始向匯流排上發送數據,與這個從機的通訊就建立起來了。如果主機沒有收到響應信號,則表示定址失敗。

「比如IIC匯流排上接了兩塊單片機,一塊是主機,另一塊是從機,如何定義從機的這個地址」
如果是帶IIC的單片機,會有地址寄存器,寄存器里的值即為它作為從機時的地址。
以ATmega48為例,有TWI從機地址寄存器—TWAR,先要確定工作模式(主機模式或從機模式),若工作在從機模式,,TWI將根據這個地址進行響應。
如果是不帶IIC的單片機,沒有地址寄存器。所以一般不用做從機。以AT89C51為例,用它的普通IO口模擬IIC時序時,一般都是用作主機。特殊情況下51用作從機時,可以通過掃描匯流排的方式,若發現匯流排上出現某個地址信號便響應(嚴格來說,這種方式只是在IIC基礎上z用戶定義的通信方式)。

最常見的情況,如前面所說,主從器件的角色是確定的,也就是說從機一直工作在從機模式。它的地址確定方法我已經說過了。不同的器件定義地址的方式是不同的,有的是軟體定義,有的是硬體定義。你找個數據手冊看看就明白了,紙上談兵很難說清楚。

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

『叄』 請教一個修改I2C地址的問題

IIC上的每個器件是否都要一個地址寄存器來確定自己的地址:很多器件都是通過硬體來確定地址的。
有的在出廠時地址就設置好了,用戶不可以更改,有的確定了幾位,剩下幾位由硬體確定(比如有三位由用戶確定,就留有3個控制地址的引腳),此類較多;還有的有地址寄存器。
嚴格講,主機不是向從機發送地址,而是主機往匯流排上發送地址,所有的從機都能接收到主機發出的地址,然後每個從機都將主機發出的地址與自己的地址比較,如果匹配上了,這個從機就會向主機發出一個響應信號。主機收到響應信號後,開始向匯流排上發送數據,與這個從機的通訊就建立起來了。如果主機沒有收到響應信號,則表示定址失敗。
比如帶IIC的單片機,會有地址寄存器,寄存器里的值即為它作為從機時的地址。
最常見的情況,主從器件的角色是確定的,也就是說從機一直工作在從機模式。它的地址確定方法我已經說過了。不同的器件定義地址的方式是不同的,有的是軟體定義,有的是硬體定義。

『肆』 如何設置I2C的偏移地址為16位

是這樣的,我們一般的I2C協議的數據格式是這樣的
主機:W(I2C
Slaver
Adder
W/R),
I2C設備的偏移量
I2CData;但有些I2C設備的偏移地址是16位的
假如
W(36)
80
40
00
80
40就是偏移量即0x8040

『伍』 linux中i2c匯流排中從機地址怎麼設置

S3C2410X集成了一個LCD控制器(支持STN和TFT帶有觸摸屏的液晶顯示屏)、SDRAM控制器、3個通道的UART、4個通道的DMA、4個具有PWM功能的計時器和一個內部時鍾、8通道的10位ADC。S3C2410還有很多豐富的外部介面,例如觸摸屏介面、I2C匯流排介面、I2S匯流排介面、兩個USB主機介面、一個USB設備介面、兩個SPI介面、SD介面和MMC卡介面。在時鍾方面S3C2410X也有突出的特點,該晶元集成了一個具有日歷功能的RTC和具有PLL(MPLL和UPLL)的晶元時鍾發生器。MPLL產生主時鍾,能夠使處理器工作頻率最高達到203MHz。這個工作頻率能夠使處理器輕松運行WIN CE、LINUX等操作系統以及進行較為復雜的信息處理。
S3C2410X晶元相關數據:
? 203MHz ARM920T 內核,0.18um工藝,超低功耗,272 pin BGA封裝
? 帶MMU,16KB指令緩存,16KB數據緩存
? 1.8V內核電源,3.3V I/O電壓,兼容1.8,2.5,3.3V內存電壓
? 內含SDRAM控制器
? 117個GPIO,24個外部中斷
? 內置LCD控制器,可接真彩色,大屏幕TFT液晶
? 豐富的外部介面:4通道DMA,3個串口,一個SPI口,一個IIC介面,一個USB device口,一個USB host口
? 8通道10-bit AD,4通道PWM輸出
? 內置RTC,PLL
? 內置SD,MMC,Smart Media等存儲卡介面
? 支持從SmartMedia (Nand Flash)中啟動系統
請採納答案,支持我一下。

『陸』 如何獲取I2C匯流排上多個設備的地址

I2C是有統一定義的,不會沖突。
24LC16B.html">24LC16B地址datasheet上肯定說了,仔細看吧。

有些器件會有一個或幾個IO來改變I2C的地址。

象24LC16就有A2,A1,A0可以有8個不同的I2C地址。

因此可以同時接8個一樣的器件而不沖突。

24LC16的I2C地址為1010xxx,xxx即為A2,A1,A0,所以A0-AF都是。最低位為讀寫控制。

『柒』 I2C匯流排中的從設備如何知道自己的地址

每個I2C器件在出廠時都會固化自己的I2C地址的,也有通過硬體引腳選擇I2C地址的;而且I2C器件內部有MCU,可以識別匯流排上的信號並根據信號作出相應的處理;在接收到匯流排上的地址位後,會與自身的地址比較,一旦相同,則發出應答信號;

總之一條,I2C器件內部的MCU是知道自己的地址的,這是I2C規范

『捌』 如何設置 stm32 為硬體 i2c 外設的從設備

STM32F10x_硬體I2C主從通信(輪詢發送,中斷接收):
http://blog.csdn.net/ybhuangfugui/article/details/52250074

關於專STM32技術博客屬:
http://blog.csdn.net/ybhuangfugui

『玖』 怎樣知道i2c設備的地址是什麼

看晶元的datasheet,然後看硬體電路圖或是問硬體設計者晶元的地址引腳配置,因為I2C設備的地址有的是固定的,有的是可以配置的。

閱讀全文

與i2c設備如何修改硬體地址相關的資料

熱點內容
機械連鎖裝置直接傳動 瀏覽:919
測繪儀器廠家有哪些 瀏覽:919
問題四如何檢測軸承預緊度 瀏覽:77
春的森林電影類似的 瀏覽:848
軸承上打黃油的小嘴怎麼摘下來 瀏覽:15
機械挺趕是什麼東西 瀏覽:992
找避孕套電影 瀏覽:289
變形金剛6電影完整版免費 瀏覽:912
日本電影網站大全 瀏覽:229
180的管道用多大閥門 瀏覽:246
煙氣冷凝熱回收裝置的作用 瀏覽:438
高純氦氣壓縮到鋼瓶需要什麼設備 瀏覽:382
閥門WC3是什麼材質 瀏覽:199
機械制圖中實線長什麼樣 瀏覽:306
汽車儀表盤怎麼顯示故障 瀏覽:8
主人公叫江辰的重生小說 瀏覽:627
飛度儀表有個號什麼意思 瀏覽:166
排氣閥門的英文按鍵 瀏覽:916
車上儀表盤lim是什麼意思 瀏覽:335
坦克300儀表盤主題什麼時候更新 瀏覽:386