什么是I2C通信
(1)SCL:時鐘線,傳輸CLK,一般是I2C主設備向從設備提供時鐘的通道。
(2)SDA:數據線,通信數據都通過SDA線傳輸。
10.1.2通信特征:串行、同步、非差分、低速
(1)I2C屬于串行通信,所有數據以位為單位在SDA線上串行傳輸。
(2)同步通信就是通信雙方工作在同一個時鐘下,一般是通信的A方通過一根CLK信號線傳輸A自己的時鐘給B,B工作在A傳輸的時鐘下。所以同步通信的顯著特征就是:通信線中有CLK。
(3)非差分:因為I2C通信速率不高,而且通信雙方距離很近,所以使用電平信號通信。
(4)低速率:I2C一般是用在同一個板子上的2個IC之間的通信,而且用來傳輸的數據量不大,所以本身通信速率很低(一般幾百KHz,不同的I2C芯片的通信速率可能不同,具體在編程時要看自己所使用的設備允許的I2C通信最高速率,不能超過這個速率)。
10.1.3突出特征1:主設備 + 從設備
(1)I2C通信的時候,通信雙方地位是不對等的,而是分主設備和從設備。通信由主設備發起,由主設備主導,從設備只是按照I2C協議被動的接受主設備的通信,并及時響應。
(2)誰是主設備、誰是從設備是由通信雙方來定的(I2C協議并無規定),一般來說一個芯片可以只能做主設備、也可以只能做從設備、也可以既能當主設備又能當從設備(軟件配置)。
10.1.4突出特征2:可以多個設備掛在一條總線上(從設備地址)
(1)I2C通信可以一對一,也可以多對一。
(2)主設備來負責調度總線,決定某一時間和哪個從設備通信。注意;同一時間內,I2C總線上只能傳輸一對設備的通信信息,所以同一時間只能有一個從設備和主設備通信,其他設備處于“冬眠”狀態,不能出來搗亂,否則通信就亂套了。
(3)每一個I2C從設備在通信中都有一個I2C從設備地址,這個設備地址是從設備本身固有的屬性,然后通信時主設備需要知道自己將要通信的那個設備的地址,然后在通信中通過地址來甄別是不是自己要找的那個從設備。(這個地址是一個電路板上唯一的,不是全球唯一的)
主要用途:SoC和周邊外設之間的通信(典型的如EEPROM、電容觸摸IC、各種sensor等)
嵌入式物聯網的學習之路非常漫長,不少人因為學習路線不對或者學習內容不夠專業而錯失高薪offer。不過別擔心,我為大家整理了一份150多G的學習資源,基本上涵蓋了嵌入式物聯網學習的所有內容。在評論區私信“嵌入式”0元領取學習資源,讓你的學習之路更加順暢!記得點贊、關注、收藏、轉發哦!
the end
- 贊