<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > I2C之知(四)--I2C總線的7bit從機(jī)地址

          I2C之知(四)--I2C總線的7bit從機(jī)地址

          作者: 時(shí)間:2016-12-15 來(lái)源:網(wǎng)絡(luò) 收藏
          時(shí)鐘拉伸(Clock stretching)
          clock stretching通過(guò)將SCL線拉低來(lái)暫停一個(gè)傳輸.直到釋放SCL線為高電平,傳輸才繼續(xù)進(jìn)行.clock stretching是可選的,實(shí)際上大多數(shù)從設(shè)備不包括SCL驅(qū)動(dòng),所以它們不能stretch時(shí)鐘.
          從字節(jié)級(jí)來(lái)看,一個(gè)設(shè)備可能在快速模式下接受數(shù)據(jù),但是需要更多的時(shí)間來(lái)存儲(chǔ)接收到的字節(jié)或者準(zhǔn)備將要傳輸?shù)牧硪粋€(gè)字節(jié).從機(jī)可以以一種握手的處理方式在接受和應(yīng)答字節(jié)后將SCL線拉低來(lái)強(qiáng)制使得主機(jī)進(jìn)入wait狀態(tài)知道從機(jī)準(zhǔn)備好下一個(gè)字節(jié)的傳輸.
          從位級(jí)來(lái)看,I2C總線上的設(shè)備可以通過(guò)增長(zhǎng)每一個(gè)時(shí)鐘的低周期來(lái)降低總線時(shí)鐘.所以每個(gè)主機(jī)可以適應(yīng)這個(gè)設(shè)備的內(nèi)部操作速率.
          在Hs模式,握手處理只能用在字節(jié)級(jí)別.

          從機(jī)地址和R/W bit
          下圖是數(shù)據(jù)傳輸?shù)母袷?

          在開(kāi)始條件(S)后,發(fā)送從機(jī)地址.地址是7bit,后面的第8bit是數(shù)據(jù)的讀寫(xiě)bit,0表示寫(xiě),1表示讀.具體的看下圖:

          數(shù)據(jù)傳輸被主機(jī)產(chǎn)生的終止條件(P)終止.然而,主機(jī)也可以無(wú)需先產(chǎn)生終止條件,產(chǎn)生一個(gè)重復(fù)的開(kāi)始條件(Sr)和尋址另一個(gè)從機(jī),
          可能的數(shù)據(jù)傳輸格式如下:
          主-發(fā)送器傳到從-接收器.傳輸方向不變.從-接收器應(yīng)答每一個(gè)字節(jié).如下:

          在第一個(gè)字節(jié)后主機(jī)從從機(jī)讀數(shù)據(jù).第一個(gè)應(yīng)答后,主-發(fā)送器變?yōu)橹?接收器而從-接收器變?yōu)閺?發(fā)送器.第一個(gè)應(yīng)答仍然是由從機(jī)產(chǎn)生的.主機(jī)產(chǎn)生余下的應(yīng)答.主機(jī)在產(chǎn)生終止條件之前要發(fā)送一個(gè)NA.如下:

          復(fù)合模式.在傳輸過(guò)程中改變方向,開(kāi)始條件和從機(jī)地址都要重復(fù),而讀寫(xiě)bit要取反.如果主-接收器發(fā)送一個(gè)重復(fù)的開(kāi)始條件,那么它在這之前要發(fā)送一個(gè)NA.

          注意:
          1.復(fù)合模式可以在比如控制串行內(nèi)存器時(shí)用到.在第一個(gè)數(shù)據(jù)字節(jié)時(shí)一定要寫(xiě)內(nèi)存器內(nèi)部的地址.開(kāi)開(kāi)始條件和從地址重復(fù)后,數(shù)據(jù)就開(kāi)始傳輸了.
          2.自動(dòng)增加或減少之前訪問(wèn)的內(nèi)存位置都由設(shè)備的設(shè)計(jì)者決定.
          3.每一個(gè)字節(jié)后面都跟著一個(gè)應(yīng)答位,在圖中用A或非A來(lái)表示.
          4.兼容I2C總線的設(shè)備在接收到開(kāi)始條件或重復(fù)開(kāi)始條件時(shí)都一定要重啟它們的總線邏輯,即使開(kāi)始條件都不是正確的格式,它們都期望發(fā)送從機(jī)地址.
          5.開(kāi)始條件后立馬跟著一個(gè)終止條件是不合法的格式.很多設(shè)備在設(shè)計(jì)時(shí)考慮了這一點(diǎn),可以處理.
          6.連接到總線上的每個(gè)設(shè)備都由唯一的地址來(lái)確定.通常是簡(jiǎn)單的主從關(guān)系,但可能存在多個(gè)一樣的從機(jī)可以同時(shí)接收和響應(yīng),比如說(shuō)組播.這里是以NXP的PCA9546A作為例子說(shuō)明.(PCA9546A是NXP半導(dǎo)體生產(chǎn)的一款基于I2C總線控制的4通道雙向多路復(fù)用器和開(kāi)關(guān)。使用PCA9546A可以將一路SCL/SDA輸入擴(kuò)展為4路SCL/SDA輸出,在對(duì)內(nèi)部控制寄存器進(jìn)行相應(yīng)配置后,可同時(shí)選擇一路或多路下行I2C總線與上行I2C總線通信。)


          關(guān)鍵詞: I2CI2C總線從機(jī)地

          評(píng)論


          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();