自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

聊聊通訊協(xié)議 I2C 子系統(tǒng)

網(wǎng)絡(luò) 通信技術(shù)
一般每傳輸一個字節(jié)(8 bit),就會重新開始。SDA 在 SCL 是低電平期間變換數(shù)據(jù),不可以在 SCL 高電平期間變換數(shù)據(jù),否則會認為是 起始和停止條件。

I2C Transfer

Definition of timing

想要深入探討 I2C 協(xié)議,必須深刻理解各種時間的定義(F/S-mode)

標識符

定義

tf

信號下降時間

tr

信號上升時間

tLOW

信號低電平時間

tHIGH

信號高電平時間

tHD;DAT

數(shù)據(jù)保持時間

tSU;DAT

數(shù)據(jù)建立時間

tSP

輸入濾波器必須抑制的毛刺脈寬

tBUF

啟動和停止條件的空閑時間

tHD;STA

重復(fù)起始條件的保持時間

tSU;STA

重復(fù)起始條件的建立時間

tSU;STO

停止條件建立時間

Sr 重新啟動,S 啟動,P 停止。

note:SCL 高電平的時候,SDA 是高就是 1,是低就是 0。SCL 低電平期間,SDA 變換數(shù)據(jù)。

note:起始條件很容易理解,重復(fù)起始條件就是沒有STOP,再來了一個 START,然后發(fā)送另外一個從設(shè)備 ID,訪問其他從設(shè)備。

定義術(shù)語

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

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

2.起始條件和停止條件

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

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

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

  • 傳輸長度必須是一個字節(jié)(8 bit)
  • 每次傳輸?shù)淖止?jié)不受限制
  • 數(shù)據(jù)必須以 MSB 開頭進行傳輸,也就是先傳輸最高位
  • 從機可以將時鐘線 SCL 保持在低位,迫使主機進入等待狀態(tài)。

3.ACK or NACK

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

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

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

4.write data

5.read data

6.復(fù)合格式

7.I2C Transfer Regulation

  • 以 START 條件開始
  • 以 STOP 條件結(jié)束
  • 傳輸?shù)牡谝粋€字節(jié)為 7bit 從機地址 + 1bit 讀寫位
  • 每個總線上的設(shè)備都會比較 STRAT 信號后面的 7bit 地址與自己的地址是否匹配
  • 每個 byte(8 bits) 后面都會有 ACK 或者 NACK
  • 在 START 信號或者 repeated START 信號后,從機必須重置自己的總線邏輯
  • 一個 START 后面緊跟著一個 STOP 信號,是非法格式
  • 主機 master 可以不產(chǎn)生 STOP 信號,而是直接產(chǎn)生一個 repeated START 信號+另外一個設(shè)備地址,直接開始訪問另外一個設(shè)備

8.10-bit addressing

解析如下:

A9-A0 表示 10bits 地址

9、示波器波形圖

10.補充

I2C 不支持從設(shè)備在 SCL 和 SDA 總線上發(fā)起一個中斷,通知主設(shè)備來讀數(shù)據(jù)。有中斷需求的從設(shè)備需要額外接一根中斷線,通知主控數(shù)據(jù)已經(jīng)準備好,讓主控發(fā)起讀數(shù)據(jù)的操作。

責任編輯:武曉燕 來源: 嵌入式Linux系統(tǒng)開發(fā)
相關(guān)推薦

2022-06-12 07:30:13

I3C通訊協(xié)議

2022-06-07 08:42:21

高速模式HS mode

2022-06-13 09:21:45

I2C DriverI2C 子系統(tǒng)

2022-06-18 09:02:00

I2C 子系統(tǒng)通信協(xié)議

2010-06-08 16:25:35

I2C總線協(xié)議

2010-07-01 16:45:05

I2C總線協(xié)議

2010-06-08 16:21:50

I2C總線協(xié)議

2017-03-16 08:30:19

Android ThAndroidI2C

2017-08-11 18:25:25

Linuxi2c

2023-04-07 09:14:31

硬件通信串口通信實驗

2021-01-19 19:32:01

Cortex-A9 R嵌入式系統(tǒng)i2c 外設(shè)

2021-12-06 08:50:27

I2C拉電阻阻值架構(gòu)

2023-09-13 15:33:57

I2C鴻蒙

2021-09-08 15:44:56

鴻蒙HarmonyOS應(yīng)用

2009-04-11 15:12:24

.Net MicroI2C總線模擬器

2022-10-30 10:31:42

i2ccpuftrace

2021-08-27 17:02:56

鴻蒙HarmonyOS應(yīng)用

2020-11-09 07:23:10

UART通信SPI

2023-03-22 09:23:53

I2C總線溫度傳感器

2024-04-07 09:32:02

物聯(lián)網(wǎng)串口通信協(xié)議
點贊
收藏

51CTO技術(shù)棧公眾號