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

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

3天內(nèi)不再提示

IIC面試問題匯總

撞上電子 ? 2023-12-18 08:00 ? 次閱讀

一、IIC需要幾根線分別是什么線

I2C通信協(xié)議需要兩根線來進行傳輸,分別是SDA和SCL。這兩根線是通過總線結構連接各個設備,并在設備之間進行數(shù)據(jù)和時鐘信號的交互。SDA(串行數(shù)據(jù)線):SDA線被用于在設備之間傳輸數(shù)據(jù)。它是一個雙向線路,在通信中用于發(fā)送和接收數(shù)據(jù)位。每個設備都通過開漏輸出或三態(tài)緩沖器連接到SDA線,以實現(xiàn)數(shù)據(jù)的傳輸和接收。SCL(串行時鐘線):SCL線是用于設備之間同步傳輸數(shù)據(jù)的時鐘信號線。它由主設備控制,通過在SCL線上產(chǎn)生脈沖信號來同步數(shù)據(jù)傳輸。所有設備都在SCL上接收和解析來自主設備的時鐘信號??偨Y起來,I2C通信協(xié)議只需要兩根線:SDA用于數(shù)據(jù)傳輸,SCL用于時鐘同步。這種簡潔的連接方式使得I2C在多個設備之間進行通信變得非常方便和可靠。

二、IIC優(yōu)勢

簡單且靈活:I2C僅需要兩根線(SDA和SCL)來進行通信,使得硬件連接和布線變得簡單。通過設備地址的選擇,可以連接多個設備到同一個總線上,提供了更大的系統(tǒng)靈活性??煽啃愿撸篒2C協(xié)議采用了主從架構,由主設備控制總線上的數(shù)據(jù)傳輸。主設備協(xié)調(diào)和同步設備之間的通信,避免了設備之間的沖突。此外,I2C協(xié)議支持差分傳輸和硬件確認,提供了數(shù)據(jù)的可靠性和穩(wěn)定性。多設備支持:通過I2C協(xié)議,可以連接多個設備到同一個總線上。每個設備都有唯一的地址,主設備可以通過指定地址來選擇與之通信的設備。這種架構適用于實現(xiàn)多個設備之間的數(shù)據(jù)交換和控制。低功耗:I2C在基本模式下使用了開漏輸出結構,使得設備在非活動狀態(tài)下可以撤離總線,從而降低功耗。此外,I2C還支持多速率傳輸,可以根據(jù)需求選擇適當?shù)乃俾剩M一步降低功耗。應用廣泛:I2C協(xié)議被廣泛應用于各種領域,如消費電子產(chǎn)品、工業(yè)自動化、醫(yī)療設備等。它可以用于連接傳感器、存儲器、顯示器、控制器和其他智能設備,為系統(tǒng)提供高效的數(shù)據(jù)交換和控制能力。


三、IIC可以掛載多少個從設備,主設備

從設備數(shù)量IIC總線最多可以掛多少個設備由IIC地址決定,8位地址,減去1位廣播地址,是7位地址,2^7=128,但是地址0x00不用,那就是127個地址,所以理論上可以掛127個從器件。這只是一個理論可以掛載從設備的數(shù)量,掛載從設備數(shù)量還受到電容的影響。

I2C總線上的每個設備都有一定的輸入和輸出電容。當總線上連接的設備數(shù)量增加時,總線電容的總和也會增加。這樣,總線的負載能力和傳輸速度可能會受到影響。

85f47518-9d38-11ee-9788-92fbcf53809c.png

IIC支持多個主設備,但在同一時刻只能有一個主設備處于活動狀態(tài)。(主設備沒有固定的地址),當一個主設備發(fā)起通信時,它會控制整個總線,并與所選的從設備進行數(shù)據(jù)交換。其他主設備和從設備會保持靜默狀態(tài),直到當前的主設備釋放總線。

一旦當前的主設備完成與從設備的通信,它將釋放總線,然后其他主設備可以競爭獲取總線控制權,并選擇與所選的從設備進行通信。這種機制確保在同一時刻只有一個主設備在總線上工作,避免沖突和數(shù)據(jù)干擾。但是,任何主設備都有權利在需要的時候釋放總線,并允許其他主設備接管。這種切換主設備的操作可以在需要時進行,以實現(xiàn)多主設備的共享和通信。

四、IIC是全雙工還是半雙工

I2C總線是一種半雙工的,主機可以向從機發(fā)送數(shù)據(jù),然后等待從機的響應,并且這期間從機不能主動發(fā)送數(shù)據(jù)。只有當主機發(fā)送完數(shù)據(jù)并停止傳輸時,從機才可以主動發(fā)送數(shù)據(jù)。

五、IIC總線空閑狀態(tài)

在I2C總線中,空閑狀態(tài)是指時鐘線 (SCL) 和數(shù)據(jù)線 (SDA) 都處于高電平狀態(tài)時的狀態(tài)。在空閑狀態(tài)下,兩條線路都被拉高,并且沒有任何通信活動正在進行。

六、IIC主機如何獲取總線控制權

發(fā)送Start Bit:主機設備發(fā)送Start Bit信號,這是一個特殊的位模式,用于指示主機希望控制總線并啟動數(shù)據(jù)傳輸。發(fā)送Start Bit時,主機將SCL保持高電平,而SDA由高電平轉為低電平。監(jiān)聽總線:主機設備釋放SDA線,將其設置為輸入模式,然后開始監(jiān)聽總線,等待仲裁的結果。仲裁:如果其他主機設備也嘗試發(fā)送Start Bit,沖突就會發(fā)生,所有參與沖突的主機都會檢測到數(shù)據(jù)位不匹配,并放棄繼續(xù)發(fā)送。仲裁通過硬件自動處理,決定哪個主機能夠獲得總線控制權。獲取總線控制權:仲裁之后,只有一個主機設備會成功獲得總線控制權,并繼續(xù)發(fā)送數(shù)據(jù)。它會根據(jù)I2C協(xié)議規(guī)定的操作步驟發(fā)送地址、數(shù)據(jù)等信息,并等待響應。釋放總線:主機設備在完成數(shù)據(jù)傳輸后,會發(fā)送Stop Bit信號,用于表示傳輸結束并釋放總線控制權。發(fā)送Stop Bit時,主機將SCL保持高電平,而SDA由低電平轉為高電平。


七、IIC總線仲裁

當存在多個主機設備連接到I2C總線時,在某些情況下可能會發(fā)生總線仲裁。在I2C總線中,多主機的情況下,每個主機都有能力發(fā)送起始位和控制總線的訪問。但是,只有一個主機可以完整地控制總線并發(fā)送數(shù)據(jù),其他主機必須在等待狀態(tài)。當多個主機同時嘗試在總線上發(fā)送起始位和地址時,會發(fā)生仲裁。仲裁的原理如下:當一組主機(包括當前總線上的任何從機設備)同時檢測到總線空閑,并嘗試發(fā)送起始位和地址時,它們會同時開始傳輸。每個主機都會持續(xù)地監(jiān)測總線上的數(shù)據(jù)位。如果發(fā)送的數(shù)據(jù)位與總線上的數(shù)據(jù)不一致(有沖突),則主機會立即停止發(fā)送,并將數(shù)據(jù)線拉低來生成一個應答(ACK)信號。這是一種仲裁信號,表示當前主機放棄總線控制權。接著,剩下的主機會繼續(xù)發(fā)送數(shù)據(jù),直到只有一個主機為止。這個主機會完整地控制總線并完成數(shù)據(jù)傳輸。通過仲裁機制,I2C總線上的多個主機設備可以在發(fā)生沖突時進行協(xié)調(diào),并確保只有一個主機繼續(xù)發(fā)送數(shù)據(jù),從而避免了數(shù)據(jù)的沖突和錯誤。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 通信協(xié)議

    關注

    28

    文章

    885

    瀏覽量

    40315
  • IIC
    IIC
    +關注

    關注

    11

    文章

    301

    瀏覽量

    38349
  • I2C
    I2C
    +關注

    關注

    28

    文章

    1488

    瀏覽量

    123846
收藏 人收藏

    評論

    相關推薦

    java面試筆試題大匯總

    java面試筆試題大匯總http://www.ibeifeng.com/read.php?tid=504&u=73481要想精通java必須看的經(jīng)典書籍http://www.ibeifeng.com/read.php?tid=12314&u=73481
    發(fā)表于 12-20 21:22

    java面試筆試題大匯總

    java面試筆試題大匯總http://www.ibeifeng.com/read.php?tid=504&u=73481要想精通java必須看的經(jīng)典書籍http://www.ibeifeng.com/read.php?tid=12314&u=73481
    發(fā)表于 12-25 20:24

    面試問題-難忘的面試經(jīng)歷

    是因為我在處理一個具體的技術問題時的方法有問題。稍后我會討論我在那次面試時遇到的問題。這些年我看到了很多關于工程師面試問題的文章。有一些是棘手的智力問題,會讓你感到極其困擾。其它一些是基本技能的考核
    發(fā)表于 09-21 09:41

    中興的招聘面試問題你能答的上來嗎?

    中興招聘面試問題:有源晶振輸出串個電阻做啥用?
    發(fā)表于 05-21 07:39

    程序員面試問題總結

    面試問題總結 20180516
    發(fā)表于 07-26 17:21

    嵌入式C面試問答題目有哪些

    嵌入式c語言面試 嵌入式C中的熱門面試問答 (Top Interview Questions and Answers in Embedded C)1) What is an Embedded C
    發(fā)表于 12-15 06:12

    DSP CCS初學調(diào)試問匯總

    DSP CCS初學調(diào)試問匯總,又需要的下來看看。
    發(fā)表于 05-06 15:32 ?0次下載

    機器學習算法工程師面試問匯總

    ; f(1) = 1; f(2) = 2; 面試官:如果不利用遞歸方式怎么做? 我:構建一個vector向量,[1, 2, 3, 5 。..] 當前數(shù)等于前兩個數(shù)字的和。面試官:這樣做空間復雜度
    的頭像 發(fā)表于 03-22 14:33 ?3309次閱讀

    Java面試問題如何給出100分回答詳細課程說明

    本文檔的主要內(nèi)容詳細介紹的是Java面試問題如何給出100分回答詳細課程說明。
    發(fā)表于 03-20 08:00 ?3次下載
    Java<b class='flag-5'>面試問</b>題如何給出100分回答詳細課程說明

    20個5G NR網(wǎng)優(yōu)面試問答資料下載

    電子發(fā)燒友網(wǎng)為你提供20個5G NR網(wǎng)優(yōu)面試問答資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發(fā)表于 04-27 08:41 ?3次下載
    20個5G NR網(wǎng)優(yōu)<b class='flag-5'>面試問</b>答資料下載

    IIC通信小OLED顯示屏模塊資料匯總

    IIC通信小OLED顯示屏模塊資料匯總
    發(fā)表于 05-20 15:38 ?83次下載

    中國移動面試問匯總下載

    中國移動面試問匯總下載
    發(fā)表于 05-21 10:20 ?0次下載

    華為 LTE 網(wǎng)絡面試問匯總下載

    華為 LTE 網(wǎng)絡面試問匯總下載
    發(fā)表于 05-21 10:05 ?0次下載

    OLED兼容SPI和IIC版本資料匯總下載

    OLED兼容SPI和IIC版本資料匯總下載
    發(fā)表于 08-12 14:17 ?0次下載

    汽車嵌入式軟件面試問題整理

    最近面了幾場試,整理一下面試問題。面試問題中有一些能在網(wǎng)上比較方便的找到答案,我就不寫如何回答了,對于一些非固定答案的問題,我會寫一寫我的理解,供大家參考。一、RTOS1. μC/OS中的Timer
    發(fā)表于 12-07 21:06 ?4次下載
    汽車嵌入式軟件<b class='flag-5'>面試問</b>題整理