新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機訪問IIC總線技術(shù)

單片機訪問IIC總線技術(shù)

作者: 時間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
等所有器件數(shù)完了它們的低電平周期后,時鐘線會被釋放為高電平。之后所有器件開始數(shù)他們的高電平,最早數(shù)完高電平的器件會再次把SCL拉低,因此高電平周期是由高電平周期最短的器件決定的。
總線仲裁 同步時鐘時序圖:
仲裁:
主機只能在總線空閑的時候啟動傳輸。兩個或多個主機可能在起始條件的最小持續(xù)時間內(nèi)產(chǎn)生一個起始條件,結(jié)果在總線上產(chǎn)生一個規(guī)定的起始條件。
當(dāng)SCL線是高電平時,仲裁在SDA線發(fā)生:在其他主機發(fā)送低電平時,發(fā)送高電平的主機將斷開它的數(shù)據(jù)輸出級,因為總線上的電平與它自己的電平不同。
仲裁可以持續(xù)多位。最開始是比較地址位,如果有相同主機嘗試尋址相同的器件,仲裁會繼續(xù)比較數(shù)據(jù)位(如果是主機-發(fā)送器),或者比較響應(yīng)位(如果是主機-接收器)。因為IIC總線的地址和數(shù)據(jù)信息由贏得仲裁的主機決定,在仲裁過程中不會丟失信息。即最后贏得總線的主機是發(fā)送或接受的數(shù)據(jù)是正確的主機。
丟失仲裁的主機可以產(chǎn)生時鐘脈沖知道丟失仲裁的該字節(jié)末尾。
由于HS模式的主機有一個唯一的8位主機碼,因此一般在第一個字節(jié)就可以結(jié)束仲裁。
如果主機也結(jié)合了從機的功能,而且在尋址階段丟失仲裁,它很可能就是贏得仲裁的主機在尋址的器件。因此丟失仲裁的主機要立即切換到從機模式。
兩個主機搶總線的時序圖:
IIC總線的控制只由地址或主機碼以及競爭主機發(fā)送的數(shù)據(jù)決定,沒有中央主機,總線也沒有任何定制的優(yōu)先權(quán)。
注意:在串口傳輸時,當(dāng)重復(fù)起始條件或停止條件發(fā)送到IIC總線的時候,仲裁過程仍在進行。
下面情況仲裁不發(fā)送:
1. 重復(fù)其實條件和數(shù)據(jù)位
2. 停止條件和數(shù)據(jù)位
3. 重復(fù)起始條件和停止條件
從機不會介入仲裁過程。
用時鐘同步機制作為握手
在字節(jié)級的快速傳輸中,器件可以快速接受字節(jié),但是需要更多的時間保存接受到的字節(jié)或準備另一個要發(fā)送的字節(jié)。因此,從機可以以一種握手過程在接受和響應(yīng)一個字節(jié)后使SCL線保持低電平,迫使主機進入等待狀態(tài),直到從機準備好下一個要傳輸?shù)淖止?jié)。時序參考Fig.6。
在位傳輸級可以通過延長每個時鐘的低電平周期減慢總線時鐘。從而使主機和從機都能適應(yīng)器件內(nèi)部的操作速率。
HS模式,握手功能只能在字節(jié)級使用。
數(shù)據(jù)格式:
7位的地址格式:
數(shù)據(jù)的傳輸如下圖格式:
在起始條件(S)后,發(fā)送了一個從機的地址。地址共7位,緊接著的第8位是數(shù)據(jù)方向位(R/W)-‘0’ 表示發(fā)送寫,‘1’表示請求數(shù)據(jù)讀。數(shù)據(jù)傳輸一般由主機產(chǎn)生的停止位(P)終止。但是主機還希望在總線上通訊,它可以產(chǎn)生重復(fù)起始條件(Sr)和尋址另一個從機,而不是首先產(chǎn)生一個停止條件。在這種傳輸中,可能有不同的讀/寫格式組合。
如下圖:
7位尋址:
IIC總線的尋址過程是在起始條件后的第一個字節(jié)決定了主機選擇哪個主機。廣播呼叫‘地址除外。使用這個地址,理論上所有器件都會發(fā)出一個響應(yīng)。也可以使器件忽略這個地址。廣播呼叫地址的第二個字節(jié)定義了要采取的行動。
當(dāng)主機在總線上發(fā)送了7個地址位之后,系統(tǒng)中的每個器件都在其實條件后講頭7位與自己的地址比較。如果一樣,器件會被主機尋址,從機的工作模式有第八位覺得(接受/發(fā)送)。
從機的地址位是由固定地址部分和可編程地址部分組成。如有4位固定的和3位通過芯片引腳可編程的那么可以掛載8個相同的芯片到IIC總線。
IIC地址的分配由IIC總線委員會協(xié)調(diào)進行。
起始位之后的第一個字節(jié)的一些特殊地址含義:
如下表:

上一頁 1 2 下一頁

關(guān)鍵詞: 單片機IIC總線技

評論


技術(shù)專區(qū)

關(guān)閉