<li id="omoqo"></li>
  • <noscript id="omoqo"><kbd id="omoqo"></kbd></noscript>
  • <td id="omoqo"></td>
  • <option id="omoqo"><noscript id="omoqo"></noscript></option>
  • <noscript id="omoqo"><source id="omoqo"></source></noscript>
  • 發布時間:2020-10-05 21:18 原文鏈接: 嵌入式硬件通信接口協議IIC一:協議基礎(二)

    關于理解和記憶,推薦分組記憶:

    SCL高電平時,SDA拉低開始,SDA拉高結束;

    SCL高電平時,接收方采樣SDA管腳電平;SCL低電平時,發送方改變SDA管腳電平;

    應答位,SDA低電平表示ACK,SDA高電平表示NACK。

    以上就是IIC在通信過程中,可能出現的信號時序狀態特征。

    如果要和SPI接口對比,我們發現,在IIC總線上掛了多個從設備,某個時刻某個主機要與某個從設備通信時,卻不像SPI那樣有單獨一個片選信號管腳SS。

    那么IIC要實現主機與指定從機的通信,需要每次開始通信時,主機會先把指定從機設備的地址通過接口發出,這樣一來,對應的從機設備即可被選中,才能進行后續的通信操作。

    類似的,每個具有IIC接口的外圍器件,其數據手冊中都有關于地址的配置:

    SHT20溫濕度芯片地址配置:

    BS116-3觸摸芯片地址配置:

    AT24C1024B存儲芯片

    我們發現,IIC設備的地址普遍是7bit,而發送一次數據都是一個字節8bit地發送,所以要發送地址時,都會帶上讀寫位,組成一個字節后發出。

    讀寫位的意義,主要在于明確IIC從機設備,在被主機“點名”后,接下來是被主機讀取還是被主機寫入,靠的就是這個讀寫位來判斷。

    另外,類似于AT24C1024B存儲芯片,在7bit的地址位里,又有3個bit的A2、A1、A0可以在硬件電路上選擇不同的連接方式,從而又有8種不同的從機地址,也就是說同個IIC總線上可以掛同種型號的AT24C1024B存儲芯片8片。

    接口配置項

    相比于SPI接口豐富的配置項,然而IIC僅有2根數據線,可配置的也就是時鐘SCL的翻轉速率,因為這個時鐘的速率直接影響到數據的傳輸速率。

    這里所配置的推薦值,應該確認IIC總線上各個從機設備的速率極限,這樣在設計IIC接口時,能夠兼容總線上的所有設備通信速率。

    SHT20溫濕度傳感器:

    BS116-3觸摸芯片時鐘極限:


    <li id="omoqo"></li>
  • <noscript id="omoqo"><kbd id="omoqo"></kbd></noscript>
  • <td id="omoqo"></td>
  • <option id="omoqo"><noscript id="omoqo"></noscript></option>
  • <noscript id="omoqo"><source id="omoqo"></source></noscript>
  • 1v3多肉多车高校生活的玩视频