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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > I2C總線接口邏輯分析

          I2C總線接口邏輯分析

          作者: 時間:2011-06-01 來源:網(wǎng)絡 收藏

          1 前言

          是具備多CPU系統(tǒng)所需的包括仲裁和高低速設備同步等功能的高性能串行。它以兩根連線實現(xiàn)完善的全雙工數(shù)據(jù)傳送,是各種中使用信號線根數(shù)最少,并具有自動尋址、多主機時鐘同步和仲裁等功能的總線。

          目前世界上采用的總線有兩種規(guī)范,它們分別是由荷蘭飛利浦公司和日本索尼公司提出的?,F(xiàn)在廣泛采用的是飛利浦公司的總線技術規(guī)范,它已成為被電子行業(yè)認可的總線標準。

          由于I2C總線具有標準的規(guī)范及眾多帶I2C的外圍器件,使得使用I2C總線設計計算機系統(tǒng)變得十分方便、靈活,體積也小,因此在各類實際應用中得到廣泛使用。

          2 I2C總線的基本原理

          2.1 I2C總線基本結構

          I2C總線系統(tǒng)結構靈活,易于模塊化、標準化設計。I2C總線只有兩根信號線,一根是數(shù)據(jù)線SDA,另一根是時鐘線SCL。所有進入I2C總線系統(tǒng)中的器件都帶有I2C總線,符合I2C總線電氣規(guī)范的特性;而且采用純軟件尋址方法,無需器件片選線的連接。CPU不僅能通過指令將某個功能器件掛靠或摘離總線,還可對其工作狀況進行檢測,從而實現(xiàn)對硬件系統(tǒng)即簡單又靈活的擴展與控制。各器件供電可不同,但需共地。另外,SDA、SCL需分別接上拉電阻。

          SDA、SCL都是雙向的,輸出電路用于向總線上發(fā)送數(shù)據(jù),輸入電路用于接收總線上的數(shù)據(jù)。當總線空閑時,兩根線都是高電平。連接總線的器件的輸出端電路必須是集電極開路輸出或開漏輸出,以具有線“與”功能。I2C總線的數(shù)據(jù)傳送速率在標準模式下可達100kbit/s,快速模式下可達400kbit/s,高速模式下則可達3.4Mbit/s。

          I2C總線電路結構如圖1所示。

          本文引用地址:http://www.ex-cimer.com/article/150664.htm

          2.2 I2C總線數(shù)據(jù)傳送

          I2C總線數(shù)據(jù)傳輸時必須遵循規(guī)定的數(shù)據(jù)傳送格式,如圖2所示為一次完整的數(shù)據(jù)傳送格式。啟動信號表明一次傳送的開始,其后為尋址字節(jié),該尋址字節(jié)由高7位地址和最低1位方向位組成:方向位為“0”表明寫操作,“1”表明讀操作;在尋址字節(jié)后是由方向位指定讀、寫操作的數(shù)據(jù)字節(jié)與應答位;在數(shù)據(jù)傳送完成后為停止信號。在“啟動”與“停止”之間傳送的數(shù)據(jù)字節(jié)數(shù)從理論上來說沒有限制,但每個字節(jié)必須為8位,而且每個傳送的字節(jié)后面必須跟一個應答位。

          當SCL為高電平時,SDA由高電平跳變?yōu)榈碗娖?,定義為啟動信號;當SCL為低電平時,SDA由低電平跳變?yōu)楦唠娖?,定義為停止信號。

          在SCL為高電平時,SDA上數(shù)據(jù)需保持穩(wěn)定方被認為有效;只有在SCL為低電平時,才允許SDA電平狀態(tài)變化。

          2.3時鐘信號的同步

          在I2C總線上傳送信息時的時鐘同步信號是由掛接在SCL線上的所有器件的“與”完成的。SCL線上由高電平到低電平的跳變將影響到這些器件,一旦某個器件的時鐘信號下跳為低電平,將使SCL線一直保持低電平,使SCL線上的所有器件開始低電平期。此時,低電平周期短的器件的時鐘由低至高的跳變并不能影響SCL線的狀態(tài),于是這些器件將進入高電平等待的狀態(tài)。當所有器件的時鐘信號都上跳為高電平時,低電平期結束,SCL線被釋放返回高電平,即所有的器件都同時開始它們的高電平期。其后,第一個結束高電平期的器件又將SCL線拉成低電平。這樣就在SCL線上產(chǎn)生一個同步時鐘??梢?,時鐘低電平時間由時鐘低電平期最長的器件確定,而時鐘高電平時間由時鐘高電平期最短的器件確定。

          2.4 總線競爭的仲裁

          總線上可能掛接有多個器件,有時會發(fā)生兩個或多個主器件同時想占用總線的情況,這種情況叫做總線競爭。I2C總線具有多主控能力,可以對發(fā)生在SDA線上的總線競爭進行仲裁,其仲裁原則是這樣的:當多個主器件同時想占用總線時,如果某個主器件發(fā)送高電平,而另一個主器件發(fā)送低電平,則發(fā)送電平與此時SDA總線電平不符的那個器件將自動關閉其輸出級??偩€競爭的仲裁是在兩個層次上進行的。首先是地址位的比較,如果主器件尋址同一個從器件,則進入數(shù)據(jù)位的比較,從而確保了競爭仲裁的可靠性。由于是利用I2C總線上的信息進行仲裁,因此不會造成信息的丟失。


          上一頁 1 2 3 下一頁

          關鍵詞: 分析 邏輯 接口 總線 I2C

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();