勵志

勵志人生知識庫

iic原理

I2C(Inter-Integrated Circuit)匯流排是一種由Philips公司開發的簡單、雙向二線制同步串列匯流排。它使用兩條匯流排線路:

雙向串列數據線(SDA)。用於數據的收發。

串列時鐘線SCL)。用於數據收發時的同步。

I2C匯流排主要用於晶片之間的通信,採用主從模式,其中單片機等設備作為主機,而E2PROMA/D轉換器等其他外設作為從機。每個連線到匯流排的設備都有一個唯一的地址,類似於電話號碼,這樣主機可以通過地址來定址特定的從機設備。

在I2C匯流排上,數據的傳輸是雙向的,但任何時刻只能有一個主控設備。數據傳輸速率為標準模式最多100kbit/s,快速模式最多400kbit/s,甚至高速模式下可達3.4Mbit/s。在物理層,匯流排通過上拉電阻接到電源,當所有設備都空閒時,匯流排會因上拉電阻而處於高電平狀態。為了防止數據衝突,多個主機同時使用匯流排時,會利用仲裁方式決定哪個設備占用匯流排。

I2C匯流排的操作過程包括起始信號、數據傳輸、應答信號以及停止信號。起始信號是在SCL線保持高電平時,SDA線從高電平向低電平跳變時產生的。數據在SCL線的高電平期間保持穩定,以便於傳輸。傳送數據的設備在每個位元組後等待接收設備的應答信號。停止信號則是在SCL線保持高電平時,SDA線從低電平向高電平跳變時產生的。