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

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 【E課堂】I2C總線協(xié)議詳解

          【E課堂】I2C總線協(xié)議詳解

          作者: 時(shí)間:2016-01-07 來源:電子產(chǎn)品世界 收藏

            簡介:

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

            I2C(Inter-Integrated Circuit)總線是一種由PHILIPS公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。產(chǎn)生于在80年代,最初為音頻和視頻設(shè)備開發(fā),如今主要在服務(wù)器管理中使用,其中包括單個(gè)組件狀態(tài)的通信可隨時(shí)監(jiān)控內(nèi)存、硬盤、網(wǎng)絡(luò)、系統(tǒng)溫度等多個(gè)參數(shù),增加了系統(tǒng)的安全性,方便了管理。

            特點(diǎn)

            最主要的優(yōu)點(diǎn)是其簡單性和有效性。由于接口直接在組件之上,因此I2C總線占用的空間非常小,減少了電路板的空間和芯片管腳的數(shù)量,降低了互聯(lián)成本。總線的長度可高達(dá)25英尺,并且能夠以10Kbps的最大傳輸速率支持40個(gè)組件。I2C總線的另一個(gè)優(yōu)點(diǎn)是,它支持多主控(multimastering), 其中任何能夠進(jìn)行發(fā)送和接收的設(shè)備都可以成為主總線。一個(gè)主控能夠控制信號(hào)的傳輸和時(shí)鐘頻率。當(dāng)然,在任何時(shí)間點(diǎn)上只能有一個(gè)主控。

            I2C總線工作原理

            總線的構(gòu)成及信號(hào)類型

            I2C總線是由數(shù)據(jù)線SDA和時(shí)鐘SCL構(gòu)成的串行總線,可發(fā)送和接收數(shù)據(jù)。在CPU與被控IC之間、IC與IC之間進(jìn)行雙向傳送,最高傳送速率100kbps。各種被控制電路均并聯(lián)在這條總線上,但就像電話機(jī)一樣只有撥通各自的號(hào)碼才能工作,所以每個(gè)電路和模塊都有唯一的地址,在信息的傳輸過程中,I2C總線上并接的每一模塊電路既是主控器(或被控器),又是發(fā)送器(或接收器),這取決于它所要完成的功能。CPU發(fā)出的控制信號(hào)分為地址碼和控制量兩部分,地址碼用來選址,即接通需要控制的電路,確定控制的種類;控制量決定該調(diào)整的類別(如對比度、亮度等)及需要調(diào)整的量。這樣,各控制電路雖然掛在同一條總線上,卻彼此獨(dú)立,互不相關(guān)。

            I2C總線在傳送數(shù)據(jù)過程*有三種類型信號(hào), 它們分別是:開始信號(hào)、結(jié)束信號(hào)和應(yīng)答信號(hào)。

            開始信號(hào):SCL為高電平時(shí),SDA由高電平向低電平跳變,開始傳送數(shù)據(jù)。

            結(jié)束信號(hào):SCL為高電平時(shí),SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。

            應(yīng)答信號(hào):接收數(shù)據(jù)的IC在接收到8bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的IC發(fā)出特定的低電平脈沖,表示已收到數(shù)據(jù)。CPU向受控單元發(fā)出一個(gè)信號(hào)后,等待受控單元發(fā)出一個(gè)應(yīng)答信號(hào),CPU接收到應(yīng)答信號(hào)后,根據(jù)實(shí)際情況作出是否繼續(xù)傳遞信號(hào)的判斷。若未收到應(yīng)答信號(hào),由判斷為受控單元出現(xiàn)故障。

            這些信號(hào)中,起始信號(hào)是必需的,結(jié)束信號(hào)和應(yīng)答信號(hào),都可以不要。

            目前有很多半導(dǎo)體集成電路上都集成了I2C接口。帶有I2C接口的單片機(jī)有:CYGNAL的 C8051F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。很多外圍器件如存儲(chǔ)器、監(jiān)控芯片等也提供I2C接口

            I2C 總線是一種用于IC器件之間連接的雙向二線制總線,所謂總線它上面可以掛多個(gè)器件,并且通過兩根線連接,占用空間非常的小,總線的長度可長達(dá)25英尺,并且能夠以10Kbps的最大傳輸速率支持4個(gè)組件。它的另一優(yōu)點(diǎn)是多主控,只要能夠進(jìn)行接收和發(fā)送的設(shè)備都可以成為主控制器,當(dāng)然多個(gè)主控不能同一時(shí)間 工作。

            I2C總線有兩根信號(hào)線,一根為SDA(數(shù)據(jù)線),一根為SCL(時(shí)鐘線)。任何時(shí)候時(shí)鐘信號(hào)都是由主控器件產(chǎn)生。

            I2C總線操作

            I2C規(guī)程運(yùn)用主/從雙向通訊。器件發(fā)送數(shù)據(jù)到總線上,則定義為發(fā)送器,器件接收數(shù)據(jù)則定義為接收器。主器件和從器件都可以工作于接收和發(fā)送狀態(tài)。 總線必須由主器件(通常為微控制器)控制,主器件產(chǎn)生串行時(shí)鐘(SCL)控制總線的傳輸方向,并產(chǎn)生起始和停止條件。SDA線上的數(shù)據(jù)狀態(tài)僅在SCL為低電平的期間才能改變,SCL為高電平的期間,SDA狀態(tài)的改變被用來表示起始和停止條件。

            控制字節(jié)

            在起始條件之后,必須是器件的控制字節(jié),其中高四位為器件類型識(shí)別符(不同的芯片類型有不同的定義,EEPROM一般應(yīng)為1010),接著三位為片選,最后一位為讀寫位,當(dāng)為1時(shí)為讀操作,為0時(shí)為寫操作。

            寫操作

            寫操作分為字節(jié)寫和頁面寫兩種操作,對于頁面寫根據(jù)芯片的一次裝載的字節(jié)不同有所不同。

            讀操作

            讀操作有三種基本操作:當(dāng)前地址讀、隨機(jī)讀和順序讀。圖4給出的是順序讀的時(shí)序圖。應(yīng)當(dāng)注意的是:最后一個(gè)讀操作的第9個(gè)時(shí)鐘周期不是“不關(guān)心”。為了結(jié)束讀操作,主機(jī)必須在第9個(gè)周期間發(fā)出停止條件或者在第9個(gè)時(shí)鐘周期內(nèi)保持SDA為高電平、然后發(fā)出停止條件。

            I2C總線應(yīng)用

            目前有很多半導(dǎo)體集成電路上都集成了I2C接口。帶有I2C接口的單片機(jī)有:CYGNAL的 C8051F0XX系列,三星的S3C24XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。很多外圍器件如存儲(chǔ)器、監(jiān)控芯片等也提供I2C接口。

            舉常I2C器件/I2C Device

            1、存儲(chǔ)器類: ATMEL公司的AT24CXX系列EEPROM;

            2、I2C總線8位并行IO口擴(kuò)展芯片PCF8574/JLC1562;

            3、I2C接口實(shí)時(shí)時(shí)鐘芯片DS1307/PCF8563/SD2000D/M41T80/ME901/ISL1208/;

            4、I2C數(shù)據(jù)采集ADC芯片MCP3221(12bitADC)/ADS1100(16bitADC)/ADS1112(16bitADC)/MAX1238(12bitADC)/MAX1239(12bitADC);

            5、I2C接口數(shù)模轉(zhuǎn)換DAC芯片DAC5574(8bitDAC)/DAC6573(10bitDAC)/DAC8571(16bitDAC)/;

            6、I2C接口溫度傳感器TMP101/TMP275/DS1621/MAX6625

            USB轉(zhuǎn)I2C專用芯片:USB2I2C

            USB2I2C是一個(gè)USB總線轉(zhuǎn)I2C總線I2C/IIC/TWI/SMBUS的接口芯片,通過USB2I2C芯片可以非常方便地實(shí)現(xiàn)PC機(jī)USB總線和下位機(jī)端I2C接口(即IIC或TWI總線:SCL 線、SDA 線)之間的通信。

            USB2I2C芯片上位機(jī)PC端提供簡單易用的USBIOX.DLL動(dòng)態(tài)庫調(diào)用,可以方便地被VB,VC,Delphi,Labview,BCB等上位機(jī)開發(fā)工具調(diào)用。相關(guān)例程在USBIO公司網(wǎng)站可以找到。

            USB2I2C功能特點(diǎn):

            ●全速USB設(shè)備接口,兼容USB V2.0。

            ●外圍元件簡單,只需1個(gè)12M晶體和2個(gè)電容。

            ●低成本,可以通過I2C總線直接實(shí)現(xiàn)上位機(jī)與下位機(jī)之間的連接,無需輔助MCU。

            ●上位機(jī)軟件能夠?qū)崿F(xiàn)靈活實(shí)現(xiàn)I2C/IIC/TWI總線協(xié)議的各種操作。

            ●作為I2C總線Host/Master 主機(jī)端。

            ●I2C接口提供SCL和SDA信號(hào)線,支持SCL時(shí)鐘4種不同傳輸速度:100KHz/400KHz/750KHz。

            ●采用SSOP-20小型封裝。



          關(guān)鍵詞: I2C總線

          評論


          相關(guān)推薦

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

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