資料介紹
I2C是由Philips公司發(fā)明的一種串行數(shù)據(jù)通信協(xié)議,僅使用兩根信號(hào)線:SerialClock(簡稱SCL)和SerialData(簡稱 SDA)。I2C是總線結(jié)構(gòu),1個(gè)Master,1個(gè)或多個(gè)Slave,各Slave設(shè)備以7位地址區(qū)分,地址后面再跟1位讀寫位,表示讀(=1)或者寫(=0),所以我們有時(shí)也可看到8位形式的設(shè)備地址,此時(shí)每個(gè)設(shè)備有讀、寫兩個(gè)地址,高7位地址其實(shí)是相同的。 I2C數(shù)據(jù)格式如下:無數(shù)據(jù):SCL=1,SDA=1;開始位(Start):當(dāng)SCL=1時(shí),SDA由1向0跳變;停止位(Stop):當(dāng)SCL=1時(shí),SDA由0向1跳變;數(shù)據(jù)位:當(dāng)SCL由0向1跳變時(shí),由發(fā)送方控制SDA,此時(shí)SDA為有效數(shù)據(jù),不可隨意改變SDA;當(dāng)SCL保持為0時(shí),SDA上的數(shù)據(jù)可隨意改變;地址位:定義同數(shù)據(jù)位,但只由Master發(fā)給Slave;應(yīng)答位(ACK):當(dāng)發(fā)送方傳送完8位時(shí),發(fā)送方釋放SDA,由接收方控制SDA,且SDA=0;否應(yīng)答位(NACK):當(dāng)發(fā)送方傳送完8位時(shí),發(fā)送方釋放SDA,由接收方控制SDA,且SDA=1。當(dāng)數(shù)據(jù)為單字節(jié)傳送時(shí),格式為:開始位,8位地址位(含1位讀寫位),應(yīng)答,8位數(shù)據(jù),應(yīng)答,停止位。當(dāng)數(shù)據(jù)為一串字節(jié)傳送時(shí),格式為:開始位,8位地址位(含1位讀寫位),應(yīng)答,8位數(shù)據(jù),應(yīng)答,8位數(shù)據(jù),應(yīng)答,……,8位數(shù)據(jù),應(yīng)答,停止位。需要注意的是:
1,SCL一直由Master控制,SDA依照數(shù)據(jù)傳送的方向,讀數(shù)據(jù)時(shí)由Slave控制SDA,寫數(shù)據(jù)時(shí)由Master控制SDA。當(dāng)8位數(shù)據(jù)傳送完畢之后,應(yīng)答位或者否應(yīng)答位的SDA控制權(quán)與數(shù)據(jù)位傳送時(shí)相反。
2,開始位“Start”和停止位“Stop”,只能由Master來發(fā)出。
3,地址的8位傳送完畢后,成功配置地址的Slave設(shè)備必須發(fā)送“ACK”。否則否則一定時(shí)間之后Master視為超時(shí),將放棄數(shù)據(jù)傳送,發(fā)送“Stop”。
4,當(dāng)寫數(shù)據(jù)的時(shí)候,Master每發(fā)送完8個(gè)數(shù)據(jù)位,Slave設(shè)備如果還有空間接受下一個(gè)字節(jié)應(yīng)該回答“ACK”,Slave設(shè)備如果沒有空間接受更多的字節(jié)應(yīng)該回答“NACK”,Master當(dāng)收到“NACK”或者一定時(shí)間之后沒收到任何數(shù)據(jù)將視為超時(shí),此時(shí) Master放棄數(shù)據(jù)傳送,發(fā)送“Stop”。
5,當(dāng)讀數(shù)據(jù)的時(shí)候,Slave設(shè)備每發(fā)送完8個(gè)數(shù)據(jù)位,如果Master希望繼續(xù)讀下一個(gè)字節(jié),Master應(yīng)該回答“ACK”以提示 Slave準(zhǔn)備下一個(gè)數(shù)據(jù),如果Master不希望讀取更多字節(jié),Master應(yīng)該回答“NACK”以提示Slave設(shè)備準(zhǔn)備接收Stop信號(hào)。
6,當(dāng)Master速度過快Slave端來不及處理時(shí),Slave設(shè)備可以拉低SCL不放(SCL=0將發(fā)生“線與”)以阻止Master發(fā)送更多的數(shù)據(jù)。此時(shí)Master將視情況減慢或結(jié)束數(shù)據(jù)傳送。在實(shí)際應(yīng)用中,并沒有強(qiáng)制規(guī)定數(shù)據(jù)接收方必須對(duì)于發(fā)送的8位數(shù)據(jù)做出回應(yīng),尤其是在Master和Slave端都是用GPIO軟件模擬的方法來實(shí)現(xiàn)的情況下,編程者可以事先約定數(shù)據(jù)傳送的長度,slave不檢查NACK,有時(shí)可以起到減少系統(tǒng)開銷的效果。但是如果slave方是硬件i2c要求一定要標(biāo)準(zhǔn)的NACK,master方是GPIO軟件模擬i2c并沒有正確的發(fā)送NACK,就會(huì)出現(xiàn)“slave收不到 stop”導(dǎo)致i2c掛死。
- STC單片機(jī)IO口模擬I2C(主從)文件資料 14次下載
- 使用單片機(jī)實(shí)現(xiàn)I2C總線的實(shí)驗(yàn)文件免費(fèi)下載 7次下載
- 使用51單片機(jī)實(shí)現(xiàn)PCF8591 I2C串行AD的仿真文件免費(fèi)下載 16次下載
- 51單片機(jī)的I2C總線驅(qū)動(dòng)程序免費(fèi)下載
- 使用C語言模擬51單片機(jī)的I2C總線的資料和程序免費(fèi)下載
- 使用51單片機(jī)IO模擬I2C的程序免費(fèi)下載
- STC89C52單片機(jī)的I2C使用程序免費(fèi)下載
- 如何使用STM32單片機(jī)的硬件I2C讀取MPU6050的數(shù)據(jù)資料和程序免費(fèi)下載 0次下載
- 使用51單片機(jī)模擬I2C的原理和程序免費(fèi)下載
- 使用51單片機(jī)模擬I2C總線的程序免費(fèi)下載
- 51單片機(jī)的I2C總線的資料介紹和示例程序免費(fèi)下載
- 使用51單片機(jī)模擬I2C總線的驅(qū)動(dòng)程序免費(fèi)下載
- I2C總線的51單片機(jī)通用驅(qū)動(dòng)程序 28次下載
- 基于51的I2c總線 34次下載
- 億恒C166 系列單片機(jī)I2C 總線的軟件模擬
- i2c總線用來做什么_i2c總線數(shù)據(jù)傳輸過程 7305次閱讀
- 使用51單片機(jī)讀寫AT29C040的C語言程序免費(fèi)下載 4812次閱讀
- HD44780讀寫單片機(jī)C51程序免費(fèi)下載 4383次閱讀
- 使用HD44780讀寫單片機(jī)的C51程序詳細(xì)概述 3304次閱讀
- I2C總線驅(qū)動(dòng)的C語言源程序詳細(xì)說明 5262次閱讀
- I2C總線的基礎(chǔ)知識(shí) 1981次閱讀
- 如何使用C語言實(shí)現(xiàn)51單片機(jī)模擬I2C總線 4479次閱讀
- 單片機(jī)的I2C通信設(shè)計(jì) 3144次閱讀
- 基于MCS-51單片機(jī)I2C總線接口電路的設(shè)計(jì) 3457次閱讀
- AT89S52單片機(jī)并行端口模擬I2C總線協(xié)議讀寫AT24C04的設(shè)計(jì) 2767次閱讀
- I2C接口與單片機(jī)之間的通信設(shè)計(jì) 8268次閱讀
- 80C51單片機(jī)模擬I2C總線的主機(jī)程序分享 3483次閱讀
- I2C總線的特點(diǎn)、控制技術(shù)與傳輸分析 1w次閱讀
- 《振南電子STM32視頻教程》第八講:I2C總線 1119次閱讀
- 基于GAL的I2C總線時(shí)序模擬 2911次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1490次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識(shí)別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費(fèi)
- 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
- 7藍(lán)牙設(shè)備在嵌入式領(lǐng)域的廣泛應(yīng)用
- 0.63 MB | 3次下載 | 免費(fèi)
- 89天練會(huì)電子電路識(shí)圖
- 5.91 MB | 3次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論