IIC總線接口基礎知識


從《單片機原理及應用》抄錄的筆記

1、IIC總線架構

IIC總線只有兩根連線

  • 一根數據線SDA
  • 一根時鍾線SCL

所有連接線IIC總線上的器件其數據線都連接到SDA線上,其時鍾線都連接到SCL上。

IIC總線的基本架構如圖所示(Rp約5.1kΩ):

2、IIC總線的特點

1)采用2線制

2)傳輸速率高

標准模式傳輸速率為100kbps,快速模式為400kbps,高速模式為3.4Mbps。

# bps的解釋

  1. 是bits per second的縮寫,即比特率、比特/秒、位/秒、每秒傳送二進制位數,是數據傳輸速率的常用單位,通常用來衡量帶寬的單位。
  2. 另外軟件上顯示的速度則是指每秒傳輸的字節數(Byte),通常用B(大寫)表示。
  3. 數據傳輸(如上面的bps)的衡量單位K是十進制含義,數據存儲(如下面的內存換算)的K是2進制的含義。

1MB=1024KB=1024*1024B,1B(字節)=8b(位)

1M帶寬即指1Mbps=1000kbps=1000/8 kBps = 125kBps——注意大小寫b:前兩個是小寫b,后兩個是大寫B

也就是說生活中的100M寬帶,理論傳輸速率應該是12.5MBps(最直觀的就是手機上面顯示的實時網速),但是因為各種原因,實際的傳輸速率一般不會達到12.5MBps。

3)支持多主和主/從兩種工作方式

各主方式時,要求各主單片機配備IIC總線標准接口。(80C5單片機沒有IIC總線標准接口,只能工作於主/從方式)

3、IIC總線的數據傳輸

在IIC總線上,每一位數據位的傳輸都與時鍾脈沖相對應。

邏輯0和邏輯1的信號電平取決於相應的電源電壓,使不同的半導體制造工藝,如CMOS、NMOS等類型的電路都可以接入總線。對於數據傳輸,IIC總線協議規定了如下信號時序:

1)起始和停止信號

起始和停止信號如圖所示:

  • SCL為高電平期間,SDA由高電平向低電平的變化表示起始信號
  • SCL為高電平期間,SDA由低電平向高電平的變化表示停止信號。

起始和終止信號如下圖所示。

總線空閑時,SCL和SDA兩條線都是高電平。

SDA線的起始信號和停止信號由主機發出。

在起始信號后,總線處於被占用的狀態;在停止信號后,總線處於空閑狀態。

2)字節格式

傳輸字節數沒有限制,但每個字節必須是8位長度。

先傳最高位(MSB),每個被傳輸字節后面都要跟隨應答位(即一幀共有9位)。

字節傳送時序如圖所示:

從器件接收數據時,在第9個時鍾脈沖要發出應答脈沖,但在數據傳輸一段時間后無法繼續接收更多的數據時,從器件可以采用“非應答”通知主機,主機在第9個時鍾脈沖檢測到SDA線無有效應答負脈沖(即非應答)則會發出停止信號以結束數據傳輸。

與主機發送數據相似,主機在接收數據時,它收到最后一個數據字節后,必須向從器件發出一個結束傳輸的“非應答”信號。然后從器件釋放SDA線,以允許主機產生停止信號。

( ——將單片機稱作主機,擴展的器件稱為從器件)

3)數據傳輸時序

對於數據傳輸,IIC總線協議規定:

  • SCL由主機控制,從器件在自己忙時拉低SCL線以表示自己處於“忙狀態”。

  • 字節數據由發送器發出,響應位由接收器發出。

  • SCL高電平期間,SDA線數據要穩定,SCL低電平期間,SDA線數據允許更新(看下面的圖,SDA每次改變高低電平都是在SCL為低電平期間)。

數據傳輸時序圖如下圖所示:

4)尋址字節

主機發出起始信號要先傳送1個尋址字節:7位從器件地址,1位傳輸方向控制位(用“0”表示主機發送數據,“1”表示主機接收數據)。

格式為:

D7~D1位組成從器件的地址。D0位是數據傳送方向位。

主機發送地址時,總線上的每個從器件都將這7位地址碼與自己的地址進行比較。如果相同,則認為自己正在被主機尋址。

器件地址由固定部分和可編程兩部分組成。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM