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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

I2C子系統(tǒng)定義術(shù)語(yǔ)介紹

麥辣雞腿堡 ? 來(lái)源:嵌入式Linux系統(tǒng)開(kāi)發(fā) ? 作者:嵌入式Linux系統(tǒng)開(kāi) ? 2023-07-25 09:36 ? 次閱讀

定義術(shù)語(yǔ)

圖片

1、數(shù)據(jù)有效性

在 SCL 高電平期間,SDA 必須穩(wěn)定,所以一般情況下,SCL 高電平寬度小,SDA 高電平寬度大,用示波器看也是這樣的。

圖片

2、起始條件和停止條件

起始條件:SCL 高電平時(shí),SDA 由高變低。

停止條件:SCL 高電平時(shí),SDA 由低變高。

圖片

一般每傳輸一個(gè)字節(jié)(8 bit),就會(huì)重新開(kāi)始。SDA 在 SCL 是低電平期間變換數(shù)據(jù),不可以在 SCL 高電平期間變換數(shù)據(jù),否則會(huì)認(rèn)為是起始和停止條件。

傳輸長(zhǎng)度必須是一個(gè)字節(jié)(8 bit)

每次傳輸?shù)淖止?jié)不受限制

數(shù)據(jù)必須以 MSB 開(kāi)頭進(jìn)行傳輸,也就是先傳輸最高位

從機(jī)可以將時(shí)鐘線 SCL 保持在低位,迫使主機(jī)進(jìn)入等待狀態(tài)。

圖片圖片

3、ACK or NACK

每次傳輸完一個(gè)字節(jié)以后,從設(shè)備要進(jìn)行一個(gè)回應(yīng),回應(yīng) ACK 或者 NACK。

ACK :在傳輸 8 bit 以后,在第九個(gè) bit ,SCL 高電平,如果 SDA 是低電平,說(shuō)明回應(yīng)了 ACK。

NACK:在傳輸 8 bit 以后,在第九個(gè) bit ,SCL 高電平,如果 SDA 是高電平,說(shuō)明回應(yīng)了 NACK。

圖片

4、write data

圖片

5、read data

圖片

6、復(fù)合格式

圖片

7、I2C Transfer Regulation

以 START 條件開(kāi)始

以 STOP 條件結(jié)束

傳輸?shù)牡谝粋€(gè)字節(jié)為 7bit 從機(jī)地址 + 1bit 讀寫(xiě)位

每個(gè)總線上的設(shè)備都會(huì)比較 STRAT 信號(hào)后面的 7bit 地址與自己的地址是否匹配

每個(gè) byte(8 bits) 后面都會(huì)有 ACK 或者 NACK

在 START 信號(hào)或者 repeated START 信號(hào)后,從機(jī)必須重置自己的總線邏輯

一個(gè) START 后面緊跟著一個(gè) STOP 信號(hào),是非法格式

主機(jī) master 可以不產(chǎn)生 STOP 信號(hào),而是直接產(chǎn)生一個(gè) repeated START信號(hào)+另外一個(gè)設(shè)備地址,直接開(kāi)始訪問(wèn)另外一個(gè)設(shè)備

8、10-bit addressing

圖片圖片

解析如下:

圖片

A9-A0 表示 10bits 地址

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

    關(guān)注

    28

    文章

    1495

    瀏覽量

    124137
  • SCL
    SCL
    +關(guān)注

    關(guān)注

    1

    文章

    239

    瀏覽量

    17118
  • 系統(tǒng)
    +關(guān)注

    關(guān)注

    1

    文章

    1018

    瀏覽量

    21385
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux內(nèi)核中I2C系統(tǒng)的設(shè)計(jì)思路

    [ 導(dǎo)讀] 本文通過(guò)閱讀內(nèi)核代碼,來(lái)梳理一下I2C子系統(tǒng)的整體視圖。在開(kāi)發(fā)I2C設(shè)備驅(qū)動(dòng)程序時(shí),往往缺乏對(duì)于系統(tǒng)整體的認(rèn)識(shí),沒(méi)有一個(gè)清晰的思路。所以從高層級(jí)來(lái)分析一下
    發(fā)表于 09-06 09:40 ?565次閱讀
    Linux內(nèi)核中<b class='flag-5'>I2C</b><b class='flag-5'>系統(tǒng)</b>的設(shè)計(jì)思路

    linux I2C子系統(tǒng)的相關(guān)資料分享

    文章目錄linux I2C子系統(tǒng)框架在設(shè)備樹(shù)中添加從設(shè)備信息,mpu5060I2C driver 程序的編寫(xiě)mpu6050 I2C程序具體實(shí)現(xiàn)linux
    發(fā)表于 02-10 06:06

    i2c總線介紹

    I2C介紹   I2C總線是兩線式串行總線。    I2C總線最主要的優(yōu)點(diǎn)是其簡(jiǎn)單性和有效性,支持多主控(multimastering)。&nb
    發(fā)表于 08-13 17:29 ?0次下載

    i2c總線ppt(I2C總線器件應(yīng)用)

    I2C總線器件應(yīng)用第一節(jié) I2C總線器件應(yīng)用概述I2C總線工作原理I2C總線系統(tǒng)結(jié)構(gòu)I2C總線
    發(fā)表于 08-13 17:34 ?0次下載

    I2C總線在Linux系統(tǒng)中的驅(qū)動(dòng)設(shè)計(jì)

    介紹I2C總線的基本概念和工作原理,敘述I2C總線擴(kuò)展器件ZLG7290的功能特點(diǎn)。在以S3C2410為微控制器,ZLG7290為I2C總線
    發(fā)表于 12-29 16:52 ?40次下載

    Linux內(nèi)核中I2C子系統(tǒng)的整體視圖

    本文通過(guò)閱讀內(nèi)核代碼,來(lái)梳理一下I2C子系統(tǒng)的整體視圖。在開(kāi)發(fā)I2C設(shè)備驅(qū)動(dòng)程序時(shí),往往缺乏對(duì)于系統(tǒng)整體的認(rèn)識(shí),沒(méi)有一個(gè)清晰的思路。所以從高層級(jí)來(lái)分析一下
    的頭像 發(fā)表于 12-31 10:40 ?2201次閱讀
    Linux內(nèi)核中<b class='flag-5'>I2C</b><b class='flag-5'>子系統(tǒng)</b>的整體視圖

    linux I2C子系統(tǒng)(及相關(guān)程序設(shè)計(jì)MPU6050)

    文章目錄linux I2C子系統(tǒng)框架在設(shè)備樹(shù)中添加從設(shè)備信息,mpu5060I2C driver 程序的編寫(xiě)mpu6050 I2C程序具體實(shí)現(xiàn)linux
    發(fā)表于 12-06 13:36 ?9次下載
    linux <b class='flag-5'>I2C</b><b class='flag-5'>子系統(tǒng)</b>(及相關(guān)程序設(shè)計(jì)MPU6050)

    嵌入式內(nèi)核及驅(qū)動(dòng)開(kāi)發(fā)-09IIC子系統(tǒng)框架使用(I2C協(xié)議和時(shí)序,I2C驅(qū)動(dòng)框架,I2C從設(shè)備驅(qū)動(dòng)開(kāi)發(fā),MPU6050硬件連接

    文章目錄I2c協(xié)議和時(shí)序I2c介紹I2c硬件連接I2c總線的信號(hào)I2c總線寫(xiě)時(shí)序
    發(fā)表于 12-06 14:06 ?17次下載
    嵌入式內(nèi)核及驅(qū)動(dòng)開(kāi)發(fā)-09IIC<b class='flag-5'>子系統(tǒng)</b>框架使用(<b class='flag-5'>I2C</b>協(xié)議和時(shí)序,<b class='flag-5'>I2C</b>驅(qū)動(dòng)框架,<b class='flag-5'>I2C</b>從設(shè)備驅(qū)動(dòng)開(kāi)發(fā),MPU6050硬件連接

    硬件I2C與模擬I2C

    硬件I2C對(duì)應(yīng)芯片上的I2C外設(shè),有相應(yīng)I2C驅(qū)動(dòng)電路,其所使用的I2C管腳也是專(zhuān)用的,因而效率要遠(yuǎn)高于軟件模擬的I2C;一般也較為穩(wěn)定,但
    發(fā)表于 12-28 19:14 ?81次下載
    硬件<b class='flag-5'>I2C</b>與模擬<b class='flag-5'>I2C</b>

    I2C子系統(tǒng)ACK error

    在應(yīng)該收到 ACK 信號(hào)的時(shí)候沒(méi)有收到 ACK 信號(hào),i2c controller 就會(huì)產(chǎn)生一個(gè) ACK error 的中斷,告訴 i2cdriver 發(fā)生了 ACK error。通常
    的頭像 發(fā)表于 07-22 14:39 ?1994次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>子系統(tǒng)</b>ACK error

    I2C子系統(tǒng)debug的常見(jiàn)問(wèn)題

    常見(jiàn)問(wèn)題 1、同一條 i2c bus 上所有的外設(shè)的 i2c addr 要不同 1)相同 address 注冊(cè)時(shí)沖突 [ 2.059184 ][xxx]i2c i2c- 1 :Fail
    的頭像 發(fā)表于 07-22 14:52 ?1008次閱讀

    I2C子系統(tǒng)SW Architecture

    I2C SW Architecture 【driver 驅(qū)動(dòng)層】由普通驅(qū)動(dòng)工程師負(fù)責(zé),【i2c 核心層】由 Linux 提供,【i2c 核心層】以下由芯片原廠負(fù)責(zé)。 I2C
    的頭像 發(fā)表于 07-22 16:01 ?978次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>子系統(tǒng)</b>SW Architecture

    I2C子系統(tǒng)幾個(gè)主要的結(jié)構(gòu)體

    I2C Data Structure 我們要搞懂一個(gè) Linux 子系統(tǒng),必須研究它的數(shù)據(jù)結(jié)構(gòu),搞懂每個(gè)結(jié)構(gòu)體存儲(chǔ)了什么東西,才能梳理清楚該子系統(tǒng)的架構(gòu)。 I2C
    的頭像 發(fā)表于 07-22 16:04 ?880次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>子系統(tǒng)</b>幾個(gè)主要的結(jié)構(gòu)體

    I2C轉(zhuǎn)UART子系統(tǒng)設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《I2C轉(zhuǎn)UART子系統(tǒng)設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 08-28 10:27 ?2次下載
    <b class='flag-5'>I2C</b>轉(zhuǎn)UART<b class='flag-5'>子系統(tǒng)</b>設(shè)計(jì)

    I2C總線的工作模式介紹

    在現(xiàn)代電子系統(tǒng)中,I2C總線作為一種多主機(jī)、多從機(jī)的串行通信協(xié)議,扮演著至關(guān)重要的角色。它允許多個(gè)設(shè)備共享同一總線,進(jìn)行數(shù)據(jù)傳輸,從而簡(jiǎn)化了系統(tǒng)設(shè)計(jì)并降低了成本。 I2C總線的基本特性
    的頭像 發(fā)表于 01-17 15:32 ?74次閱讀