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

          新聞中心

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

          單片機(jī)訪問(wèn)IIC總線技術(shù)

          作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò) 收藏
          IIC 總線的特征:
          1. 只要求兩條總線線路:一條串行數(shù)據(jù)線(SDA);一條串行時(shí)鐘總線
          2. 每個(gè)接到總線上的器件都可以用軟件設(shè)定地址,通過(guò)唯一的地址。總線上的不同設(shè)備會(huì)一直存在這一個(gè)主從關(guān)系,主設(shè)備可以工作在主發(fā)送和主接受模式。
          3. 這是一個(gè)真正的多主機(jī)總線,如果多個(gè)或更多主機(jī)同時(shí)初始化數(shù)據(jù)傳輸,可以通過(guò)沖突檢測(cè)和仲裁檢測(cè)來(lái)防止數(shù)據(jù)被破壞。
          4. 串行的8位雙向數(shù)據(jù)傳輸位速率在標(biāo)準(zhǔn)模式下可達(dá)100kbit/s,快速模式下科大400kbit/s,高速模式下可達(dá)3.4Mbit/s。
          5. 片上集成有濾波器,可以濾除總線上的毛刺波,保證數(shù)據(jù)完整。
          連接到相同總線的IC數(shù)量只受到總線的最大負(fù)載電容400pF的限制,因?yàn)閽旖拥脑O(shè)備越多,在總線上產(chǎn)生的負(fù)載電容就越大,會(huì)嚴(yán)重影響數(shù)據(jù)的傳輸波形,導(dǎo)致總線無(wú)法正常工作。
          6. IIC設(shè)備便于電路的模塊話設(shè)計(jì),能是系統(tǒng)的設(shè)計(jì)裁減更加靈活。
          IIC典型應(yīng)用:
          1. 現(xiàn)在的數(shù)碼電視機(jī)中使用的就是一個(gè)IIC總線,所有設(shè)備都掛接在IIC總線上。
          2. DECT無(wú)繩電話基站,不同模塊也是通過(guò)IIC總線連接。
          IIC總線規(guī)范:
          在用到微控制器的系統(tǒng)中,需要一些規(guī)范來(lái)協(xié)調(diào)不同設(shè)備間的通信。
          IIC總線的概念:
          IIC總線支持任何IC生產(chǎn)工藝(NMOS, CMOS. 雙極性)。
          兩線:
          SDA-串行數(shù)據(jù)
          SCL-串行時(shí)鐘
          每個(gè)器件都有一個(gè)唯一的地址識(shí)別(微控制器,LCD驅(qū)動(dòng)器,存儲(chǔ)器或是鍵盤接口),而且都可以作為一個(gè)發(fā)送器或接收器 由器件的功能決定 很明顯 LCD驅(qū)動(dòng)器只是一個(gè)接收器 而存儲(chǔ)器則既可以接收又可以發(fā)送數(shù)據(jù) 除了發(fā)送器和接收器外 器件在執(zhí)行數(shù)據(jù)傳輸時(shí)也可以被看作是主機(jī)或從機(jī)(見(jiàn)表 1)主機(jī)是初始化總線的數(shù)據(jù)傳輸并產(chǎn)生允許傳輸?shù)臅r(shí)鐘信號(hào)的器件 此時(shí) 任何被尋址的器件都被認(rèn)為是從機(jī)
          表一:
          術(shù)語(yǔ)描述
          發(fā)送器發(fā)送數(shù)據(jù)到總線的器件
          接收器從總線接受數(shù)據(jù)的器件
          主機(jī)初始化發(fā)送、產(chǎn)生時(shí)鐘信號(hào)和終止發(fā)送的器件
          從機(jī)被主機(jī)尋址的器件
          多主機(jī)同時(shí)有多于一個(gè)主機(jī)嘗試控制總線,但不破壞報(bào)文
          仲裁是一個(gè)在多個(gè)主機(jī)同時(shí)嘗試控制總線,但只允許其中一個(gè)控制總線并使報(bào)文不被破壞的過(guò)程
          同步兩個(gè)或多個(gè)器件共用一個(gè)同步時(shí)鐘信號(hào)的過(guò)程
          主機(jī)、從機(jī);接收機(jī),發(fā)送機(jī):
          關(guān)系都是相對(duì)的并且只在數(shù)據(jù)傳輸?shù)臅r(shí)候才會(huì)存在:
          1)假設(shè)微控制器A(主)要給B(從)發(fā)送數(shù)據(jù)
          1. A尋址B
          2. A發(fā)送數(shù)據(jù)到B; A - 發(fā)送器 B - 接收器
          3. A終止發(fā)送
          2)假設(shè)A(主)想從B(從)接受信息
          1. A尋址B
          2. A從B接受數(shù)據(jù);A - 接收器 B - 發(fā)送器
          3. A終止接收
          總線仲裁過(guò)程:
          多個(gè)主機(jī)同時(shí)嘗試發(fā)送信息到總線,其他主機(jī)都產(chǎn)生“0”的情況下,首先產(chǎn)生“1”的主機(jī)講丟失仲裁。
          仲裁時(shí)的時(shí)鐘信號(hào)是用線與到SCL線的主機(jī)產(chǎn)生的時(shí)鐘的同步結(jié)合。
          IIC總線接口電路:電路如下圖
          圖中可以看出據(jù)誒大總線上的設(shè)備都是漏極(或集電極)開(kāi)路,即OC門,只有OC們啊次可以實(shí)現(xiàn)總線上的線與。
          數(shù)據(jù)的有效性:
          SDA線上的數(shù)據(jù)必須在時(shí)鐘的高電平周期保持穩(wěn)定。數(shù)據(jù)線上的數(shù)據(jù)只能在SCL為低電平是才能改變。時(shí)序波
          如下圖:
          start,stop
          數(shù)據(jù)傳送的起始和停止:
          IIC總線中數(shù)據(jù)的起始和結(jié)束,與數(shù)據(jù)的位傳輸有所不同,
          起始位:在SCL為高電平時(shí),SDA從高電平向低電平切換
          結(jié)束位:在SCL為高電平時(shí),SDA從低電平向高電平切換
          起始和結(jié)束位是由主機(jī)產(chǎn)生,總線在起始位開(kāi)始之后被認(rèn)為是處于忙狀態(tài),在出現(xiàn)結(jié)束位之后的某段時(shí)間后總線被確認(rèn)為閑狀態(tài)。
          在起始條件產(chǎn)生后,停止條件產(chǎn)生前出現(xiàn)的起始條件和第一個(gè)起始條件在功能上是一樣的。表示為(S)。
          如果沒(méi)有硬件檢測(cè)總線起始和結(jié)束的設(shè)備想監(jiān)視IIC總線(如微處理器),那么在每個(gè)周期至少采樣兩次SDA總線來(lái)確認(rèn)有沒(méi)有電平發(fā)生變化。
          數(shù)據(jù)的傳輸:
          字節(jié)格式傳輸:
          SDA線上傳輸?shù)臄?shù)據(jù)必須是8位的,但每次可以傳輸多個(gè)字節(jié)。每個(gè)字節(jié)后面必須跟一個(gè)響應(yīng)位。
          總線上每個(gè)字節(jié)首先傳送的是最高位(MSB)。
          如果從機(jī)在接受數(shù)據(jù)前要完成一些工作(如中斷服務(wù)程序)才能接受或發(fā)送數(shù)據(jù),那么從機(jī)可以使時(shí)鐘線SCL保
          持低電平迫使主機(jī)進(jìn)入等待狀態(tài)。當(dāng)從機(jī)準(zhǔn)備好后接收下一個(gè)數(shù)據(jù)字節(jié)并釋放時(shí)鐘線后,數(shù)據(jù)傳輸繼續(xù)。 在傳
          輸數(shù)據(jù)時(shí)使用同樣的方法也不會(huì)影響數(shù)據(jù)的傳輸。
          響應(yīng)位:
          數(shù)據(jù)傳輸必須帶響應(yīng)。相關(guān)的響應(yīng)脈沖由主機(jī)產(chǎn)生,在響應(yīng)的時(shí)鐘脈沖期間,發(fā)送器釋放SDA線(此時(shí)為高電平)響應(yīng)的時(shí)鐘脈沖期間,接收器必須將SDA線拉低,并保持。(CBUS除外)
          如果從機(jī)不能響應(yīng)從機(jī)地址(在執(zhí)行別的程序),從機(jī)必須使數(shù)據(jù)線保持高電平。主機(jī)會(huì)產(chǎn)生一個(gè)停止條件終止
          傳輸或者產(chǎn)生重復(fù)起始條件開(kāi)始新的傳輸。
          如果從機(jī)接收器響應(yīng)了從機(jī)地址但是在傳輸了一段時(shí)間后不能接受更多的數(shù)據(jù)字節(jié),主機(jī)必須終止傳輸。這個(gè)情
          況用從機(jī)在第一個(gè)字節(jié)后沒(méi)有產(chǎn)生響應(yīng)來(lái)表示。從機(jī)使數(shù)據(jù)線保持高電平 主機(jī)產(chǎn)生一個(gè)停止或重復(fù)起始條件。
          如果主機(jī)為接收模式,它必須在從機(jī)發(fā)送結(jié)束,時(shí)鐘停止的最后一個(gè)字節(jié)不發(fā)送響應(yīng)位,從而告訴發(fā)送器數(shù)據(jù)結(jié)
          束。從機(jī)發(fā)送器釋放數(shù)據(jù)線,允許主機(jī)產(chǎn)生一個(gè)停止或重復(fù)起始條件。
          數(shù)據(jù)傳輸時(shí)序,數(shù)據(jù)響應(yīng)時(shí)序如下圖:

          本文引用地址:http://www.ex-cimer.com/article/201611/322091.htm
          數(shù)據(jù)響應(yīng):
          數(shù)據(jù)仲裁:
          所有主機(jī)在SCL總線上產(chǎn)生自己的時(shí)鐘來(lái)傳輸數(shù)據(jù),數(shù)據(jù)只在時(shí)鐘的高電平周期有效。
          時(shí)鐘同步通過(guò)線與SCL線來(lái)執(zhí)行。就是說(shuō):SCL線的高低切換會(huì)使器件開(kāi)始數(shù)它們的低電平周期,而且一旦器件的時(shí)鐘變低,它會(huì)使SCL線保持這種狀態(tài)知道到達(dá)時(shí)鐘的高電平。但是,當(dāng)變?yōu)楦唠娖綍r(shí),另一個(gè)總線上的時(shí)鐘仍處于低電平周期,這個(gè)低到高的電平變化不會(huì)出現(xiàn)在總線上改變SCL的狀態(tài)。所以,SCL線被最長(zhǎng)低電平周期的器件所持有,此時(shí)低電平周期短的器件會(huì)進(jìn)入高電平的等待狀態(tài)。
          上一頁(yè) 1 2 下一頁(yè)

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

          評(píng)論


          技術(shù)專區(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); })();