环球电气之家-午夜精彩视频-中国专业电气电子产品行业服务网站!

產(chǎn)品分類

當(dāng)前位置: 首頁 > 工業(yè)電氣產(chǎn)品 > 端子與連接器 > 線路板連接器 > FFC連接器

類型分類:
科普知識(shí)
數(shù)據(jù)分類:
FFC連接器

解決常見的 I2C 總線問題

發(fā)布日期:2022-04-17 點(diǎn)擊率:41

集成電路間總線因?yàn)楸辉S多 IC 制造商廣泛應(yīng)用于眾多設(shè)備而廣為人知。而且,互聯(lián)網(wǎng)上也提供了大量信息。然而,關(guān)于 IC 間總線卻也始終存在諸多問題,首當(dāng)其沖的便是它的正確縮寫方法。幸運(yùn)的是,官方徽標(biāo)給出了答案,即 I2C。

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

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

尋址

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

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

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

輸入I2C 總線A2A1A0從地址LLL0x38LLH0x39LHL0x3ALHH0x3BHLL0x3CHLH0x3DHHL0x3EHHH0x3F

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

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

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

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

有些設(shè)備僅可提供一個(gè)地址。例如,Sensirion AG 的 STS21 和 Silicon Labs 的 SI705x 無法配置不同的地址。如果在同一總線上使用多個(gè)上述設(shè)備,則可能導(dǎo)致問題,因?yàn)樗羞@些設(shè)備將會(huì)同時(shí)響應(yīng),從而導(dǎo)致整個(gè)總線崩潰。

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

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

圖 2:在 SDA 上看到的從地址 0x40 讀?。▓D片來源: Digi-Key Electronics)

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

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

利用支持 I2C 總線的邏輯分析器,可以輕松地發(fā)現(xiàn)并解決軟件尋址問題。請(qǐng)注意,一些 I2C 總線邏輯分析器會(huì)直接顯示傳輸?shù)牡刂贰?/p>

總線速度

I2C 總線設(shè)備可采用不同的速度。正如 I2C 規(guī)范所定義的,不同的雙向速度包括比特率高達(dá) 100 kb/s 的標(biāo)準(zhǔn)模式 (Sm)、比特率高達(dá) 400 kb/s 的快速模式 (Fm)、比特率高達(dá) 1 Mb/s 的快速增強(qiáng)模式 (Fm+),以及比特率高達(dá) 3.4 Mb/s 的高速模式 (HS)。由于這些速度通??梢韵蛳录嫒荩虼怂俣容^快的設(shè)備能夠以較低的數(shù)據(jù)速率,與速度較慢的設(shè)備在同一總線上使用。相反,如果將速度較慢的設(shè)備連接到速度較快的總線,則可能導(dǎo)致不可預(yù)測的狀態(tài)并阻塞總線。

電壓電平

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

根據(jù) I2C 規(guī)范,高電平信號(hào)和低電平信號(hào)的電壓電平都是相對(duì)供電電壓定義的。下表顯示了 2.5 伏到最高 5 伏范圍內(nèi)的最小電壓和最大電壓。請(qǐng)注意,2.5 伏設(shè)備無法產(chǎn)生對(duì) 5 伏設(shè)備而言足夠高的電壓。

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 伏的輸出可能會(huì)損壞 2.5 伏設(shè)備。

總線分區(qū)

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

可以采用總線開關(guān)來為 I2C 總線分區(qū),例如 NXP USA Inc. 的 PCA9548APW,118 或 Texas Instruments 的 PCA9548ADWR。通過為這些設(shè)備編程,可以啟用或禁用不同的區(qū)段訪問總線??梢园措妷弘娖健⑺俣然蚓哂邢嗤刂返脑O(shè)備來劃分不同的區(qū)段。

NXP I2C 總線開關(guān)的示意圖

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

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

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

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

總線電容

將總線分離為不同區(qū)段有助于解決總線線路電容等其他問題,因?yàn)樽畲箅娙輰?duì)各個(gè)區(qū)段是分開的。連接到總線線路的每個(gè)設(shè)備都會(huì)增加電路板印制線所導(dǎo)致的現(xiàn)有電容??偩€電容增大則會(huì)導(dǎo)致上升和下降時(shí)間增加,因?yàn)樾枰獜臇艠O進(jìn)行充電/放電。將多個(gè)設(shè)備添加到同一 I2C 總線可能達(dá)到指定的限值,從而降低通信速度。

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

公共接地

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

NXP 差分 I2C 總線示意圖

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

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

上拉電阻器

最后但同樣也很重要的一點(diǎn)是上拉電阻。

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

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

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

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

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

等式 1

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

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

使用低于表格所示的電阻值會(huì)導(dǎo)致通過設(shè)備的電流較大,這可能損壞設(shè)備,或?qū)е虏幻鞔_的低電平信號(hào)狀態(tài)。

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

等式 2

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

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

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

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

將上拉電阻器保持在計(jì)算的最小值和最大值之間,這一點(diǎn)非常重要。但即便如此,仍有可能造成使用的電阻器阻值過高。原因之一可能是,計(jì)算中未包括用于保護(hù)設(shè)備的串聯(lián)電阻器。請(qǐng)注意,此類串聯(lián)電阻器也會(huì)影響總線的上升時(shí)間和下降時(shí)間。

I2C 總線上的 NXP 上拉和串聯(lián)電阻器示意圖

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

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

真實(shí)示例

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

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

總結(jié)

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

 

下一篇: PLC、DCS、FCS三大控

上一篇: IMU提供精準(zhǔn)的位置數(shù)

推薦產(chǎn)品

更多
主站蜘蛛池模板: 云阳人才网_云阳招聘网_云阳人才市场_云阳人事人才网_云阳人家招聘网_云阳最新招聘信息 | 1000帧高速摄像机|工业高速相机厂家|科天健光电技术 | 周易算网-八字测算网 - 周易算网-宝宝起名取名测名字周易八字测算网 | 粘度计NDJ-5S,粘度计NDJ-8S,越平水分测定仪-上海右一仪器有限公司 | 深圳高新投三江工业消防解决方案提供厂家_服务商_园区智慧消防_储能消防解决方案服务商_高新投三江 | 防火门|抗爆门|超大门|医疗门|隔声门-上海加汇门业生产厂家 | 南京种植牙医院【官方挂号】_南京治疗种植牙医院那个好_南京看种植牙哪里好_南京茀莱堡口腔医院 尼龙PA610树脂,尼龙PA612树脂,尼龙PA1010树脂,透明尼龙-谷骐科技【官网】 | 齿轮减速机电机一体机_齿轮减速箱加电机一体化-德国BOSERL蜗轮蜗杆减速机电机生产厂家 | 土壤肥料养分速测仪_测土配方施肥仪_土壤养分检测仪-杭州鸣辉科技有限公司 | 贴板式电磁阀-不锈钢-气动上展式放料阀-上海弗雷西阀门有限公司 工业机械三维动画制作 环保设备原理三维演示动画 自动化装配产线三维动画制作公司-南京燃动数字 | 浙江美尔凯特智能厨卫股份有限公司 | 电竞学校_电子竞技培训学校学院-梦竞未来电竞学校官网 | 双舌接地线-PC68数字式高阻计-ZC36|苏海百科 | 微型气泵-真空-蠕动-水泵-厂家-深圳市品亚科技有限公司 | 集菌仪厂家_全封闭_封闭式_智能智能集菌仪厂家-上海郓曹 | PU树脂_水性聚氨酯树脂_聚氨酯固化剂_聚氨酯树脂厂家_宝景化工 | 渗透仪-直剪仪-三轴仪|苏州昱创百科 | 压缩空气检测_气体_水质找上海京工-服务专业、价格合理 | 河南正规膏药生产厂家-膏药贴牌-膏药代加工-修康药业集团官网 | 小区健身器材_户外健身器材_室外健身器材_公园健身路径-沧州浩然体育器材有限公司 | 单电机制砂机,BHS制砂机,制沙机设备,制砂机价格-正升制砂机厂家 单级/双级旋片式真空泵厂家,2xz旋片真空泵-浙江台州求精真空泵有限公司 | 耐高温风管_耐高温软管_食品级软管_吸尘管_钢丝软管_卫生级软管_塑料波纹管-东莞市鑫翔宇软管有限公司 | 酒吧霸屏软件_酒吧霸屏系统,酒吧微上墙,夜场霸屏软件,酒吧点歌软件,酒吧互动游戏,酒吧大屏幕软件系统下载 | CCC验厂-家用电器|服务器CCC认证咨询-奥测世纪 | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 高压油管,液压接头,液压附件-烟台市正诚液压附件 | 微水泥_硅藻泥_艺术涂料_艺术漆_艺术漆加盟-青岛泥之韵环保壁材 武汉EPS线条_EPS装饰线条_EPS构件_湖北博欧EPS线条厂家 | 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 聚天冬氨酸,亚氨基二琥珀酸四钠,PASP,IDS - 远联化工 | 小型手持气象站-空气负氧离子监测站-多要素微气象传感器-山东天合环境科技有限公司 | 超声波破碎仪-均质乳化机(供应杭州,上海,北京,广州,深圳,成都等地)-上海沪析实业有限公司 | 红立方品牌应急包/急救包加盟,小成本好项目代理_应急/消防/户外用品加盟_应急好项目加盟_新奇特项目招商 - 中红方宁(北京) 供应链有限公司 | 南汇8424西瓜_南汇玉菇甜瓜-南汇水蜜桃价格 | 小港信息港-鹤壁信息港 鹤壁老百姓便民生活信息网站 | 安徽合肥项目申报咨询公司_安徽合肥高新企业项目申报_安徽省科技项目申报代理 | 广西正涛环保工程有限公司【官网】 | 液压中心架,数控中心架,自定心中心架-烟台恒阳机电设计有限公司 行星搅拌机,双行星搅拌机,动力混合机,无锡米克斯行星搅拌机生产厂家 | 建筑资质代办_工程施工资质办理_资质代办公司_北京众聚企服 | 不锈钢法兰-碳钢法兰-法兰盘生产加工厂家-[鼎捷峰]-不锈钢法兰-碳钢法兰-法兰盘生产加工厂家-[鼎捷峰] | 深圳侦探联系方式_深圳小三调查取证公司_深圳小三分离机构 | 车牌识别道闸_停车场收费系统_人脸识别考勤机_速通门闸机_充电桩厂家_中全清茂官网 |