<mark id="ljfxl"><var id="ljfxl"></var></mark>

          <listing id="ljfxl"></listing>
          <nobr id="ljfxl"><cite id="ljfxl"><p id="ljfxl"></p></cite></nobr>

            <b id="ljfxl"><pre id="ljfxl"></pre></b>

            常見問題FAQ

            I2C接口協議介紹與應用說明發布時間:2017-12-29    被閱覽數:

            I2C總線介紹


              I2C(Inter-Integrated Circuit)總線是由Philips公司開發的一種雙向二線制同步串行總線,它只需要兩條線(SDA,SCL)即可在連接于總線上的器件之間傳送信息。I2C總線的工作速率有100k、400k和4M三種,支持多機通訊,支持多主控模塊但同一時刻只允許有一個主控端。

              SCL(Serial Clock):邊沿觸發方式,上升沿將數據輸入到EEPROM,下降沿驅動EEPROM輸出數據。

              SDA(Serial Data Line):雙向數據線,OD門,每次傳輸8bit。


            I2C總線介紹與應用說明.gif

            成都英創ETA202 I2C矩陣鍵盤擴展模塊


              I2C總線中主要定義如下:

              發送機(Transmitter):向總線傳輸數據的設備。

              接收機(Receiver):從總線接收數據的設備。

              主機(Master):產生時鐘、啟動發送、發送I2C命令、停止發送的設備。

              從機(Slave):監聽總線并且被主機尋址的設備。

              多主控(Multi-master):總線上可以有多個主機,每一個都可以發送命令。

              仲裁(Arbitration):在有多個主機同時嘗試控制總線時,只允許其中一個控制總線并使報文不被破壞的過程。

              同步():兩個或多個設備同步時鐘信號的過程。


              SCL和SDA信號都是雙向的,他們通過電阻連接到電源上,總線空閑時兩條線都處于高電平狀態。I2C總線上的設備都必須有集電極開路或者漏極開路管腳,激活總線意味著拉低其電平。單個總線上的設備數量幾乎是無限的,唯一的要求是總線電容不超過400pF。由于邏輯1取決于電源電壓的大小,因此沒有標準的總線電壓。


            I2C總線掛載設備示意圖.gif

            I2C總線掛載設備示意圖


            I2C時序分析


              總線空閑

              SDA和SCL兩條信號線都處于高電平,即總線上所有的器件都釋放總線,兩條信號線的上拉電阻把電平拉高。


              啟動信號START

              時鐘信號SCL保持高電平,數據信號SDA的電平被拉低。啟動信號必須是跳變信號,而且在建立該信號前必須保證總線處于空閑狀態。


              停止信號STOP

              時鐘信號SCL保持高電平,數據線被釋放,使SDA返回高電平,停止信號也必須是跳變信號。


            I2C總線介紹與應用說明.gif

            I2C啟動信號START與停止信號STOP


              應答信號ACK

              發送器每發送一個字節之后,在時鐘的第9個脈沖期間釋放數據總線,由接收器發送一個應答信號ACK(將SDA的電平拉低)來表示數據成功接收。


              無應答信號NACK

              在時鐘的第9個脈沖期間發送器釋放數據總線,而接收器不拉SDA電平,則表示一個無應答信號NACK,NACK有兩種用途:

             ?。?)一般表示接收器未成功接收數據字節。

             ?。?)當接收器是主機時,它收到最后一個字節后,應發送一個NACK信號,以通知從機結束數據發送,并釋放總線,以便主機發送停止信號STOP。


              數據傳輸

              每個時鐘脈沖傳輸1比特數據。SDA信號只在SCL處于低電平時變化,SCL處于高電平期間,SDA電平必須保持穩定。


            I2C總線介紹與應用說明.gif

            I2C數據傳輸時SDA與SCL電平變化情況


            I2C總線介紹與應用說明.gif

            I2C數據傳輸流程


            I2C總線協議


              基本工作原理

              主設備以啟動信號START來掌管總線,以停止信號STOP來釋放總線。主設備啟動的每一個I2C命令均以START開始,以STOP結束。

              啟動信號START后緊接著發送一個地址字節,其中7位為被控器件的地址碼,一位為讀/寫控制位R/W。R/W為0表示主機向從機寫數據,R/W為1表示主機從從機讀取數據。當從機檢測到收到的地址與自己的地址相同時,在第9個時鐘期間反饋應答信號。每個數據字節在傳送時都是高位(MSB)在前。


            I2C總線介紹與應用說明.gif

            I2C基本工作流程


              寫數據過程

              1、主機檢測到總線空閑之后,發送啟動信號START信號掌管總線。

              2、主機發送一個地址字節(包括7位地址碼和1位R/W)。

              3、當從機檢測到主機發送的地址與自己的地址相同以后,發送應答信號(ACK)。

              4、主機收到應答信號ACK后,開始發送第一個數據字節。

              5、從機收到數據字節后,發送應答信號ACK表示繼續傳送數據,發送NACK表示數據傳送結束。

              6、主機發送完全部數據后,發送停止信號STOP,結束通訊并釋放總線。


              讀通訊過程

              1、主機檢測到總線空閑之后,發送啟動START信號掌管總線。

              2、主機發送一個地址字節(包括7位地址碼和1位R/W)。

              3、當從機檢測到主機發送的地址與自己的地址相同以后,發送應答信號ACK。

              4、主機收到應答信號ACK后釋放數據總線,開始接收第一個數據字節。

              5、主機收到數據字節后,發送應答信號ACK表示繼續傳送數據,發送NACK表示數據傳送結束。

              6、主機完成接收以后,發送停止信號STOP,結束通訊并釋放總線。


              同步

              每個主機必須生成自己的時鐘信號,只有當時鐘信號電平為低時,數據才能改變。執行總線仲裁必須有同步時鐘。當某個主機拉低時鐘電平時,時鐘會并保持低電平,直到所有主機均將時鐘拉至高電平。同樣,時鐘會處于高電平狀態,直到第一個主機將其拉低。這樣,通過觀察SCL信號,主設備可以同步它們的時鐘。


              仲裁

              對于I2C總線上的正常數據傳輸過程而言,只允許一個主機進行控制。如果出于某種原因,兩個主機同時啟動I2C命令,則仲裁過程決定哪個主機獲得控制權并且可以繼續執行命令。仲裁是通過SDA信號執行的,此時SCL信號處于高電平。每個主機檢查總線上的SDA信號是否對應于自己生成的SDA信號。如果總線上的SDA信號應該是高電平但它卻處于低電平,那么這個主機就在仲裁過程中失敗。仲裁失敗的I2C主設備可以產生SCL脈沖直到字節結束,然后必須釋放總線并進入從設備模式。仲裁過程可以持續到所有數據傳輸完畢以后。這意味著在多主機系統中,每個I2C主機必須監控I2C總線并執行相關操作。


            I2C總線典型電路


              現在的ARM CPU芯片普遍直接支持I2C總線,直接從CPU中將相應管腳引出,即可以外接I2C功能模塊或者芯片,然后通過軟件進行控制操作。

              下圖為一個典型的I2C應用擴展(成都英創ETA202 I2C矩陣鍵盤擴展模塊部分電路),使用TCA8418芯片擴展出8x8矩陣鍵盤。直接將SDA、SCL、鍵盤中斷信號KEY_INT#和復位信號RST#接入芯片,并接上電源和地,即可以控制8x8矩陣鍵盤。


            I2C總線介紹與應用說明.gif


            I2C總線在英創主板平臺上的應用


              支持I2C接口的芯片都可以直接和英創主板連接,并執行相應的功能。歷年來,大量用戶使用英創主板進行I2C應用和數據處理,英創也累積了豐富的工程經驗。下面整理出了英創網站發表的相關技術文檔供用戶參考。雖然有一些方案文檔中提到的英創主板是較老的型號,用戶在新產品開發的時候未必會使用這些老主板產品,但是文中的軟硬件使用技巧、編程技巧和方法等技術細節,是值得用戶參考或者直接使用的。


              使用方法與技巧


            英創工業主板EM9160的GPIO應用于I2C通訊嵌入式Linux工控板EM9160的I2C功能及其應用

            EM9170工控主板I2C總線使用方法JAVA操作英創主板I2C接口簡介
            Go Top
            波多野结衣中文字幕在观线看 百度“好物新知节”黄金专场直播单场成交额突破一千万 近日, 百度双十一“好物新知节”推出“探秘黄金工厂”直播,这也是“好物新知节”的首场黄金专场直播。直播间内,主播带领网友“云参观”金条的制作过程,并上线了近50款品牌特价黄金制品,截止当天17:30直播结束,一场直播成交额突破1000万元。   据介绍,作为本次“好物新知节”的主打产品之一,黄金专场通过直播参观和讲解的方式,让网友在了解黄金制作知识和投资知识的基础上,再根据个人需求自由选购。   据悉,百度“好物新知节”将一直持续至11月20日,接下来还将有更多场次的黄金专场直播,以及更多美妆、数码、宝石、名酒、家居和秋冬服饰等好物大促直播,如iPhone 12 Pro Max、瑞丽家居、百雀羚、延边原产地三农产品等都将亮相直播间。 东北风情熟女之惑