I2C總線是由串行數(shù)據(jù)線SDA和串行時鐘線SCL構(gòu)成的,可發(fā)送和接收數(shù)據(jù)。它允許若干兼容器件共享總線。所有掛接在I2C總線上的器件和接口電路都應(yīng)具有I2C總線接口,且所有的SDA/SCL同名端相連??偩€上所有器件要依靠SDA發(fā)送的地址信號尋址,不需要片選線。
I2C總線最主要的優(yōu)點是其簡單性和有效性。占用的空間小,降低了互連成本??偩€的長度可高達7.6m,并且能夠以10kbps的最大傳輸速率支持40個組件。支持多主控器件,其中,任何能夠進行發(fā)送和接收的設(shè)備都可以成為主器件。主控能夠控制信號的傳輸和時鐘頻率。當然,在某時刻只能有一個主控器件。
在單片機控制系統(tǒng)中,廣泛使用I2C器件。如果單片機自帶I2C總線接口,則所有I2C器件對應(yīng)連接到該總線上即可;若無I2C總線接口,則可以使用I/O口模擬I2C總線。
使用單片機I/O口模擬I2C總線時,硬件連接非常簡單,只需兩條I/O口線即可,在軟件中分別定義成SCL和SDA。MCS-51單片機實現(xiàn)I2C總線接口電路如圖所示。
電路中單片機的P1.0引腳作為串行時鐘線SCL,P1.1引腳作為串行數(shù)據(jù)線SDA,通過程序模擬I2C串行總線的通信方式。I2C總線適用于通信速度要求不高而體積要求較高的應(yīng)用系統(tǒng)。
圖題硬件連接電路圖