嵌入式通信接口I2C协议.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

i2c协议简要分析()

I2C协议

I2C是由Philips公司发明的一种串行数据通信协议,仅使用两根信号线:

SerialClock(简称SCL)和SerialData(简称SDA)。I2C是总线结构,1个Master,

1个或多个Slave,各Slave设备以7位地址区分,地址后面再跟1位读写位,表

示读(=1)或者写(=0),所以我们有时也可看到8位形式的设备地址,此时每

个设备有读、写两个地址,高7位地址其实是相同的。

数据格式

I2C数据格式如下:

无数据:SCL=1,SDA=1;

开始位(Start):当SCL=1时,SDA由1向0跳变;

停止位(Stop):当SCL=1时,SDA由0向1跳变;

数据位:当SCL由0向1跳变时,由发送方控制SDA,此时SDA为有效数据,不

可随意改变SDA;

当SCL保持为0时,SDA上的数据可随意改变;

地址位:定义同数据位,但只由Master发给Slave;

应答位(ACK):当发送方传送完8位时,发送方释放SDA,由接收方控制SDA,

且SDA=0;

否应答位(NACK):当发送方传送完8位时,发送方释放SDA,由接收方控制SDA,

且SDA=1。

传输过程

当数据为单字节传送时,格式为:

开始位,8位地址位(含1位读写位),应答,8位数据,应答,停止位。

当数据为一串字节传送时,格式为:

开始位,8位地址位(含1位读写位),应答,8位数据,应答,8位数据,应

答,……,8位数据,应答,停止位。

注意事项

SCL一直由Master控制,SDA依照数据传送的方向,读数据时由Slave控制SDA,

写数据时由Master控制SDA。当8位数据传送完毕,应答位或者否应答位

的SDA控制权与数据位传送时相反。

开始位“Start”和停止位“Stop”,只能由Master来发出。

地址的8位传送完毕后,成功配址的Slave设备必须发送“ACK”。否则否则一

定时间Master视为超时,将放弃数据传送,发送“Stop”。

当写数据的时候,Master每发送完8个数据位,Slave设备如果还有空间接受下

一个字节应该回答“ACK”,Slave设备如果没有空间接受的字节应该回答

“NACK”,Master当收到“NACK”或者一定时间没收到任何数据将视为超时,

此时Master放弃数据传送,发送“Stop”。

当读数据的时候,Slave设备每发送完8个数据位,如果Master希望继续读下一

个字节,Master应该回答“ACK”以提示Slave准备下一个数据,如果Master不希

望字节,Master应该回答“NACK”以提示Slave设备准备接收Stop信号。

当Master速度过快Slave端来不及处理时,Slave设备可以拉低SCL不放(SCL=0

将发生“线与”)以Master发送的数据。此时Master将视情况减慢或结

束数据传送。

1.1I2C总线知识

1.1.1I2C总线拓扑结构

I2C总线在连接上非常简单,分别由SDA(串行数据线)和SCL(串行时钟线)及

上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制,来产生

I2C总线协议所需要的信号进行数据的传递。在总线空闲状态时,这两根线一般

被上面所接的上拉电阻拉高,保持着高电平。

1.1.2I2C总线特征

I2C总线上的每一个设备都可以作为主设备或者从设备,而且每一个设备都会

对应一个唯一的地址(可以从I2C器件的得知),主从设备之间就通过这

个地址来确定与哪个器件进行通信,在通常的应用中,我们把CPU带I2C总线接

口的模块作为主设备,把挂接在总线上的其他设备都作为从设备。

I2C总线上可挂接的设备数量受总线的最大电容400pF限制,如果所挂接的是

相同型号的器件,则还受器件地址位的限制。

I2C总线数据传输速率在

您可能关注的文档

文档评论(0)

183****7931 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档