日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
I2C總線原理及應(yīng)用實(shí)例
I2C總線原理及應(yīng)用實(shí)例
 更新時(shí)間:2008-7-26 19:54:59  點(diǎn)擊數(shù):3
【字體: 字體顏色
i2c(inter-integrated circuit)總線是一種由philips公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。i2c總線產(chǎn)生于在80年代,最初為音頻和視頻設(shè)備開發(fā),如今主要在服務(wù)器管理中使用,其中包括單個(gè)組件狀態(tài)的通信。例如管理員可對(duì)各個(gè)組件進(jìn)行查詢,以管理系統(tǒng)的配置或掌握組件的功能狀態(tài),如電源和系統(tǒng)風(fēng)扇?呻S時(shí)監(jiān)控內(nèi)存、硬盤、網(wǎng)絡(luò)、系統(tǒng)溫度等多個(gè)參數(shù),增加了系統(tǒng)的安全性,方便了管理。
  1  i2c總線特點(diǎn)
  i2c總線最主要的優(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è)主控。
  2  i2c總線工作原理
  2.1 總線的構(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)整的類別(如對(duì)比度、亮度等)及需要調(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)故障。
  目前有很多半導(dǎo)體集成電路上都集成了i2c接口。帶有i2c接口的單片機(jī)有:cygnal的 c8051f0xx系列,philipsp87lpc7xx系列,microchip的pic16c6xx系列等。很多外圍器件如存儲(chǔ)器、監(jiān)控芯片等也提供i2c接口。
  3  總線基本操作
  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)的改變被用來表示起始和停止條件。參見圖1。  

                                                          
                             圖1 串行總線上的數(shù)據(jù)傳送順序
 

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

                                      
                                                 

                                                圖2 控制字節(jié)配置
 

  3.2 寫操作
  寫操作分為字節(jié)寫和頁面寫兩種操作,對(duì)于頁面寫根據(jù)芯片的一次裝載的字節(jié)不同有所不同。關(guān)于頁面寫的地址、應(yīng)答和數(shù)據(jù)傳送的時(shí)序參見圖3。   


                                              圖3 頁面寫
 
3.3 讀操作
  讀操作有三種基本操作:當(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ā)出停止條件。


                                           圖4 順序讀
 
  4  實(shí)例:x24c04與mcs-51單片機(jī)軟硬件的實(shí)現(xiàn)
  x24c04是xicor公司的cmos 4096位串行eeprom,內(nèi)部組織成512×8位。16字節(jié)頁面寫。與mcs-51單片機(jī)接口如圖5所示。由于sda是漏極開路輸出,且可以與任何數(shù)目的漏極開路或集電極 開路輸出“線或”(wire-ored)連接。上拉電阻的選擇可參考x24c04的數(shù)據(jù)手冊(cè)。下面是通過i2c接口對(duì)x24c04進(jìn)行單字節(jié)寫操作的例程。流程圖及源程序如下:   

                                       
                                            圖5 x24c04與51單片機(jī)接口
 
;名稱:bsent
;描述:寫字節(jié)
;功能:寫一個(gè)字節(jié)
;調(diào)用程序:無
;輸入?yún)?shù):a
;輸出參數(shù):無
bsend: MOV r2,#08h ;1字節(jié)8位
senda: clr p3.2    ;
rlc a              ;左移一位
MOV p3.3,c         ;寫一位
setb p3.2
djnz r2,senda      ;寫完8個(gè)字節(jié)?
clr p3.2           ;應(yīng)答信號(hào)
setb p3.3
setb p3.2
ret 

                                               
                                                        圖6 流程圖
 
  5  結(jié)束語
  在i2c總線的應(yīng)用中應(yīng)注意的事項(xiàng)總結(jié)為以下幾點(diǎn) :
  1) 嚴(yán)格按照時(shí)序圖的要求進(jìn)行操作,
  2) 若與口線上帶內(nèi)部上拉電阻的單片機(jī)接口連接,可以不外加上拉電阻。
  3) 程序中為配合相應(yīng)的傳輸速率,在對(duì)口線操作的指令后可用nop指令加一定的延時(shí)。
  4) 為了減少意外的干擾信號(hào)將eeprom內(nèi)的數(shù)據(jù)改寫可用外部寫保護(hù)引腳(如果有),或者在eeprom內(nèi)部沒有用的空間寫入標(biāo)志字,每次上電時(shí)或復(fù)位時(shí)做一次檢測,判斷eeprom是否被意外改寫。

  • 上一篇: RAM電路的簡單介紹
  • 下一篇: 匯編程序設(shè)計(jì)之偽指令
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

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

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1