男女午夜激情_www.天堂av.com_亚洲综合小说区_亚洲欧美自拍视频_成年精品_久久www免费人成—看片_激情综合五月天_久久高潮视频_最新国产成人ab网站_国产精品卡一

機電之家資源網
單片機首頁|單片機基礎|單片機應用|單片機開發|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發
培訓信息
贊助商
I2C總線原理及應用實例
I2C總線原理及應用實例
 更新時間:2009-10-26 15:17:07  點擊數:0
【字體: 字體顏色
I2C(Inter-Integrated Circuit)總線是一種由PHILIPS公司開發的兩線式串行總線,用于連接微控制器及其外圍設備。I2C總線產生于在80年代,最初為音頻和視頻設備開發,如今主要在服務器管理中使用,其中包括單個組件狀態的通信。例如管理員可對各個組件進行查詢,以管理系統的配置或掌握組件的功能狀態,如電源和系統風扇。可隨時監控內存、硬盤、網絡、系統溫度等多個參數,增加了系統的安全性,方便了管理。
  1  I2C總線特點
  I2C總線最主要的優點是其簡單性和有效性。由于接口直接在組件之上,因此I2C總線占用的空間非常小,減少了電路板的空間和芯片管腳的數量,降低了互聯成本。總線的長度可高達25英尺,并且能夠以10Kbps的最大傳輸速率支持40個組件。I2C總線的另一個優點是,它支持多主控(multimastering), 其中任何能夠進行發送和接收的設備都可以成為主總線。一個主控能夠控制信號的傳輸和時鐘頻率。當然,在任何時間點上只能有一個主控。
  2  I2C總線工作原理
  2.1 總線的構成及信號類型

  I2C總線是由數據線SDA和時鐘SCL構成的串行總線,可發送和接收數據。在CPU與被控IC之間、IC與IC之間進行雙向傳送,最高傳送速率100kbps。各種被控制電路均并聯在這條總線上,但就像電話機一樣只有撥通各自的號碼才能工作,所以每個電路和模塊都有唯一的地址,在信息的傳輸過程中,I2C總線上并接的每一模塊電路既是主控器(或被控器),又是發送器(或接收器),這取決于它所要完成的功能。CPU發出的控制信號分為地址碼和控制量兩部分,地址碼用來選址,即接通需要控制的電路,確定控制的種類;控制量決定該調整的類別(如對比度、亮度等)及需要調整的量。這樣,各控制電路雖然掛在同一條總線上,卻彼此獨立,互不相關。
  I2C總線在傳送數據過程中共有三種類型信號, 它們分別是:開始信號、結束信號和應答信號。
  開始信號:SCL為高電平時,SDA由高電平向低電平跳變,開始傳送數據。
  結束信號:SCL為低電平時,SDA由低電平向高電平跳變,結束傳送數據。
  應答信號:接收數據的IC在接收到8bit數據后,向發送數據的IC發出特定的低電平脈沖,表示已收到數據。CPU向受控單元發出一個信號后,等待受控單元發出一個應答信號,CPU接收到應答信號后,根據實際情況作出是否繼續傳遞信號的判斷。若未收到應答信號,由判斷為受控單元出現故障。
  目前有很多半導體集成電路上都集成了I2C接口。帶有I2C接口的單片機有:CYGNAL的 C8051F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。很多外圍器件如存儲器、監控芯片等也提供I2C接口。
  3  總線基本操作
  I2C規程運用主/從雙向通訊。器件發送數據到總線上,則定義為發送器,器件接收數據則定義為接收器。主器件和從器件都可以工作于接收和發送狀態。 總線必須由主器件(通常為微控制器)控制,主器件產生串行時鐘(SCL)控制總線的傳輸方向,并產生起始和停止條件。SDA線上的數據狀態僅在SCL為低電平的期間才能改變,SCL為高電平的期間,SDA狀態的改變被用來表示起始和停止條件。參見圖1。
 

圖1 串行總線上的數據傳送順序


  3.1 控制字節

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

圖2 控制字節配置


  3.2 寫操作

  寫操作分為字節寫和頁面寫兩種操作,對于頁面寫根據芯片的一次裝載的字節不同有所不同。關于頁面寫的地址、應答和數據傳送的時序參見圖3。  

圖3 頁面寫

3.3 讀操作
  讀操作有三種基本操作:當前地址讀、隨機讀和順序讀。圖4給出的是順序讀的時序圖。應當注意的是:最后一個讀操作的第9個時鐘周期不是“不關心”。為了結束讀操作,主機必須在第9個周期間發出停止條件或者在第9個時鐘周期內保持SDA為高電平、然后發出停止條件。

圖4 順序讀

  4  實例:X24C04與MCS-51單片機軟硬件的實現
  X24C04是XICOR公司的CMOS 4096位串行EEPROM,內部組織成512×8位。16字節頁面寫。與MCS-51單片機接口如圖5所示。由于SDA是漏極開路輸出,且可以與任何數目的漏極開路或集電極 開路輸出“線或”(wire-Ored)連接。上拉電阻的選擇可參考X24C04的數據手冊。下面是通過I2C接口對X24C04進行單字節寫操作的例程。流程圖及源程序如下:  

圖5 X24C04與51單片機接口

;名稱:BSENT
;描述:寫字節
;功能:寫一個字節
;調用程序:無
;輸入參數:A
;輸出參數:無
BSEND: MOV R2,#08H ;1字節8位
SENDA: CLR P3.2    ;
RLC A              ;左移一位
MOV P3.3,C         ;寫一位
SETB P3.2
DJNZ R2,SENDA      ;寫完8個字節?
CLR P3.2           ;應答信號
SETB P3.3
SETB P3.2
RET

圖6 流程圖

  5  結束語
  在I2C總線的應用中應注意的事項總結為以下幾點 :
  1) 嚴格按照時序圖的要求進行操作,
  2) 若與口線上帶內部上拉電阻的單片機接口連接,可以不外加上拉電阻。
  3) 程序中為配合相應的傳輸速率,在對口線操作的指令后可用NOP指令加一定的延時。
  4) 為了減少意外的干擾信號將EEPROM內的數據改寫可用外部寫保護引腳(如果有),或者在EEPROM內部沒有用的空間寫入標志字,每次上電時或復位時做一次檢測,判斷EEPROM是否被意外改寫。

 

  • 上一篇: 單片機破解的常用方法及應對策略
  • 下一篇: 沒有了
  • 發表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網友評論:(只顯示最新5條。)
    關于我們 | 聯系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發消息66821730(技術支持)點擊這里給我發消息66821730(廣告投放) 點擊這里給我發消息41031197(編輯) 點擊這里給我發消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業自行提供,該企業負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(濱江)機電一體化學會
    中國行業電子商務100強網站

    網站經營許可證:浙B2-20080178-1
    主站蜘蛛池模板: 乐昌市| 东兴市| 黄陵县| 温泉县| 芮城县| 江油市| 河南省| 清苑县| 清镇市| 泾阳县| 肇东市| 大方县| 肃南| 鹰潭市| 内江市| 安多县| 永清县| 奉贤区| 徐汇区| 裕民县| 凌云县| 扬州市| 峨边| 甘南县| 界首市| 遂昌县| 东港市| 灵武市| 惠东县| 临海市| 黄冈市| 襄垣县| 济阳县| 秀山| 连州市| 颍上县| 洛川县| 德庆县| 文安县| 高青县| 湟中县|