1. 程式人生 > >學前班-怎麼看原理圖之協議類介面之I2C

學前班-怎麼看原理圖之協議類介面之I2C

I2C的原理圖如圖所示:這裡寫圖片描述

原理圖可以簡化成:

2440的SCL外接到外部晶片的SCL,SDA外接到外部晶片的SDA I2CSCL:時鐘線 I2CSDA:資料線

這裡寫圖片描述 兩條線上可以掛接多個裝置,2440到底是要訪問裝置1,還是裝置2?每一個I2C裝置都有一個地址,當資料線的值等於自己的地址值,才做出迴應。 I2C的停止訊號如圖所示:這裡寫圖片描述

傳輸資料?這裡寫圖片描述 注意:裝置要在SCL為高電平的時候採集資料。

迴應訊號:接收端收到資料後,向傳送端反饋有沒有收到資料。這裡寫圖片描述

發出一個開始訊號,然後傳輸8位資料;對方(AT24C02)檢測到Start訊號以後,然後根據T定時檢測SDA引腳上的狀態。AT24C02收到資料以後,在第九個時鐘週期的時候,2440就把SDA引腳設定為輸入引腳,暫時不驅動SDA資料線,由AT24C02負責驅動SDA,如果AT24C02收到資料以後,就把SDA拉低(設定為低電平)。

I2C控制器:跟UART控制器類似。

如果接多個裝置,以怎麼傳輸?

這裡寫圖片描述 最上面表示單位元組傳輸:前七位用於表示裝置(從機的地址)的地址,緊接著表示讀/寫訊號、響應訊號(主機確認是否存在這個裝置)、資料、響應訊號(確認資料是否收到);其中從機地址從晶片手機中可以找到。 I2C讀取資料的時序圖如下:I2C時序圖

注意第一個響應訊號為寫,告訴需要讀取哪個裝置的地址。

I2C寫資料的時序圖也跟讀差不多。

在進行i2c通訊之前,首頁要在晶片手冊中找到i2c控制器,和控制器各資料位表示的意義。