新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Coo1Runner-Ⅱ器件I2C接口協議

        Coo1Runner-Ⅱ器件I2C接口協議

        作者: 時間:2011-12-22 來源:網絡 收藏
          這里將說明I2C的主要通信協議,更詳細的說明和時序圖請參考I2C規范文檔。
          I2C總線包括兩個信號線,即SDA和SCL。所有通信都發生在這兩個信號線上,連接到同一條總線上的設備數目受限于最大的總線電容。SDA和SCL都是雙向的,通過上拉電阻連接到系統電源。總線空閑時,這兩個總線保持高電平。在總線上的I2C設備的輸出數據階段,必須是漏極開路或是集電極開路以實現線與功能。

          每個設備都有唯一的地址,可以工作在發送模式或接收狀態,也可以被配置為主設備或從設務。方設備啟動一次總線數據傳輸,并產生時鐘信號,總線上任何其他設備都會被視為從設備。I2C協議同時還具有仲裁機制,如果多臺主設備同時申請控制總線,只有一臺設備成功獲取總線而不會丟失數據。

          一次數據傳輸開始于一個START命令,結束于一個STOP命令。SDA在時鐘SOL低電平時變化,高電平時保持穩定。START被定義為當SOL為高電平時,SDA由高到低的跳變;STOP被定義為當SOL為高時,SDA由低到高的跳變,如圖所示。

        I2C總線的—次數據傳輸



          如圖 I2C總線的—次數據傳輸

          每個數據包包含8位數據,后跟一個ACK位。因此一次數據傳輸共需要9個SOL,首先傳輸MSB。發送設備在ACK周期釋放SDA,接收設備必須在過程中驅動SDA為低。如果從設備沒有將SDA驅動為低,則表明其不能夠接收數據,主設備將產生一個STOP狀態以退出本次傳輸;如果主設備沒有將SDA驅動為低,則表明從設備發送的是最后一個字節。標準I2C通信包含4部分,即起始位、從地址、數據傳輸和停止位。I2C協議規定了兩種地址格式,即7位和10位,本設計為7位。起始位之后是7位地址,第8位是讀寫位,“0”為寫;“1”為讀。僅僅與地址相匹配的從設備在第9個SOL發一個ACK到SDA,將SDA拉低。

          一旦地址匹配成功,主從之間數據傳輸就會建立,讀/寫位決定數據傳輸方向。主設備發一個STOP命令終止一次傳輸。然而,主設備在沒有發出STOP之前也可能產生一個START信號,此情況被定義為重復開始(Repeat START)。


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 文昌市| 津市市| 齐河县| 旬邑县| 广东省| 北宁市| 西平县| 寿阳县| 徐闻县| 元阳县| 桃园市| 乡宁县| 喀喇沁旗| 惠东县| 广昌县| 九龙坡区| 壤塘县| 广汉市| 洛阳市| 丰镇市| 本溪| 略阳县| 汨罗市| 莱州市| 台东市| 宝兴县| 海安县| 正宁县| 广宁县| 怀仁县| 惠水县| 大连市| 武陟县| 桓仁| 通州市| 咸宁市| 儋州市| 察哈| 栾城县| 大安市| 虎林市|