那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

i2c總線的組成,及其作用 i2c總線的優點是什么

jf_pJlTbmA9 ? 來源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-08-07 16:18 ? 次閱讀

如果您正在使用OLED顯示器,氣壓傳感器陀螺儀/加速度計模塊的項目,您可能會發現正在使用I2C總線。

I2C總線簡介

I2C結合了SPI和UART的優點。使用I2C,您可以將多個從設備連接到單個主設備上(如SPI),并且可以讓多個主器件控制單個或多個從器件。當您希望有多個微控制器記錄數據到單個存儲卡或將文本顯示到單個LCD時,這非常有用。

與UART通信一樣,I2C僅使用兩條線在設備之間傳輸數據:

SDA(串行數據) - 主站和從站發送和接收數據的線路。

SCL(串行時鐘) - 承載時鐘信號的線路。

I2C是一種串行通信協議,因此數據沿著單線(SDA線)逐位傳輸。

與SPI一樣,I2C是同步的,因此位輸出通過主機和從機之間共享的時鐘信號與位采樣同步。時鐘信號始終由主機控制。

I2C如何工作

使用I2C時,數據被轉換成messages,messages則被分解為數據幀。每條messages都有一個地址幀,其中包含從站的二進制地址,以及一個或多個包含正在傳輸的數據的數據幀。該消息還包括每個數據幀之間的啟動和停止條件,讀/寫位和ACK / NACK位:

啟動條件:在SCL線路從高電平切換到低電平之前,SDA線路從高電平切換到低電平。

停止條件:SCL線路從低電平切換到高電平后,SDA線路從低電平切換到高電平。

地址幀:每個從站唯一的7或10位序列,用于在主站想與之通信時識別從站。

讀/寫位:單個位,指定主器件是向從器件發送數據(低電壓電平)還是從器件請求數據(高電壓電平)。

ACK / NACK位:消息中的每個幀后跟一個應答/不應答位。如果成功接收到地址幀或數據幀,則從接收設備向發送方返回ACK位。

地址

I2C沒有像SPI這樣的從選擇線,因此它需要另一種方法讓從器件知道數據正在發送給它,而不是另一個從器件。它通過地址來做到這一點。地址幀始終是新消息中起始位之后的第一幀。

主設備將與其通信的從設備的地址發送給與其連接的每個從設備。然后,每個從設備將從主設備發送的地址與其自己的地址進行比較。如果地址匹配,則將低電壓ACK位發送回主機。如果地址不匹配,則從器件不執行任何操作,SDA線保持高電平。

讀/寫位

地址幀在末尾包括一個位,用于通知從設備,主設備是想要向其寫入數據還是從主設備接收數據。如果主設備想要向從設備發送數據,則讀/寫位是低電平。如果主設備向從設備請求數據,則該位是高電平。

數據框架

在主設備檢測到來自從設備的ACK位之后,準備好發送第一個數據幀。

數據幀始終為8位長,并以最高有效位先發送。緊接著每個數據幀的ACK / NACK位以驗證幀已被成功接收。在發送下一個數據幀之前,主機或從機必須接收ACK位(取決于發送數據的人)。

在發送了所有數據幀之后,主設備可以向從設備發送停止條件以停止傳輸。停止條件是SCL線上從低電平到高電平轉換后,SDA線上從低電平變為高電平,SCL線保持高電平。

I2C數據傳輸步驟

1.主機向每一個連接的從設備發送數據,然后將SDA信號從高切換到低,之后在將SCL從高切換到低電平。

2.主設備向每個從設備發送它想要與之通信的從設備的7或10位地址,以及讀/寫位:

3.每個從設備將主設備發送的地址與其自己的地址進行比較。如果地址匹配,則從器件通過將SDA線拉低一位來返回ACK位。如果主設備的地址與從設備的地址不匹配,則從設備將SDA線保持為高電平。

4.主設備發送或接收數據幀:

5.在傳輸了每個數據幀之后,接收設備將另一個ACK位返回給發送方以確認成功接收到該幀:

圖片.png

6.要停止數據傳輸,主機通過在將SDA切換為高電平之前切換SCL為高電平來向從機發送停止條件:

有多個從設備的單一主設備

由于I2C使用尋址,因此可以從單個主設備控制多個從設備。使用7位地址,可以使用128(27)個唯一地址。使用10位地址并不常見,但提供1,024(210)個唯一地址。要將多個從器件連接到單個主器件,請像這樣連接它們,使用4.7K歐姆上拉電阻將SDA和SCL線連接到Vcc:

有多個從設備及多個主設備

多個主設備可以連接到單個從設備或多個從設備。當兩個主設備嘗試通過SDA線同時發送或接收數據時,同一系統中出現多個主設備的問題。為了解決這個問題,每個主設備需要在發送消息之前檢測SDA線路是低還是高。如果SDA線為低電平,則表示另一個主控制器已控制總線,主控制器應等待發送消息。如果SDA線路很高,那么傳輸信息是安全的。要將多個主設備連接到多個從設備,請使用下圖,使用4.7K歐姆上拉電阻將SDA和SCL線路連接到Vcc:

I2C的優點和缺點

與其他協議相比,I2C聽起來很復雜,不容易在程序中實現而導致數據丟失、無應答、“死等”等問題。但卻有很多優點:

優點

只使用兩根電線

支持多個主服務器和多個從服務器

ACK / NACK位確認每個幀都已成功傳輸

硬件沒有UART那么復雜

眾所周知且廣泛使用的協議

缺點

數據傳輸速率比SPI慢

數據幀的大小限制為8位

實現比SPI更復雜的硬件
責任編輯:彭菁

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2553

    文章

    51407

    瀏覽量

    756633
  • 顯示器
    +關注

    關注

    21

    文章

    5010

    瀏覽量

    140409
  • 存儲卡
    +關注

    關注

    0

    文章

    253

    瀏覽量

    28244
  • I2C總線
    +關注

    關注

    8

    文章

    406

    瀏覽量

    61169
  • 接收數據
    +關注

    關注

    0

    文章

    7

    瀏覽量

    6135
收藏 人收藏

    評論

    相關推薦

    i2c總線介紹

    I2C介紹   I2C總線是兩線式串行總線。    I2C總線
    發表于 08-13 17:29 ?0次下載

    i2c總線ppt(I2C總線器件應用)

    I2C總線器件應用第一節 I2C總線器件應用概述I2C總線工作原理
    發表于 08-13 17:34 ?0次下載

    i2c總線的特點

    i2c總線的特點:2 I2C 總線使設計人員和廠商都得益.. 3 2.1 設計人員的得益.. 4 2.2 廠商的得益. 5
    發表于 08-05 09:05 ?26次下載

    I2C總線協議及其應用(圖)

    I2C總線協議及其應用
    發表于 06-01 20:22 ?7044次閱讀

    i2c總線

     I2C(Inter-Integrated Circuit)總線是一種由PHILIPS公司開發的兩線式串行總線,用于連接微控制器及其外圍設備。
    發表于 09-20 10:06 ?1254次閱讀
    <b class='flag-5'>i2c</b><b class='flag-5'>總線</b>

    什么是i2c總線

    什么是i2c總線  下載請點擊: i2c總線協議中文版 
    發表于 11-05 09:26 ?2946次閱讀

    并口模擬I2C總線的設計

    并口模擬I2C總線的設計 試驗目的:認識計算機并口和I2C總線,用計算
    發表于 09-11 10:31 ?4244次閱讀
    并口模擬<b class='flag-5'>I2C</b><b class='flag-5'>總線</b>的設計

    I2C總線協議及其應用

    I2C總線協議及其應用 一、I2C總線介紹: ---- 由于大規模集成電路技術的發展,在單個芯片集成CPU以及
    發表于 02-08 11:23 ?1582次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>協議<b class='flag-5'>及其</b>應用

    I2C總線詳解

    I2C總線定義  I2C(Inter-Integrated Circuit)總線是一種由PHILIPS公司開發的兩線式串行總線,用于連接微控
    發表于 06-30 11:09 ?3858次閱讀

    基于CPLD的I2C總線接口設計

    在電路設計中,I2C總線是比較常用的兩線式串行通信方式,大多數的CPU都擅長于并口操作,不具備直接操作I2C總線接口的能力。為了使不具備I2C
    發表于 02-12 16:11 ?95次下載
    基于CPLD的<b class='flag-5'>I2C</b><b class='flag-5'>總線</b>接口設計

    基于51的I2c總線

    I2c總線,基于51的I2c總線,程序學習。快來下載學習吧
    發表于 01-13 11:49 ?34次下載

    i2c

    單片機i2c總線操作;單片機i2c總線操作;單片機i2c總線操作;
    發表于 05-17 11:09 ?35次下載

    i2c總線用來做什么_i2c總線數據傳輸過程

    I2C總線控制器為微控制器或微處理器提供控制I2C總線的接口,它控制所有I2C總線的特殊序列、協
    發表于 11-24 14:16 ?7325次閱讀

    I2C總線的基本通信總結

    在電子設計開發中I2C大家已經很熟悉了,每一種電子產品小到電子開關,大到衛星通信都會利用的I2C總線。據統計I2C在電子產品中占據了93%的份額,幾乎任何一種電路都要使用。
    的頭像 發表于 08-26 14:08 ?1.9w次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>的基本通信總結

    I2C串行總線協議是什么?I2C總線有哪些優點

    I2C串行總線協議是什么?I2C總線有哪些優點I2C(Inter-Integrated Ci
    的頭像 發表于 09-12 11:18 ?1813次閱讀
    百家乐群html| 百家乐有方法赚反水| 百家乐代理新闻| 百家乐娱乐城棋牌| 真人百家乐开户优惠| sz新全讯网新112| 皇冠正网| 百家乐官网浴盆博彩通排名| 利博百家乐官网破解| 百家乐网站东方果博| 百家乐群到shozo网| 3d大赢家| 破解百家乐官网打路单| 百家乐官网赌大小| 百家乐客户端下载| 葡京百家乐的玩法技巧和规则 | 真钱娱乐城| 澳门百家乐官网娱乐城送体验金| 百家乐官网单注打| 百家乐必胜赌| 摩纳哥百家乐的玩法技巧和规则| 大发888在线官方| 百家乐官网信誉好的平台| 24卦| 裕昌太阳城业主论坛| 百家乐官网最佳公式| 三元玄空24山坐向| 免费百家乐倍投工具| 百家乐官网赌场国际| 24卦| 波克棋牌官方下载| 太阳城百家乐官网网址--| 百家乐群号| e世博 | 博彩网站评级| 帝王百家乐官网的玩法技巧和规则 | 云鼎百家乐官网注册| 2024年九运的房屋风水| 大发888官网df888| 揭秘百家乐官网百分之50| 豪华百家乐桌子|