回答:
I2C(Inter-Intergrated Circuit)指的是 IC之間的通信方式。它是一種總線式結(jié)構(gòu),使用Clock Line(SCL:Serial Clock)和Data Line(SDA:Serial Data)進行數(shù)據(jù)傳輸,不同于uart,它屬于同步串行通信方式,且同一時間只能單方向通信(半雙工)。數(shù)據(jù)通過時鐘同步經(jīng)過數(shù)據(jù)線進行傳輸。生成時鐘信號并輸出的設(shè)備便是Master, 時鐘信號作為輸入并接受數(shù)據(jù)的設(shè)備便是Slave。一般情況下,Master便是MicroController,Slave便是周邊的設(shè)備,比如RTC, EEPROM, TOUCH等等。
功能和特點
I2C總線是一種用于IC器件之間連接的雙向二線制總線,所謂總線它上面可以掛多少器件,并且通個兩根線連接,占用空間非常的小,總線的長度可高達25英尺,并且能夠以10Kbps的最大傳輸速率支持40個組件。
它的另一優(yōu)點是多主控,只要能夠進行接收和發(fā)送的設(shè)備都可以成為主控制器,當然多個主控不能同一時間工作。
I2C總線有兩根信號線,一根為SDA(數(shù)據(jù)線),一根為SCL(時鐘線),任何時候時鐘信號都是由主控器件產(chǎn)生。
I2C總線在傳送數(shù)據(jù)的過程中,主要有三種控制信號:起始信號,結(jié)不信號,應(yīng)答信號。
起始信號:當SCL為高電平時,SDA由高電平轉(zhuǎn)為低電平時,開始傳送數(shù)據(jù);
結(jié)束信號:當SCL為高電平時,SDA由低電平轉(zhuǎn)為高電平時,結(jié)束數(shù)據(jù)傳送;
應(yīng)答信號:接收數(shù)據(jù)的器件在接收到8bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的器件發(fā)出低電平信號,表示已收到數(shù)據(jù)。這個信號可以是主控器件發(fā)出,也可以是從動器件發(fā)出??傊山邮諗?shù)據(jù)的器件發(fā)出。
這些信號中,起始信號是必需的,結(jié)束信號和應(yīng)答信號,都可以不要。
免責聲明:本網(wǎng)站部分文章、圖片等信息來源于網(wǎng)絡(luò),版權(quán)歸原作者平臺所有,僅用于學術(shù)分享,如不慎侵犯了你的權(quán)益,請聯(lián)系我們,我們將做刪除處理!