• yam天空
  • 天空部落
  • 新聞
  • 登入 註冊 網誌隨便逛
  • 加入天空部落
  • 冬至必吃暖心紅豆湯圓

網誌 相簿 影音 PK吧! Honda嬉遊趣
即時新聞 影音新聞 新聞專輯 政治新聞 財經新聞 娛樂新聞 運動新聞 兩岸新聞 科技新聞
管理介面 發表網誌 發表日記 上傳相片 上傳影音 管理留言
推薦這個部落格: 319

ddy 狡兔三窟之一

技術、攝影、生活的記錄

備忘錄 |部落格 |影片 |好看的照片 |麻幾好友 |留言板
【分享】數位存檔靠不住 17年就永遠消失? | 主頁 | I2C and SMBus framework
April 4, 2005
I2C原理及應用實例以文找文
ddy1280 在天空部落發表於17:47:00 | 硬體技術
鼓勵此網誌: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是否被意外改寫。  



                                      本文來自 
www.mcufan.com   

 


 


 


 


 

留言 (0) | 引用 (0) | 人氣 () | 轉寄
此分類上一篇:【備忘】PLC 常見代碼 | 主頁 | 此分類下一篇:I2C and SMBus framework
引用 (你可以針對此文寫一篇屬於自己的blog/想法,並給作者一個通告)
引用
留言 (0筆) (登入後, 即可開始發表留言)
系統公告
個人檔案
個人圖檔
ID:ddy1280
暱稱:ddy
生日:1975/03/16
地區:桃園縣
  • 訂閱 |
    • 我要訂閱此部落格的
    • 日記
    • 網誌
    • 相簿
  • 好友 |
    • 好友功能
    • 觀看好友列表
    • 觀看人緣列表
  • 人氣 |
  • 簡介 

聯絡我
點下去和我msn線上對談喔

廣告


強力推薦,讓Blog的人氣轉換成現金,鼓勵Blog創作最佳的回饋方式,詳請見使用BloggerAds 為Blog賺取實質收益或點選上方圖片加入喔

另一個Blog廣告的選擇BlogAD,欲加入請按這裡喔
ddy1280的近期文章
  • 近況
  • 改造VC6的醜字體
  • Perl 小技巧整理
  • 做你朋友的好朋友<...
  • 小小攝影師--處女作
Tags Cloud
好時光貼曆
基督徒串聯
文章分類
  • 技術 (6)
    • 程式技術 (23)
    • 電腦應用 (8)
    • 軟體相關 (17)
    • 硬體技術 (3)
    • Linux 相關 (30)
    • 網路應用 (20)
  • 小品 (3)
    • 好玩的 (10)
    • 小品文摘 (8)
    • 笑話 (17)
  • 生活 (10)
    • 心情點滴 (78)
    • 生活資訊 (16)
    • 生活隨筆 (14)
    • 心得分享 (15)
    • 不平則鳴 (11)
    • 謹民學校生活 (10)
    • 健康資訊 (3)
    • 童言童語 (16)
    • 生活雜記 (3)
    • 謹民成長記錄 (108)
  • 攝影 (1)
    • 攝影心得 (11)
  • 憶當年 (3)
    • 懷舊系列 (2)
    • 電腦講古 (0)
    • 數饅頭的日子 (5)
  • 雜七雜八 (1)
    • 其它 (12)
ddy1280的最新的回應
  • gommugdfnswpy:
    免費?上A片...
  • dsjodj:
    免費?上A片...
  • euvhlwpibfwo:
    微風成人...
  • mxplih:
    微風成人...
  • cfuopwxcdkoa:
    視訊辣妹秀舞|&...
搜尋Blog
搜尋:
時光機器

謹民出生第 天

人氣指數
當日人次:
累積人次:
誰來我家
線上人數
  • online
我推薦誰
誰推薦我
隨機文章
著作權條款
  • Creative Commons License
    本部落格採用創用CC 2.5 TW授權條款釋出.重製,散布,展示本站內容,請遵守 姓名標示-非商業性-禁止改作
公益串聯
到台湾玩不带走一张发票
用愛彌補~羅慧夫顱顏基金會
我的書籤(選單)
攝影相關
台灣攝影聯盟
數位影像坊
DCView 數位視野
數位蘋果網
DC543 數位攝影家族
formosa 山戀手記
橘子妹攝影作品
國攝天香
jimmy 攝影集
攝影家手扎
英語教學
楊官教英文
ETC 台灣英語網
詩聲樂園
中央大學英語學習資料庫
SINO
發音與拼音學習輔助區
LiveABC 圖解字典
Star fall 英文學習網站
小笨霖英語筆記本
英文學習咖啡小站
翻譯網
程式設計
Perl中文線上說明
Understand for C++(linux driver source code)
Delphi.KTOP
RFC Sourcebook
PHP5網管實驗室
SHELL SCRIPTING 教學與心得
Win32 Assembly
線上程式碼轉 html
Win32 Scripting
Perl 學習手扎
Perl 資源
Internet RFC/STD/FYI/BCP Archives
Linux commands source code
各類程式語言範例
Free Programming resources
Python 教學文件
OPEN SOURCE 共享資源
Internet FAQ Archives
Cobbler 全文檢索系統
雪龍KTOP 線上查詢
自動控制
PLC Flash動畫教學網站
OMRON各型PLC RS232C 接線圖
Linux 相關
摩托學園討論區
Ubuntu正體中文站
鳥哥的 Linux 私房菜
rpm find
Ubuntu正體中文站
Kurobox/Linkstation 資訊網
Steven's Linux Note
LOOP -- LinuxHall
永遠的UNIX
OpenBSD Taiwan
LINUX MAN PAGES ONLINE
Linux MAN Pages
weithenn 的BSD筆記
自由軟體
開放原碼軟體社群討論區
自由軟體鑄造場
sourceforge.net
中山大學FTP
SED 手冊
GnuWin32 Packages
生活相關
新式身份證申請相關
現代車網
摩比市場
Every8D簡訊
宗教教育
行政院消費者保護委員會
兒童醫學網
親親寶貝講故事
高速公路即時路況
AutoTH 汽車技術網
吃出好胃道
其它
Linkist 聯絡家
Mobile01
無蝦米web 版
每日天文網站
傷心咖啡店(考試討論)
findbook
站內推薦
謹民成長大記事
謹民成長記錄(網誌)
原來教養是愛這麼回事
站外推薦
李維的Blog
fjumonkey的地盤
踢爆!女記者私密生活大公開
六年級大會堂
PythonTW::台灣Python 技術教學網站
好友部落格
帥氣飛行員濟群的blog
code6421 blog
code6421 風雪之閣
餅老闆的人像館
企鵝寶寶--晴晴
Jimmy的部落格
宗民 Ming's Blog
水野靈--恩典歲月
怕失憶筆記 by bestlong
小藍的blog
每月文章彙集
  • Mar 2009(1)
  • Nov 2008(3)
  • Oct 2008(5)
  • Sep 2008(1)
  • Aug 2008(8)
  • Jul 2008(10)
  • Jun 2008(4)
  • May 2008(6)
  • Apr 2008(6)
  • Mar 2008(9)
  • Feb 2008(6)
  • Jan 2008(11)
  • Dec 2007(13)
  • Nov 2007(16)
  • Oct 2007(7)
  • Sep 2007(1)
  • Aug 2007(10)
  • Jul 2007(5)
  • May 2007(6)
  • Apr 2007(13)
  • Mar 2007(10)
  • Feb 2007(2)
  • Jan 2007(4)
  • Dec 2006(14)
  • Nov 2006(5)
  • Oct 2006(11)
  • Sep 2006(8)
  • Aug 2006(10)
  • Jul 2006(15)
  • Jun 2006(16)
  • May 2006(14)
  • Apr 2006(15)
  • Mar 2006(17)
  • Feb 2006(9)
  • Jan 2006(20)
  • Dec 2005(18)
  • Nov 2005(18)
  • Oct 2005(30)
  • Sep 2005(21)
  • May 2005(5)
  • Apr 2005(22)
  • Mar 2005(17)
RSS 訂閱
RSS2
ATOM
贊助商
CC授權
其它資訊
本部落所刊登之內容,皆由作者個人所提供,不代表 yam 天空 本身立場。
POWERED BY
POWERED BY 天空部落
會員登入│免費註冊