色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > I2C 總線協(xié)議的簡單總結(jié)

          I2C 總線協(xié)議的簡單總結(jié)

          作者: 時間:2016-12-14 來源:網(wǎng)絡(luò) 收藏
          一. 技術(shù)性能:

          工作速率有100K和400K兩種;

          本文引用地址:http://cafeforensic.com/article/201612/329919.htm

          支持多機(jī)通訊;

          支持多主控模塊,但同一時刻只允許有一個主控;

          由數(shù)據(jù)線SDA和時鐘SCL構(gòu)成的串行總線;

          每個電路和模塊都有唯一的地址;

          每個器件可以使用獨立電源

          二. 基本工作原理:

          以啟動信號START來掌管總線,以停止信號STOP來釋放總線;

          每次通訊以START開始,以STOP結(jié)束;

          啟動信號START后緊接著發(fā)送一個地址字節(jié),其中7位為被控器件的地址碼,一位為讀/寫控制位R/W,R. /W位為0表示由主控向被控器件寫數(shù)據(jù),R/W為1表示由主控向被控器件讀數(shù)據(jù);

          當(dāng)被控器件檢測到收到的地址與自己的地址相同時,在第9個時鐘期間反饋應(yīng)答信號;

          每個數(shù)據(jù)字節(jié)在傳送時都是高位(MSB)在前;

          寫通訊過程:

          1. 主控在檢測到總線空閑的狀況下,首先發(fā)送一個START信號掌管總線;

          2. 發(fā)送一個地址字節(jié)(包括7位地址碼和一位R/W);

          3. 當(dāng)被控器件檢測到主控發(fā)送的地址與自己的地址相同時發(fā)送一個應(yīng)答信號(ACK);

          4. 主控收到ACK后開始發(fā)送第一個數(shù)據(jù)字節(jié);

          5. 被控器收到數(shù)據(jù)字節(jié)后發(fā)送一個ACK表示繼續(xù)傳送數(shù)據(jù),發(fā)送NACK表示傳送數(shù)據(jù)結(jié)束;

          6. 主控發(fā)送完全部數(shù)據(jù)后,發(fā)送一個停止位STOP,結(jié)束整個通訊并且釋放總線;

          讀通訊過程:

          1. 主控在檢測到總線空閑的狀況下,首先發(fā)送一個START信號掌管總線;

          2. 發(fā)送一個地址字節(jié)(包括7位地址碼和一位R/W);

          3. 當(dāng)被控器件檢測到主控發(fā)送的地址與自己的地址相同時發(fā)送一個應(yīng)答信號(ACK);

          4. 主控收到ACK后釋放數(shù)據(jù)總線,開始接收第一個數(shù)據(jù)字節(jié);

          5. 主控收到數(shù)據(jù)后發(fā)送ACK表示繼續(xù)傳送數(shù)據(jù),發(fā)送NACK表示傳送數(shù)據(jù)結(jié)束;

          6. 主控發(fā)送完全部數(shù)據(jù)后,發(fā)送一個停止位STOP,結(jié)束整個通訊并且釋放總線;

          四. 總線信號時序分析

          1. 總線空閑狀態(tài)

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

          2. 啟動信號START

          時鐘信號SCL保持高電平,數(shù)據(jù)信號SDA的電平被拉低(即負(fù)跳變)。啟動信號必須是跳變信號,而且在建立該信號前必修保證總線處于空閑狀態(tài);

          3. 停止信號STOP

          時鐘信號SCL保持高電平,數(shù)據(jù)線被釋放,使得SDA返回高電平(即正跳變),停止信號也必須是跳變信號。

          4. 數(shù)據(jù)傳送

          SCL線呈現(xiàn)高電平期間,SDA線上的電平必須保持穩(wěn)定,低電平表示0(此時的線電壓為地電壓),高電平表示1(此時的電壓由元器件的VDD決定)。只有在SCL線為低電平期間,SDA上的電平允許變化。

          5. 應(yīng)答信號ACK

          I2C總線的數(shù)據(jù)都是以字節(jié)(8位)的方式傳送的,發(fā)送器件每發(fā)送一個字節(jié)之后,在時鐘的第9個脈沖期間釋放數(shù)據(jù)總線,由接收器發(fā)送一個ACK(把數(shù)據(jù)總線的電平拉低)來表示數(shù)據(jù)成功接收。

          6. 無應(yīng)答信號NACK

          在時鐘的第9個脈沖期間發(fā)送器釋放數(shù)據(jù)總線,接收器不拉低數(shù)據(jù)總線表示一個NACK,NACK有兩種用途:

          a. 一般表示接收器未成功接收數(shù)據(jù)字節(jié);

          b. 當(dāng)接收器是主控器時,它收到最后一個字節(jié)后,應(yīng)發(fā)送一個NACK信號,以通知被控發(fā)送器結(jié)束數(shù)據(jù)發(fā)送,并釋放總線,以便主控接收器發(fā)送一個停止信號STOP。

          五. 尋址約定

          地址的分配方法有兩種:

          1. 含CPU的智能器件,地址由軟件初始化時定義,但不能與其它的器件有沖突;

          2. 不含CPU的非智能器件,由廠家在器件內(nèi)部固化,不可改變。

          高7位為地址碼,其分為兩部分:

          1. 高4位屬于固定地址不可改變,由廠家固化的統(tǒng)一地址;

          2. 低三位為引腳設(shè)定地址,可以由外部引腳來設(shè)定(并非所有器件都可以設(shè)定);



          關(guān)鍵詞: I2C總線協(xié)議簡單總

          評論


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

          關(guān)閉