狠狠做深爱婷婷久久一区,欧美日韩国内,久久麻豆精品传媒,久久久一区一区二区,色鬼伦理片,99视频精品久久,久久精品国产久久久久久,久久久伦理电影一区二,磁力天堂河北彩花

新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式系統(tǒng)中的I2C總線時序

嵌入式系統(tǒng)中的I2C總線時序

作者: 時間:2026-04-30 來源: 收藏

中非常常見,本文詳細講解 規(guī)則。

許多電子工程師第一次接觸 ,都是通過 EEPROM 或 ROM 通信。實際上,I2C 的應(yīng)用遠不止存儲芯片,其使用場景與 RS?485、SPI 等總線類似。

wKgaomXX-WmAHq5CAAGINCnUWgg407.jpg

EEPROM內(nèi)存系統(tǒng)架構(gòu)圖

1. 位傳輸

I2C 是由飛利浦公司開發(fā)的雙向兩線同步串行總線,只需要 SCL(時鐘線)SDA(數(shù)據(jù)線) 兩根線,就能實現(xiàn)總線上多個芯片之間的控制與數(shù)據(jù)傳輸。

wKgZomXX-WmALo44AAB81B1QOmo106.jpg

I2C 總線位傳輸

I2C 總線上的數(shù)據(jù)是逐位傳輸的:

  • SCL 為高電平時:SDA 上的數(shù)據(jù)必須保持穩(wěn)定,不允許變化。

  • SCL 為低電平時:SDA 可以改變電平狀態(tài)。

關(guān)鍵條件

  • 起始條件:SCL 為高電平時,SDA 從高電平變?yōu)榈碗娖?→ 表示傳輸開始。

  • 停止條件:SCL 為高電平時,SDA 從低電平變?yōu)楦唠娖?→ 表示傳輸結(jié)束。

  • 空閑狀態(tài):SDA 與 SCL 均保持高電平 → 表示總線空閑。

2. 數(shù)據(jù)傳輸

字節(jié)傳輸

主機發(fā)送數(shù)據(jù)時,先發(fā)出起始信號,然后將 SDA 設(shè)為輸出模式,先發(fā)送最高位(MSB),依次發(fā)送 8 位數(shù)據(jù)。

發(fā)送完 8 位后,主機會將 SDA 切換為輸入模式,等待從機回復(fù) ACK(應(yīng)答)NAK(非應(yīng)答),之后再發(fā)送下一個字節(jié)。

從機地址

I2C 總線上的每個設(shè)備都有固定地址,通常由芯片上的 A0、A1、A2 引腳配置。

地址字節(jié)包含:

  • 7 位地址位(D7~D1)

  • 1 位讀寫方向位(D0)

設(shè)備地址的高 4 位(D7~D4)通常由廠商固定為 1111,低 3 位(D3~D1)由 A2、A1、A0 引腳設(shè)置。

  • D0 = 0:寫操作

  • D0 = 1:讀操作

這就是常見地址如 0xA0、0xA1 的由來。

wKgZomXX-WqAMFnaAAAXBGZc_XA953.jpg

EEPROM設(shè)備地址

3. 讀 / 寫流程

① 寫操作流程

  1. 主機發(fā)送停止信號,避免總線忙碌導(dǎo)致寫入失敗。

  2. 主機發(fā)送總線復(fù)位信號,確保總線空閑。

  3. 主機發(fā)送起始信號,啟動寫操作。

  4. 主機發(fā)送從機地址 + 寫位(W/R=0),等待從機 ACK。

  5. 收到 ACK 后,主機連續(xù)寫入多個字節(jié),每寫完 1 字節(jié)等待從機 ACK。

  6. 收到最后一次 ACK 后,主機發(fā)送停止信號,釋放總線。

② 讀操作流程

  1. 主機發(fā)送停止信號,避免總線忙碌導(dǎo)致讀取失敗。

  2. 主機發(fā)送總線復(fù)位信號,確??偩€空閑。

  3. 主機發(fā)送起始信號,啟動讀操作。

  4. 主機發(fā)送從機地址 + 讀位(W/R=1),等待從機 ACK。

  5. 收到 ACK 后,主機連續(xù)讀取多個字節(jié),每讀完 1 字節(jié)向從機回復(fù) ACK。

  6. 讀完最后 1 字節(jié)并回復(fù) ACK 后,主機發(fā)送停止信號,釋放總線。

I2C 在嵌入式領(lǐng)域應(yīng)用廣泛,在各類電源、工控、消費電子設(shè)備中都十分常見。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉
红河县| 乾安县| 咸丰县| 博湖县| 彩票| 潍坊市| 常宁市| 明溪县| 晋州市| 镇雄县| 万荣县| 南江县| 湘阴县| 抚州市| 安岳县| 砀山县| 逊克县| 八宿县| 河南省| 甘德县| 富裕县| 永春县| 紫阳县| 仙桃市| 孝昌县| 寿宁县| 关岭| 乃东县| 商河县| 通河县| 天门市| 邯郸县| 济源市| 肇州县| 临西县| 泰安市| 文昌市| 德庆县| 阜新市| 犍为县| 墨玉县|