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