中文字幕第二一区_久久久久在线视频_精品国产自在现线看久久_亚洲精品一区二区三区电影网

產品分類

當前位置: 首頁 > 傳感測量產品 > 數據采集產品 > 數據通訊產品 > 現場總線/網關

類型分類:
科普知識
數據分類:
現場總線/網關

I2C(IC 間)總線的相關問題及解決方案

發(fā)布日期:2022-04-18 點擊率:187

集成電路間總線因為被許多 IC 制造商廣泛應用于眾多設備而廣為人知。而且,互聯網上也提供了大量信息。然而,關于 IC 間總線卻也始終存在諸多問題,首當其沖的便是它的正確縮寫方法。幸運的是,官方徽標給出了答案,即 I2C。

這篇技術文章將會探討使用 I2C 總線時可能發(fā)生的一些常見問題,以及相應的解決方法。關于 I2C 總線工作原理的基礎知識并非本文章的內容,但可以在以下教程中找到相關信息:I2C 總線基本原理。

使用 I2C 總線時,最常見的問題包括從設備尋址沖突、混合不同總線速度和/或電壓電平的設備、錯誤或忘記上拉電阻器、過大的總線電容以及無公共接地連接。

尋址

連接到 I2C 總線的設備在完成尋址后接收其數據。I2C 總線上的地址長度可能為 7 位或 10 位,并且在設備中預定義。這些地址由 NXP 分配給設備制造商。連接到總線的每個設備應具有唯一的地址。

為了讓 I2C 總線一次使用多個相同設備,許多設備都提供了通過將引腳拉至供電電壓或接地在預定義范圍內更改地址的能力。例如 Texas Instruments 的 TCA9534APWR I/O 擴展器。

該設備可配置三條地址線(A0、A1 和 A2),獲得 0x38 到 0x3F 范圍的地址(表 1),從而實現在總線上使用 8 個設備。

輸入I2C 總線A2A1A0從地址LLL0x38LLH0x39LHL0x3ALHH0x3BHLL0x3CHLH0x3DHHL0x3EHHH0x3F

表 1:地址參考(圖片來源: Digi-Key Electronics)

例如,如表 1 中所示,將所有三條地址線全部拉至低電平會將地址 0x38 分配給 TCA9534A。

配置地址 0<em></em>x38 的 Texas Instruments TCA9534 示意圖

圖 1:配置地址 0x38 的 TCA9534(圖片來源: Texas Instruments)

有些設備僅可提供一個地址。例如,Sensirion AG 的 STS21 和 Silicon Labs 的 SI705x 無法配置不同的地址。如果在同一總線上使用多個上述設備,則可能導致問題,因為所有這些設備將會同時響應,從而導致整個總線崩潰。

對于連接到 I2C 總線的設備,另一個更典型的尋址問題是與軟件相關。I2C 總線是 8 位串行總線。地址長度通常為 7 位,后面緊跟一個指定讀寫操作的位。例如,如以下圖 2 所示,從地址 0x40 (0b01000000) 執(zhí)行讀取操作將會在總線上生成 0x81 (0b10000001)。第 8 位為 1 表示讀,0 表示寫。

在 SDA 上看到的從地址 0<em></em>x40 讀取圖片

圖 2:在 SDA 上看到的從地址 0x40 讀取(圖片來源: Digi-Key Electronics)

一個 10 位地址在 I2C 總線上使用兩個字節(jié)。前 5 位始終為 0b11110,后面緊跟兩個最高有效位和第 8 位(同樣為讀/寫位)。第二個傳輸的字節(jié)包含 10 位地址的 8 個最低有效位。從 10 位地址 0x240 (0b1001000000) 讀取將會產生兩個字節(jié) 0xf5 (0b11110101) 和 0x40 (0b01000000)。

7 位地址 0x70 至 0x7B 保留用于 10 位尋址,且不能供 7 位設備使用。這樣就有可能在同一 I2C 總線上混合使用 7 位和 10 位設備。

利用支持 I2C 總線的邏輯分析器,可以輕松地發(fā)現并解決軟件尋址問題。請注意,一些 I2C 總線邏輯分析器會直接顯示傳輸的地址。

總線速度

I2C 總線設備可采用不同的速度。正如 I2C 規(guī)范所定義的,不同的雙向速度包括比特率高達 100 kb/s 的標準模式 (Sm)、比特率高達 400 kb/s 的快速模式 (Fm)、比特率高達 1 Mb/s 的快速增強模式 (Fm+),以及比特率高達 3.4 Mb/s 的高速模式 (HS)。由于這些速度通常可以向下兼容,因此速度較快的設備能夠以較低的數據速率,與速度較慢的設備在同一總線上使用。相反,如果將速度較慢的設備連接到速度較快的總線,則可能導致不可預測的狀態(tài)并阻塞總線。

電壓電平

雖然速度失配可能導致總線阻塞,但混合不同的電壓電平卻可能導致災難性的后果,并直接損壞零件。

根據 I2C 規(guī)范,高電平信號和低電平信號的電壓電平都是相對供電電壓定義的。下表顯示了 2.5 伏到最高 5 伏范圍內的最小電壓和最大電壓。請注意,2.5 伏設備無法產生對 5 伏設備而言足夠高的電壓。

VDDVIL(max)VIH(min)5V1.5 V3.5 V3.3 V1 V2.3 V2.5 V0.75 V1.75 V

表 2:輸入電壓電平(表格來源: Digi-Key Electronics)

反之,5 伏的輸出可能會損壞 2.5 伏設備。

總線分區(qū)

為 I2C 總線分區(qū)可以解決電壓電平不同、數據速率不同的問題,甚至解決具有相同地址的多個設備的問題。

可以采用總線開關來為 I2C 總線分區(qū),例如 NXP USA Inc. 的 PCA9548APW,118 或 Texas Instruments 的 PCA9548ADWR。通過為這些設備編程,可以啟用或禁用不同的區(qū)段訪問總線。可以按電壓電平、速度或具有相同地址的設備來劃分不同的區(qū)段。

NXP I2C 總線開關的示意圖

圖 3:I2C 總線開關(圖片來源: NXP)

當應對不同的電壓電平時,可以同時激活不同的區(qū)段。但對于同一地址,必須確保不會同時激活具有相同地址的多個區(qū)段。當然,總線開關也必須支持不同的電壓電平和/或速度模式。盡管以上所示的兩個設備都支持 1.8 V、2.5 V、3.3 V 和 5 V 電壓,以及高達 Fm (400 kb/s) 的速度,但這不一定始終足夠。

NXP USA Inc. 的 PCA9617ADPJ 是一個總線中繼器,支持高達 Fm+ 的速度,并且在一側支持低至 0.8 V 的電壓,在另一側支持 2.2 V 的電壓。此設備可用于擴展范圍,或使用其啟用線路將一側與另一側進行分離。由于此設備不能用作 I2C 從設備,因此它需要額外的微控制器引腳才能分離總線線路。

尋找支持高達 Fm+ 總線速度的交換機或中繼器,比尋找適合高速總線的相似解決方案更難。對于單一主總線而言,最輕松的解決方案是選擇一個能夠提供兩個或更多個 I2C 總線的處理器(類似于 Microchip Technology 的 SAM D21 系列),并按速度分離設備。對于多主總線系統(tǒng)而言,解決方案稍微復雜一些。其中一個主總線需要使用橋接模式,將每個速度不超過 Fm+ 的信號轉發(fā)至另一條總線,但在切換至高速模式時分離總線。

總線電容

將總線分離為不同區(qū)段有助于解決總線線路電容等其他問題,因為最大電容對各個區(qū)段是分開的。連接到總線線路的每個設備都會增加電路板印制線所導致的現有電容。總線電容增大則會導致上升和下降時間增加,因為需要從柵極進行充電/放電。將多個設備添加到同一 I2C 總線可能達到指定的限值,從而降低通信速度。

不僅過多的設備會增加總線電容,過長的總線線路也會發(fā)生同樣的情況。I2C 適合用作單一 PCB 上的集成電路之間的總線。但它往往用于通過電纜跟相距數英尺的其他 PCB 上的設備進行通信。針對 PCB 上的印制線,許多設計工具可以計算印制線電容。對于標準帶狀電纜,此值通常在規(guī)格書中提供(每英尺電容 10 到 15 pF)。此外,讓總線通過數英尺的電纜傳輸至其他 PCB,可能會因 EMI 而導致噪聲信號,這也可能引發(fā)通信故障。

公共接地

對 I2C 而言,總線上所有設備之間擁有一個公共接地非常重要。由于功耗的原因,通過長幾英尺的電纜所連接的電路板上的接地電平可能不同,從而導致通信問題。為避免此問題,同時減少可能的 EMI 問題,選擇之一是使用 NXP USA Inc. 的 PCA9615DPJ。此器件是一側采用標準 I2C 總線,另一側采用差分 I2C 總線的 I2C 總線中繼器。

NXP 差分 I2C 總線示意圖

圖 4:差分 I2C 總線(圖片來源: NXP)

差分信號不僅減少了可能的 EMI 問題,而且不需要公共接地連接。 對于雙絞線電纜,它還允許 I2C 總線延長至十英尺的長度,從而實現具有 1 MHz 時鐘速度的多分支總線(Fm+ 總線),如只需較低速度,甚至延長更長距離。

上拉電阻器

最后但同樣也很重要的一點是上拉電阻。

I2C 總線上連接的所有端口均為開漏端口,允許在總線線路上使用不同的電壓。電壓閾值取決于使用電阻器將線路上拉至的電壓。每個 I2C 總線區(qū)段都需要上拉電阻器,并且每個區(qū)段的值可能不同。一些設備提供可以啟用或禁用的內部上拉電阻器。使用這些電阻器是否實用需要視具體情況而定。

低阻值電阻器可以將 SDA 和 SCL 線路猛拉至最高總線電壓,這可能導致一些總線設備無法將線路拉低至指定的低電壓電平。此外,總線線路的電阻也會增加上拉電阻,并且設備越靠近上拉電阻器,與遠離上拉電阻器的設備相比,電壓電平差越大。相反,選擇阻值過高的上拉電阻器會導致上升時間增加,這也依賴于總線上存在的電線、印制線、連接和引腳的總線電容。

那么,如何確定電阻值呢?

I2C 規(guī)范提供了兩個公式,用于計算上拉電阻器的最小和最大電阻。

最小電阻 Rp(min) 取決于總線電壓 VDD 和低電平輸出電流 IOL。VOL(max) 為 0.4 伏,或 0.2 VDD(對于 VDD 低于 2 伏的情況)。

等式 1

VDDSm 總線/Fm 總線Fm+ 總線5V1700 ?255 ?3.3 V1077 ?162 ?2.5 V783 ?118 ?

表 3:不同供電電壓下的最小上拉電阻器阻值(表格來源: Digi-Key Electronics)

使用低于表格所示的電阻值會導致通過設備的電流較大,這可能損壞設備,或導致不明確的低電平信號狀態(tài)。

最大電阻 Rp(max) 使用估計的總線電容 Cb 和最大上升時間 tr 計算得出。最大上升時間取決于總線的數據速率。

等式 2

下表顯示了不同總線速度下的最大上升時間 (tr(max)) 和最大總線電容 (tr(max)) 所允許的最大電阻 (Rp(max))。要獲得更短的上升時間,需要降低總線電容或電阻值。

Sm 總線Fm 總線Fm+ 總線tr(max)1000 ns300 ns120 nsCb(max)400 pF400 pF550 pFRp(max)2950 ?885 ?257 ?

表 4:最壞情形下總線的最大電阻器阻值(表格來源: Digi-Key Electronics)

以上表格顯示了不同總線速度下最大總線電容和最大上升時間對應的最壞情形。最佳選擇是估算總線電容并使用提供的公式計算電阻值。

將上拉電阻器保持在計算的最小值和最大值之間,這一點非常重要。但即便如此,仍有可能造成使用的電阻器阻值過高。原因之一可能是,計算中未包括用于保護設備的串聯電阻器。請注意,此類串聯電阻器也會影響總線的上升時間和下降時間。

I2C 總線上的 NXP 上拉和串聯電阻器示意圖

圖 5:I2C 總線上的上拉和串聯電阻器(圖片來源: NXP)

一般而言,如果出現通信不穩(wěn)定問題,建議測量上升和下降時間,并相應地調整上拉電阻器。

真實示例

Arduino Uno 使用指定為 20 k? 到 50 k? 的內部上拉電阻器。這對于在 Fm 總線速度下介于 7 pF 到 18 pF 的最大總線電容和在 Sm 總線速度下介于 24 pF 到 59 pF 的最大總線電容來說是合適的。

在總線上各個端口具有不超過 10 pF 的電容,同時存在一些額外接線和連接電容的情況下,采用 Fm 總線速度時,即使僅使用一個從設備,Arduino 也會出現通信問題。但在 Sm 總線速度下,則可能同時使用若干設備。因此,在 Arduino 上使用 I2C 時,建議使用外部上拉電阻器。

總結

通過使用具有相同速度和電壓的設備、選擇合適的上拉電阻器,以及針對地址的使用進行有效規(guī)劃,可以避免 I2C 存在的許多常見問題

下一篇: 斷路器、隔離開關、接

上一篇: 索爾維全系列Solef?PV

推薦產品

更多
中文字幕第二一区_久久久久在线视频_精品国产自在现线看久久_亚洲精品一区二区三区电影网

      9000px;">

          国产精品美女久久久久久| 69精品人人人人| 欧美国产1区2区| 日韩亚洲欧美一区| 91精品福利视频| 中文字幕一区二区视频| 欧美激情自拍偷拍| 日一区二区三区| 91免费小视频| 精品三级在线观看| 亚洲电影在线免费观看| 成人av在线网| 欧美xxxxx牲另类人与| 一区二区三区国产精华| 国产福利一区二区三区在线视频| 精品国产1区二区| 一区二区三区中文字幕精品精品 | 亚洲一区二区在线播放相泽| 一区二区三区在线免费视频| 一区二区在线观看视频在线观看| 亚洲一区二区三区中文字幕在线| 亚洲18女电影在线观看| 极品瑜伽女神91| 亚洲福中文字幕伊人影院| 精品综合免费视频观看| 69精品人人人人| 午夜久久久影院| 色呦呦日韩精品| 国产精品福利影院| 国产成人免费视频| 国产视频一区二区在线观看| 蜜桃av噜噜一区| 欧美一区二区免费| 日韩不卡免费视频| 在线不卡免费av| 蜜桃传媒麻豆第一区在线观看| 717成人午夜免费福利电影| 天天影视色香欲综合网老头| 欧美妇女性影城| 日韩二区三区在线观看| 91精品国产高清一区二区三区蜜臀| 亚洲精品中文字幕在线观看| 色婷婷综合视频在线观看| 亚洲你懂的在线视频| 91在线视频18| 亚洲你懂的在线视频| 91麻豆福利精品推荐| 亚洲最新在线观看| 欧美三级在线播放| 日韩av电影天堂| 日韩精品一区二区在线| 国产综合成人久久大片91| 日本一区二区三区久久久久久久久不 | 欧美一区二区久久久| 欧美图片一区二区三区| 久久久不卡网国产精品一区| 亚洲国产精品尤物yw在线观看| 成人av动漫在线| 2021国产精品久久精品| 亚洲aⅴ怡春院| 欧洲亚洲国产日韩| 欧美国产一区在线| 亚洲在线中文字幕| 国产毛片精品视频| 亚洲情趣在线观看| 91精品国产综合久久久蜜臀图片| 黑人精品欧美一区二区蜜桃| 亚洲另类在线视频| 99久久伊人网影院| 中文字幕免费在线观看视频一区| 国产精品乱人伦一区二区| 国产suv精品一区二区6| 亚洲精品久久久蜜桃| 欧美一区二区成人| 丰满亚洲少妇av| 亚洲电影在线播放| 精品国产91久久久久久久妲己| 国产不卡在线播放| 亚洲午夜免费电影| 国产欧美一区二区三区在线看蜜臀| 色欧美乱欧美15图片| 久久精品国产秦先生| 一级中文字幕一区二区| 精品久久国产老人久久综合| 91在线视频播放| 美女免费视频一区| 亚洲精品视频在线看| 久久综合九色欧美综合狠狠| 欧美亚洲一区二区在线观看| 国产精品一区二区在线观看不卡| 亚洲国产乱码最新视频| 久久久91精品国产一区二区精品 | 亚洲专区一二三| 国产蜜臀97一区二区三区 | 国产一区二区三区不卡在线观看| 自拍偷拍国产亚洲| 久久精品亚洲麻豆av一区二区| 在线综合视频播放| 91蜜桃网址入口| 福利一区二区在线| 久久成人18免费观看| 亚洲愉拍自拍另类高清精品| 国产日韩在线不卡| 日韩精品一区二区三区老鸭窝| 欧美亚洲国产一区在线观看网站| 国产精品自产自拍| 激情欧美一区二区三区在线观看| 日韩精品一卡二卡三卡四卡无卡| 国产乱对白刺激视频不卡| 欧美性淫爽ww久久久久无| 免费久久99精品国产| 日本一区二区动态图| 欧美午夜一区二区| 国产乱妇无码大片在线观看| 国产精品盗摄一区二区三区| 欧美高清精品3d| 国产成人亚洲综合色影视| 亚洲女人的天堂| www激情久久| 97精品久久久久中文字幕| 天天操天天干天天综合网| 欧美国产日韩在线观看| 欧美日韩中文精品| 成人ar影院免费观看视频| 午夜欧美电影在线观看| 国产人久久人人人人爽| 欧美高清www午色夜在线视频| 国产精品456露脸| 日韩av在线免费观看不卡| 亚洲色图另类专区| 久久综合成人精品亚洲另类欧美 | 日韩电影一区二区三区| 中文字幕巨乱亚洲| 欧美一区二区久久| 99久久综合国产精品| 精品在线免费视频| 婷婷开心久久网| 中文字幕在线观看一区二区| 精品欧美一区二区久久| 欧美日韩一本到| 91麻豆国产精品久久| 成人动漫在线一区| 福利电影一区二区三区| 日韩一区二区三| 久久网这里都是精品| 国产欧美一区二区精品秋霞影院| 国产精品久久久久一区| 国产精品女主播av| 亚洲欧美aⅴ...| 视频一区视频二区中文字幕| 久久99久久99精品免视看婷婷| 美女国产一区二区| 国产九九视频一区二区三区| 日韩av不卡一区二区| 日本不卡一二三区黄网| 久久精品国产色蜜蜜麻豆| 福利91精品一区二区三区| 97精品国产露脸对白| 91精品免费在线| 日韩一区二区三区电影| 欧美大尺度电影在线| 日本一区二区免费在线观看视频 | 日韩欧美国产系列| 欧美国产欧美综合| 亚洲韩国精品一区| 精品无人区卡一卡二卡三乱码免费卡 | 91精品婷婷国产综合久久性色| 久久美女艺术照精彩视频福利播放| 中文字幕一区二区三区在线播放 | 成人午夜免费电影| 成人18视频日本| 91九色02白丝porn| 9l国产精品久久久久麻豆| 日本福利一区二区| 欧美视频你懂的| 欧美日韩国产高清一区二区三区| 欧美精品久久天天躁| 欧美日韩高清影院| 久久综合成人精品亚洲另类欧美| 国产91丝袜在线播放0| 欧美性三三影院| 久久久不卡网国产精品一区| 中文字幕一区二区三区蜜月| 美国欧美日韩国产在线播放| 欧美色视频在线观看| 国产精品毛片无遮挡高清| 日本午夜精品视频在线观看| 色综合av在线| 国产欧美日韩卡一| 国内精品国产三级国产a久久| 精品视频一区三区九区| 国产精品妹子av| 国产成a人亚洲| 久久精品视频网| 美腿丝袜亚洲综合| 欧美妇女性影城| 午夜精品123| 久久久久久久久久久久电影 | 亚洲视频图片小说| 最新久久zyz资源站|