- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
I2C总线原理及应用实例基于Proteus仿真.PDF
2012 年8 月11 日星期六
2
IC 总线原理及应用实例
基于Proteus 仿真
2
前言:本文详细介绍了I C 总线原理,并在后面举例说明了其在单片机中的应用,
所举例子包含Proteus 仿真电路图,源程序,程序注释详细清楚。我觉得还是很
适合刚接触I2C 总线的朋友。
1、I2C总线简介:
I2C 总线是PHLIPS公司推出的一种串行总线,为总线上的电路共享公共的总线,总线
上的器件可以是单片机、LCD驱动器以及E2PROM等等。采用串行总线技术可以使系统的硬
件设计大大简化、系统的体积减小、可靠性提高。同时,系统的更改和扩充极为容易。
I2C总线只有两根双向信号线。一根是数据线SDA (serial data,串行数据),另一根是
时钟线SCL(serial clock,串行时钟) 。
如下图所示,I2C 总线通过上拉电阻接正电源。当总线空闲时,两根线均为高电平。连
到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA 及SCL 都是
线“与”关系。
1 / 17
2012 年8 月11 日星期六
每个连接到I2C总线上的器件都有唯一的地址。发送数据到总线上的器件为发送器;从
总线上接收数据的器件为接收器;启动数据传送并产生时钟信号的器件为主机;被主器件寻
址的器件为从机。
在多主机系统中,可能同时有几个主机企图启动总线传送数据。为了避免混乱, I2C
总线要通过总线仲裁,以决定由哪一台主机控制总线。
在80C51单片机应用系统的串行总线扩展中,我们经常遇到的是以80C51单片机为主机,
其它接口器件为从机的单主机情况。
2、I2C 总线的数据传送:
(1)数据位的有效性规定:数据和时钟线都为高电平时称总线处在空闲状态。I2C总线
进行数据传送时,时钟信号SCL为高电平期间,数据线SDA上的数据必须保持稳定,只有在
时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。如下图所示:
(2 )起始和终止信号:SCL线为高电平期间,SDA线由高电平向低电平的变化表示起
始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号。如下图所示:
起始和终止信号都是由主机发出的,在起始信号产生后,总线就处于被占用的状态;在
终止信号产生后,总线就处于空闲状态。
连接到I2C总线上的器件,若具有I2C总线的硬件接口,则可以很容易地检测到起始和终
止信号。
接收器收到一个完整的数据字节后,有可能需要完成一些其它工作,如处理内部中断服
务等,可能无法立刻接收下一个字节,这时接收器可以将SCL线拉成低电平,从而使主机处
于等待状态。直到接收器准备好接收下一个字节时,再释放SCL线使之为高电平,从而使数
据传送可以继续进行。
2 / 17
2012 年8 月11 日星期六
3、I2C 总线的数据传送格式:
(1)字节传送与应答:
每一个字节必须保证是8 位长度。传送数据时,先传送最高位(MSB ),每一个被传送
的字节后面都必须跟随一位应答位(即一帧共有9 位)。
由于某种原因从机不对主机寻址信号应答时(如从机正在进行实时性的处理工作而无法
接收总线上的数据),它必须将数据线置于高电平,而由主机产生一个终止信号以结束总线
的数据传送。
如果从机对主机进行了应答,但在数据传送一段时间后无法继续接收更多的数据时,从
机可以通过对无法接收的第一个数据字节的“非应答”通知主机,主机则应发出终止信号以
结束数据的继续传送。
当主机接收数据时,它收到最后一个数据字节后,必须向从机发出一个结束传送的信号。
这个信
文档评论(0)