国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

I2C總線協(xié)議及其應(yīng)用

發(fā)布時間:2010-6-9 16:04    發(fā)布者:vinda
關(guān)鍵詞: I2C , 總線
I2C總線協(xié)議及其應(yīng)用

一、I2C總線介紹:

由于大規(guī)模集成電路技術(shù)的發(fā)展,在單個芯片集成CPU以及組成一個單獨工作系統(tǒng)所必須的ROM、RAM、I/O端口、A/D、D/A等外圍電路和已經(jīng)實現(xiàn),這就是常說的單片機或微控制器。目前,世界上許多公司生產(chǎn)單片機,品種很多:包括各種字長的CPU,各種容量和品種的ROM、RAM,以及功能各異的I/O等等。但是,單片機品種規(guī)格有限,所以只能選用某種單片機再進行擴展。擴展的方法有兩種:一種是并行總線,另一種是串行總線。由于串行總線連線少,結(jié)構(gòu)簡單,往往不用專用的母板和插座而直接用導(dǎo)線連接各個設(shè)備即可。因此,采用串行總線大大簡化了系統(tǒng)硬件設(shè)計。PHILIPS公司早在十幾年就前推出了I2C串行總線,它是具備多主機系統(tǒng)所需的包括裁決和高低速設(shè)備同步等功能的高性能串行總線。

1. I2C總線硬件結(jié)構(gòu)和術(shù)語

I2C串行總線有兩根信號線:一根雙向的數(shù)據(jù)線SDA;另一根是時鐘線SCL。所有接到I2C總線上的設(shè)備的串行數(shù)據(jù)都接到總線的SDA線,各設(shè)備的時鐘線SCL接到總線的SCL。典型的I2C總線結(jié)構(gòu)如圖1。


圖1:PC總線結(jié)構(gòu)

為了避免總線信號的混亂,要求各設(shè)備連接到總線的輸出端必須是開漏輸出或集電極開路輸出的結(jié)構(gòu)。設(shè)備與總線的接口電路如圖2所示。設(shè)備上的串行數(shù)據(jù)線SDA接口電路應(yīng)該是雙向的,輸出電路用于向總線上發(fā)數(shù)據(jù),輸入電路用于接收總線上的數(shù)據(jù)。串行時鐘線也應(yīng)是雙向的,作為控制總線數(shù)據(jù)傳送的主機要通過SCL輸出電路發(fā)送時鐘信號,同時要檢測總線上SCL上的電平以決定什么時候發(fā)下一個時鐘脈沖電平;作為接受主機命令的從機,要按總線上的SCL的信號發(fā)出或接收SDA上的信號,也可以向SCL線發(fā)出低電平信號以延長總線時鐘信號周期。總線空閑時,因各設(shè)備都是開漏輸出,上拉電阻RP使ADA和SCL線都保持高電平。任一設(shè)備輸出的低電平都使相應(yīng)的總線信號線變低,也就是說各設(shè)備的SDA是“與”關(guān)系,SCL也是“與”關(guān)系。


圖2:設(shè)備和PC總線接口電路

總線對設(shè)備接口電路的制造工藝和電平都沒有特殊的要求(NMOS、CMOS都可以兼容)。數(shù)據(jù)傳送率按I2C總線可高達每秒十萬位,高速方式可高達每秒四十萬位。總線上允許連接的設(shè)備數(shù)以總線上的電容量不超過400pF為限。

總線的運行(數(shù)據(jù)傳輸)由主機控制。所謂主機即啟動數(shù)據(jù)的傳送(發(fā)出啟動信號),發(fā)出時鐘信號,傳送結(jié)束時發(fā)出停止信號的設(shè)備,通常主機是微處理器。被主機尋訪的設(shè)備都稱為從機。為了進行通訊,每個接到I2C總線的設(shè)備都有一個唯一的地址,以便于主機尋訪。主機和從機的數(shù)據(jù)傳送,可以由主機發(fā)送數(shù)據(jù)到從機,也可以是從機發(fā)到主機。凡是發(fā)送數(shù)據(jù)到總線的設(shè)備稱為發(fā)送器,從總線上接收數(shù)據(jù)的設(shè)備被稱為接受器。

I2C總線上允許連接多個微處理器及各種外圍設(shè)備,如存儲器、LEDLCD驅(qū)動器、A/D及D/A轉(zhuǎn)換器等。為了保證數(shù)據(jù)可靠地傳送,任一時刻總線只能有由某一臺主機控制一個微處理器應(yīng)該在總線空閑時發(fā)啟動數(shù)據(jù),為了妥善解決多臺微處理器同時發(fā)啟數(shù)據(jù)傳送(總線控制權(quán))的沖突,并決定由哪一臺微處理器控制總線。I2C總線允許連接不同傳送速率的設(shè)備,多臺設(shè)備之間時鐘信號的同步過程稱為同步化。

2. I2C數(shù)據(jù)傳輸

在I2C總線傳輸過程中,將兩種特定的情況定義為開始和停止條件(如圖3):當SCL保持“高”,SDA由“高”變?yōu)椤暗汀睍r為開始條件;SCL保持“高”,SDA由“低”變?yōu)椤案摺笔菫橥V箺l件。開始和停止條件由主控器產(chǎn)生。使用硬件接口可以很容易地檢測開始和停止條件,沒有這種接口的微機必須以每時鐘周期至少兩次對SDA取樣以使檢測這種變化。


圖3:總線開始/停止

SDA線上的數(shù)據(jù)在時鐘“高”期間必須是穩(wěn)定的,只有當SCL線上的時鐘信號為低時,數(shù)據(jù)線上的“高”或“低”狀態(tài)才可以改變。輸出到SDA線上的每個字節(jié)必須是8位,每次傳輸?shù)淖止?jié)不受限制,每個字節(jié)必須有一個應(yīng)答為ACK。如果一接收器件在完成其他功能(如一內(nèi)部中斷)前不能接收另一數(shù)據(jù)的完整字節(jié)時,它可以保持時鐘線SCL為低,以促使發(fā)送器進入等待狀態(tài),當接收器械準備好接受數(shù)據(jù)的其它字節(jié)并釋放時鐘SCL后,數(shù)據(jù)傳輸繼續(xù)進行。I2C數(shù)據(jù)總線傳送時序如圖4。


圖4:總線數(shù)據(jù)傳送順序

數(shù)據(jù)傳送具有應(yīng)答是必須的。與應(yīng)答對應(yīng)的時鐘脈沖由主控器產(chǎn)生,發(fā)送器在應(yīng)答期間必須下拉SDA線。當尋址的被控器件不能應(yīng)答時,數(shù)據(jù)保持為高,接著主控器產(chǎn)生停止條件終止傳輸。在傳輸?shù)倪^程中,當用到主控接收器的情況下,主控接收器必須發(fā)出一數(shù)據(jù)結(jié)束信號給被控發(fā)送器,被控發(fā)送器必須釋放數(shù)據(jù)線,以允許主控器產(chǎn)生停止條件。合法的數(shù)據(jù)傳輸格式如下:

超始位被控接收器地址R/W應(yīng)答位數(shù)據(jù)應(yīng)答位、、、、停止位


I2C總線在開始條件后的首字節(jié)決定哪個被控器將被主控器選擇,例外的是“通用訪問”地址,它可以尋址所有期間。當主控器輸出一地址時,系統(tǒng)中的每一器件都將開始條件后的前七位地址和自己地址比較。如果相同,該器件認為自己被主控器尋址,而作為被控接收器或被控發(fā)送器則取決于R/W位。

二、I2C總線的應(yīng)用

I2C總線是各種總線中使用信號線最少,并具有自動尋址,多主機時鐘同步和仲裁等功能很強的總線。因此,使用I2C設(shè)計計算機系統(tǒng)十分方便、靈活、體積也小,在各類實際應(yīng)用中得到廣泛應(yīng)用。下面舉兩個應(yīng)用示例。

1. 伺服控制系統(tǒng)用I2C擴展LCD顯示

圖5是一個伺服系統(tǒng)的結(jié)構(gòu)圖。用8XC752單片機的PWM輸出經(jīng)放大后驅(qū)動電機,電機的轉(zhuǎn)速有測速機測取并直接送到8XC752片內(nèi)A/D電路。處理后的有關(guān)信息經(jīng)I2C總線送到LCD驅(qū)動芯片PCF8577以驅(qū)動六十四段LCD顯示板。


圖5:伺服系統(tǒng)結(jié)構(gòu)框圖

2. 通用I/O端口作為I2C總線接口

目前,51、96系列的單片機應(yīng)用很廣,但是它們都沒有I2C總線接口,限制了在這些系統(tǒng)中使用具有I2C總線接口的器件。但通過對I2C總線時序的分析知道可以用51單片機的兩根I/O線來實現(xiàn)I2C總線的功能。I2C總線規(guī)定SCL線和SDA線是各設(shè)備對應(yīng)輸出狀態(tài)相“與”的結(jié)果,任一設(shè)備都可以用輸出低電平的方法延長SCL低電平時間,迫使高速設(shè)備進入等待狀態(tài),實現(xiàn)不同速度設(shè)備間的時鐘同步。因此,即使時鐘脈沖的高、低電平時間長短不一,也能實現(xiàn)數(shù)據(jù)的可靠傳送,可以用軟件控制I/O口做I2C接口。下面就是用GMS97C2051DE的通用I/O口作為I2C總線接口由軟件控制實現(xiàn)數(shù)據(jù)傳送的例子,圖6為其連線圖。


圖6:GMS97C2051 擴展EEPROM接線圖
本文地址:http://m.qingdxww.cn/thread-12485-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責;文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕乱码人成乱码在线视频 | 四虎影视4hu4虎成人 | 日本v片免费一区二区三区 日本vr超清在线视频免费 | 99re7在线精品免费视频 | 青青青青久久精品国产一百度 | 国产羞羞网站 | 国产精品久久久久久久久 | 日本视频一区二区三区 | 日韩中文字幕在线观看视频 | 亚洲日韩在线观看 | 国产欧美曰韩一区二区三区 | 亚洲另类天天更新影院在线观看 | 日本在线视频精品 | 亚欧美综合 | 思思久久好好热精品国产 | 自拍视频在线免费观看 | 日本人搞基 | 陈玉莲三级 | 2022国产男人亚洲欧美天堂 | 免费国产99久久久香蕉 | 精品日韩一区 | 亚洲v天堂| 九九九九九热 | 日韩在线黄色 | 天堂在线最新版www中文 | 国产午夜精品理论片在线 | 日本经典影片免费在线看 | 日本不卡三区 | 欧美日韩视频二区三区 | 国产精品资源在线播放 | 大又大又粗又爽女人毛片 | 91久久精品国产一区二区 | 亚洲欧美视频一区二区三区 | 国产一区二区三区不卡免费观看 | 羞羞视频入口 | 成人在线精品视频 | 成人在线天堂 | 国产伦精一区二区三区 | 国产成人在线观看免费网站 | 欧美日韩中文字幕一区二区高清 | 香蕉视频免费播放 |