iic總線是全雙工還是半雙工
IIC(Inter-Integrated Circuit)總線是一種半雙工的串行通信接口。在I2C總線上,主設備和從設備之間的數據傳輸是采用半雙工模式進行的。這意味著主設備和從設備在不同的時間段內交替發送和接收數據。
在I2C總線上,時鐘是由主設備產生和控制的。主設備在發送數據時,根據時鐘信號將數據位逐個發送到總線上。而在接收數據時,主設備切換到接收模式,等待從設備將數據位發送到總線上,并在時鐘信號的引導下采樣數據。因此,在I2C總線上,主設備和從設備之間的數據傳輸在不同的傳輸階段進行,即主設備發起傳輸和從設備響應傳輸。
盡管I2C總線是半雙工通信,但由于主設備和從設備之間的交互是通過特定的協議和時序進行的,因此可以實現可靠的雙向數據傳輸。
為什么是半雙工呢,因為IIC只有兩根線,一根時鐘線SCL和一根數據線SDA.所有接到I2C總線設備上的串行數據SDA都接到總線的SDA上,各設備的時鐘線SCL接到總線的SCL上。
I2C總線上的每個設備都自己一個唯一的地址,來確保不同設備之間訪問的準確性。
IIlC的特點:可實現一主多從,多主多從。但是一個時段只能讀或者寫一個從設備。主設備:提供IC總線的控制電路從設備:只能被動參與傳輸
基本時序:
1、空閑狀態:SDA處于高電平
2、起始信號:SCL高電平期間,將SDA拉低意味著新一輪的傳輸開始(主設備發起)3、中止信號:SCL高電平期間,將SDA拉高意味著一輪傳輸的結束(主設備發起)
4、數據信號:一個時鐘周期的低電平期間,由發送方將數據線拉高(傳輸1)、拉低(傳輸0),同一時鐘周期的高電平期間,由接收方讀取數據線狀態,如果高電平意味著接收是1,如果讀到低電平意味著接收到是0.
IIC總線的起始信號和停止信號時如何規定的?
在I2C總線上,起始信號和停止信號是通過改變數據線(SDA線)的電平來定義的。以下是起始信號和停止信號的規定:
起始信號:
1. 當 SDA 線從高電平變為低電平時,開始傳輸起始信號。
2. 在 SDA 線為低電平時,SCL 線的電平保持為高電平。
3. 此信號的作用是指示開始一次數據傳輸,之后的數據傳輸將以此作為起點。
停止信號:
1. 當 SDA 線從低電平變為高電平時,開始傳輸停止信號。
2. 在 SDA 線為高電平時,SCL 線的電平保持為高電平。
3. 此信號的作用是指示數據傳輸結束。
在I2C總線上,每次數據傳輸的開始和結束都需要使用起始信號和停止信號進行標識,以確保傳輸的完整性和正確性。這些信號的定義是由I2C通信協議規定的,所有I2C設備必須遵循這些規定以實現正確的數據傳輸。
審核編輯:黃飛
-
I2C
+關注
關注
28文章
1495瀏覽量
124551 -
串行通信
+關注
關注
4文章
579瀏覽量
35582 -
I2C總線
+關注
關注
8文章
406瀏覽量
61164 -
SCL
+關注
關注
1文章
239瀏覽量
17173
發布評論請先 登錄
相關推薦
評論