《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 淺談I2C總線工作原理與應用
淺談I2C總線工作原理與應用
摘要: I2C 總線實際上已經成為一個國際標準在超過100 種不同的IC 上實現,而且得到超過50 家公司的許可,正因為其簡單和應用廣泛,因此其功能也越來不滿足人們的要求,其速度也從原來的100Kbit/S,增加了快速模式,其速度達400Kbit/S,再后來也增加了高速模式,其速度更達3.4Mbit/S。
Abstract:
Key words :

一.簡介

  I2C(Inter-Integrated Circuit)總線是一種由Philips公司開發的兩線式串行總線,用于連接微控制器及其外圍設備。I2C總線產生于在80年代,最初為音頻和視頻設備開發。由于其簡單性,如今方泛用于微控制器與各種功能模塊的連接,可以說是學單片機的人,入門之后,必定要涉及到的。

  I2C 總線實際上已經成為一個國際標準在超過100 種不同的IC 上實現,而且得到超過50 家公司的許可,正因為其簡單和應用廣泛,因此其功能也越來不滿足人們的要求,其速度也從原來的100Kbit/S,增加了快速模式,其速度達400Kbit/S,再后來也增加了高速模式,其速度更達3.4Mbit/S。

  二.功能和特點

  I2C總線是一種用于IC器件之間連接的雙向二線制總線,所謂總線它上面可以掛多少器件,并且通個兩根線連接,占用空間非常的小,總線的長度可高達25英尺,并且能夠以10Kbps的最大傳輸速率支持40個組件。它的另一優點是多主控,只要能夠進行接收和發送的設備都可以成為主控制器,當然多個主控不能同一時間工作。

  I2C總線有兩根信號線,一根為SDA(數據線),一根為SCL(時鐘線)。任何時候時鐘信號都是由主控器件產生。

  I2C總線在傳送數據的過程中,主要有三種控制信號:起始信號,結不信號,應答信號

  起始信號:當SCL為高電平時,SDA由高電平轉為低電平時,開始傳送數據

  結束信號:當SCL為高電平時,SDA由低電平轉為高電平時,結束數據傳送

  應答信號:接收數據的器件在接收到8bit數據后,向發送數據的器件發出低電平信號,表示已收到數據。這個信號可以是主控器件發出,也可以是從動器件發出。總之由接收數據的器件發出。

  這些信號中,起始信號是必需的,結束信號和應答信號,都可以不要。

  三.基本操作

  下面我們以ATMEL公司的AT24C02來介紹I2C的基本操作

  AT24C02是美國ATMEL公司的低功耗CMOS串行EEPROM,它是內含256×8bit存儲空間,具有工作電壓寬(2.5~5.5V)、擦寫次數多(大于10000次)、寫入速度快(小于10ms)等特點。他在系統中始終為從動器件。

  對AT24C02的操作主要有:字節讀,字節寫,頁面讀,頁面寫

  首先發送起始信號,如下圖,起始信號后必須是控制字




    控制字格式如下,其中高四位為器件類型識別符(不同的芯片類型有不同的定義,EEPROM一般應為1010),接著三位為片選,也就是三個地址位,最后一位為讀寫控制位,當為1(Input)時為讀操作,為0(Output)時為寫操作。




  控制字后就是相應的操作,讀或寫,一定不要結束,因為這個操作還沒有完成,如果結束就等于放棄操作。

  先來看寫操作,寫操作分為字節寫和頁面寫兩種操作,對于頁面寫根據芯片的一次裝載的字節不同有所不同,AT24C02為8字節,每寫一個字節后,地址自動加1。關于頁面寫的地址、應答和數據傳送的時序參見圖3,字節寫可以看成是只有一個字節的頁面寫,也就是寫一個數據后停止。注意:寫一次需要一定時間,一般為10ms,要等侍這個操作完成。時序如下圖:

  說明:對于AT24C02,在控制字后還必須寫入地址,這個地址是以后讀寫的起始地址。



  讀操作有三種基本操作:當前地址讀、隨機讀和順序讀。三種操作方法類似,只是讀的數據個數不同,可連續讀8個字節,圖4給出的是順序讀的時序圖,圖中共讀了四個數據,需要注意的是當前的地址,如果不是想要的,可以用寫操作,重新寫入地址。非常重要的是,每讀一個數據后,必須置低SDA,作為應答,否則,只能讀一個數據,后面的數據,因為收到不應答信號,AT24C02就會認為出錯,停止操作。特別提醒的是,當SCL為低電平時,數據是可變的,因些只有SCL為高電平時,才能讀數。

    四.例程序(51匯編,測試單片機為AT89C51,12M晶振)

  電路連接如圖5,其中A0,A1,A2為地址線,本例中全部接地,因此全部為0。由于SCL和SDA為漏極開路輸出,所以在使用時,需加上拉電阻

  五 . 結束語

  在I2C總線的應用中應注意的事項總結為以下幾點 :

  1) 嚴格按照時序圖的要求進行操作,

  2) 若與口線上帶內部上拉電阻的單片機接口連接,可以不外加上拉電阻。

  3) 程序中為配合相應的傳輸速率,在對口線操作的指令后可用NOP指令加一定的延時。

  4) 為了減少意外的干擾信號將EEPROM內的數據改寫可用外部寫保護引腳(如果有),或者在EEPROM內部沒有用的空間寫入標志字,每次上電時或復位時做一次檢測,判斷EEPROM是否被意外改寫。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 99久久精品国产一区二区成人 | 香港三日本三级人妇三级99| 天天躁夜夜躁狠狠躁2021| 久久香蕉国产线看观看亚洲片| 波多野结衣痴汉| 又黄又爽又色的视频| 国产欧美日韩另类一区乌克兰| 在线果冻传媒星空无限传媒| 中文字幕人妻无码一夲道| 最新在线中文字幕| 亚洲欧美日韩久久精品第一区| 精品国产www| 国产亚洲婷婷香蕉久久精品| 亚洲乱码一二三四区乱码| 欧美人与物videos另类xxxxx| 四虎影视久久久免费观看| 国产真实乱xxxav| 国产麻豆媒一区一区二区三区| 中国内地毛片免费高清| 日韩精品无码一区二区三区| 亚洲欧美日韩中文在线| 精品人妻系列无码人妻漫画| 国产亚洲成在线播放va| 日本xxxⅹ色视频在线观看网站| 在线精品无码字幕无码av| 下面一进一出好爽视频| 日本高清va在线播放| 亚洲五月天综合| 欧美色图在线观看| 免费人妻无码不卡中文字幕18禁 | 国产特级毛片AAAAAA视频| 中文字幕色婷婷在线视频| 欧美a视频在线观看| 亚洲男女一区二区三区| 粗大黑人巨精大战欧美成人| 国产三级国产精品| 黑料不打烊最新地址| 好湿好大硬得深一点动态图 | 美团外卖猛男男同38分钟| 国产免费变态视频网址网站| 欧美交换性一区二区三区|