一、操作
1.1、系統的概述
I2C系統使用串行數據線(SDA)和串行時鐘線(SCL)進行數據傳輸。連接到這兩個信號的所有設備必須具有漏極開路或集電極開路輸出。這兩條線上的邏輯“與”功能都通過外部上拉電阻器來實現。
數據在主機和從機之間以字節(jié)為單位同步傳輸到SDA線上。每個數據字節(jié)為8位長。每個數據位都有一個SCL時鐘脈沖,并且首先發(fā)送MSB。每個傳送的字節(jié)后都有一個應答位。在SCL的高電平期間對每個位進行采樣;因此,只能在SCL的低電平期間更改SDA線路電平,并且必須在SCL的高電平期間保持穩(wěn)定。若SCL為高電平時,SDA線上存在跳變則被解釋為命令(請參見START和STOP信號)。
1.2、IIC協議
從宏觀的角度講,IIC協議可以包含以下四個部分:
1、開始信號的產生(START)
2、從機地址傳輸
3、數據傳輸
4、停止信號產生(STOP)
1.2.1 開始信號(START)
當總線空閑/就緒時,這意味著沒有主機設備正在使用總線(SCL和SDA線均為高電平),主機可以通過發(fā)送START信號來啟動傳輸。START信號(通常稱為STA-bit)定義為:SCL為高電平時,SDA從高到低的跳變。START信號表示新數據傳輸的開始。Repeated START是一種啟動信號,但沒有先產生一個停止信號。主機使用這種方法在不釋放總線的情況下,以不同的傳輸方式(例如,從寫入設備到從設備讀取)與另一個從機或同一從機通信。
當命令寄存器中的STA-bit置1且RD或WR位置1時,內核產生一個START信號。根據SCL線的當前狀態(tài),將生成START或Repeated START。
1.2.2 地址線傳輸
在START信號之后,主機立即傳送的數據的第一個字節(jié)是從機地址。這是一個7位的調用地址,后跟RW位(7address+1RW)。RW位向從機發(fā)送數據傳輸方向信號。一個系統中的兩個從機不能具有相同的地址。只有地址與主機發(fā)送的地址匹配的從機會通過在第9個SCL時鐘周期將SDA拉為低電平來返回一個應答位來做出響應。(從機拉低SDA作為ACK)
內核將從地址傳輸視為寫操作。將從設備的地址存儲在發(fā)送寄存器中,并將WR位置1。然后,內核將在總線上傳輸從機地址。
1.2.3 數據傳輸
一旦成功完成從機尋址,就可以按照主機發(fā)送的RW位指定的方向逐字節(jié)進行數據傳輸。在第9個SCL時鐘周期中,每個傳輸的字節(jié)后都有一個應答位。如果從機發(fā)出“無應答”信號,則主機可以產生一個STOP信號來中止數據傳輸,或者產生一個Repeated START信號并開始一個新的傳輸周期。
如果作為接收設備的主機未應答從機,則從機釋放SDA線供主機產生STOP或Repeated START信號。
要將數據寫入從機,將要發(fā)送的數據存儲在發(fā)送寄存器中,并將WR位置1。要從從機讀取數據,請將RD位置1。在傳輸過程中,核心設置了TIP標志(Transfer in progress),指示正在進行傳輸。傳輸完成后,將重置TIP標志,設置IF標志(Interrupt Flag),并在使能時產生中斷。設置IF標志后,接收寄存器包含有效數據。當TIP標志復位時,用戶可以發(fā)出新的寫或讀命令。
1.2.4 停止信號
主機可以通過產生一個STOP信號來終止通信。STOP信號(通常稱為P位)定義為SCL為邏輯1時SDA從低到高的跳變。
1.3、仲裁過程
1.3.1 時鐘同步化
I2C總線是真正的多主機總線,可以在其上連接多個主機。如果兩個或多個主機同時嘗試控制總線,則時鐘同步過程將確定總線時鐘。由于I2C信號采用“線與”連接,從高到低的跳變會影響連接到總線的所有設備。因此,SCL線上從高電平到低電平的轉換會導致所有相關設備都將其低電平周期計算在內。一旦設備時鐘變低,它將使SCL線保持在該狀態(tài),直到達到時鐘高狀態(tài)為止。由于采用“線與”連接,因此SCL線將由具有最短低電平周期的設備保持低電平,并由具有最短高電平周期的設備保持高電平。
1.3.2 時鐘伸展
從設備可以使用時鐘同步機制來降低傳輸比特率。主機將SCL拉低后,從機可以拉低SCL為所需的時間,然后釋放它。如果從機的SCL低電平周期大于主機的SCL低電平周期,則將延長所得到的SCL總線信號低電平周期,從而插入等待狀態(tài)。
編輯;jq
-
IIC
+關注
關注
11文章
302瀏覽量
38405 -
SDA
+關注
關注
0文章
124瀏覽量
28182 -
SCL
+關注
關注
1文章
239瀏覽量
17115 -
MSB
+關注
關注
0文章
13瀏覽量
8266
原文標題:IIC專題原理及應用篇(一)
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論