新聞中心

        EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 數(shù)字接口――I2C 總線

        數(shù)字接口――I2C 總線

        作者: 時間:2009-11-27 來源:網(wǎng)絡(luò) 收藏

        ――

        本文引用地址:http://www.104case.com/article/157757.htm

        了解內(nèi)部集成電路(一種基本的低成本互聯(lián)方案)的連接和格式。

        內(nèi)置集成電路 () 是一種單端、多主控雙線總線,適合在半雙工模式下進行高效的內(nèi)部集成電路通信。該總線使用漏極開路技術(shù),因此通過電阻器連接到 VDD 時就需要兩根信號線,分別為串行數(shù)據(jù) (SDA) 線和串行時鐘線 (SCL),如圖 1 所示。


        圖 1 總線

        將線路拉低至接地認為是邏輯 0,而使線路浮置則為邏輯 1。通常將這用作通道接入方式。當 SCL 為低電平時,必將發(fā)生邏輯狀態(tài)變化;當 SSL 為高電平時,若發(fā)生變化則認為是 START 和 STOP 條件。盡管系統(tǒng)允許提供更高或更低的電壓,但典型的電源電壓為 3.3V 和 5V。

        I2C 通信采用 7 位地址空間(具有 16 個預(yù)留地址),因此在同一總線上,理論上最多可以和 112 個節(jié)點通信。但實際上,節(jié)點數(shù)會受到總線上規(guī)定的總體總電容 (400 pF) 限制,從而將通信距離限制為幾米。規(guī)定的信號傳輸速率為 100 kbit/s(標準模式)、400 kbit/s(快速模式)、1 Mbit/s(快速模式Plus,F(xiàn)M+)和 3.4 Mbit/s(高速模式)。

        總線上的節(jié)點有主從之分。主節(jié)點負責(zé)發(fā)布時鐘和從節(jié)點地址,并且還開始和結(jié)束數(shù)據(jù)處理。從節(jié)點負責(zé)接收時鐘和地址,并響應(yīng)來自主節(jié)點的請求。圖 2 顯示了主從節(jié)點之間典型的數(shù)據(jù)傳送示例。


        圖 2 完整的數(shù)據(jù)傳輸時序圖

        主節(jié)點通過創(chuàng)建一個 START 條件發(fā)布一個數(shù)據(jù)處理,緊接著發(fā)布希望與其進行通信的從節(jié)點的 7 位地址。隨后發(fā)送一個信號讀寫位,表示主節(jié)點是否愿意寫入到從節(jié)點 (0) 或者自從節(jié)點讀取 (1)。接下來,主節(jié)點將釋放 SDA 線,以允許從節(jié)點對數(shù)據(jù)接收作出應(yīng)答。

        在第 9 個 SCL 時鐘脈沖的整個高電平期間,從節(jié)點通過將 SDA 拉至低電平以回應(yīng)一個應(yīng)答位 (ACK),之后主節(jié)點一直處于傳輸或接收模式(根據(jù)發(fā)送的讀寫位而定),而從節(jié)點則一直處于對應(yīng)的互補模式(分別為接收或傳輸)。

        發(fā)送地址和 8 位數(shù)據(jù)字節(jié)時首先發(fā)送最高位 (MSB)。當 SCL 為高電平時,通過 SDA 由高電平向低電平跳變來指示 START 位。而當 SCL 為高電平時,則通過 SDA 由低電平向高電平跳變來產(chǎn)生 STOP 條件。

        當主節(jié)點寫入到從節(jié)點時,它會在從節(jié)點發(fā)送 ACK 位時重復(fù)發(fā)送一個字節(jié)。在這種情況下,主節(jié)點將處于主傳輸模式,而從節(jié)點則處于從接收模式。當主節(jié)點自從節(jié)點讀取時,它會重復(fù)接收自從節(jié)點的字節(jié),同時對每個字節(jié)的接收作出應(yīng)答 (ACK),但最后一個字節(jié)除外,請參見圖 3。這種情況下,主節(jié)點將處于主接收模式,而從節(jié)點則處于從傳輸模式。


        上一頁 1 2 下一頁

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 连州市| 远安县| 丰顺县| 泾阳县| 新田县| 佛教| 耒阳市| 清涧县| 福清市| 洛隆县| 滦平县| 宝丰县| 武陟县| 佛山市| 沈丘县| 遂平县| 阿拉善左旗| 子洲县| 田东县| 许昌县| 霍州市| 阳泉市| 成安县| 新和县| 麻江县| 靖西县| 临安市| 靖江市| 延川县| 巩义市| 定日县| 信丰县| 长武县| 哈尔滨市| 清水县| 额济纳旗| 金乡县| 乳源| 阜平县| 扎鲁特旗| 南靖县|