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