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