STC51入门笔记(郭天祥C语言)---第七节:l2C总线AT24C02芯片应用

本文详细介绍了I2C总线的原理和工作方式,包括启动信号、寻址信号、应答信号等通信格式。此外,文章还探讨了单片机如何模拟I2C总线通信,特别是针对51单片机的实现。最后,通过具体的例子讲述了AT24C02 E2PROM芯片与单片机的交互,包括读写操作时序和页写入避免‘上卷’现象的方法。
摘要由CSDN通过智能技术生成

       声明:本篇文章只是个人知识盲区、知识弱点、重点部分的归纳总结,望各位大佬不喜勿喷。梳理顺序是按照书籍的实际顺序梳理,转载请注明出处。


作者:sumjess


一、I2c总线概述:

1、I2c总线介绍
      l2C总线(InterICBus)由PHILIPS公司推出,是近年来微电子通信控制领域广泛采用的一种新型总线标准,它是同步通信的一种特殊形式,具有接口线少、控制简单、器件封装形式小、通信速率较高等优点。在主从通信中,可以有多个l2C总线器件同时接到l2C总线上,所有与I2C兼容的器件都具有标准的接口,通过地址来识别通信对象,使它们可以经由l2C总线互相直接通信。
      I2C总线由数据线SDA和时钟线SCL两条线构成通信线路,既可发送数据,也可接收数据。在CPU与被控IC之间、IC与IC之间都可进行双向传送,最高传送速率为400kbps,各种被控器件均并联在总线上,但每个器件都有唯一的地址。在信息传输过程中,l2C总线上并联的每一个器件既是被控器(或主控器),又是发送器(或接收器),这取决于它所要完成的功能。CPU发出的控制信号分为地址码和数据码两部分:地址码用来选址,即接通需要控制的电路;数据码是通信的内容,这样各IC控制电路虽然挂在同一条总线上,却彼此独立。
2、I2c总线硬件结构图
      下图为I2C总线系统的硬件结构图,其中,SCL是时钟线,SDA是数据线。总线上各器件都采用漏极开路结构与总线相连,因此SCL和SDA均需接上拉电阻,总线在空闲状态下均保持高电平,连到总线上的任一器件输出的低电平,都将使总线的信号变低,即各器件的SDA及SCL都是线”与“关系。
在这里插入图片描述
      I2C总线支持多主和主从两种工作方式,通常为主从工作方式。在主从工作方式中,系统中只有一个主器件(单片机),其他器件都是具有I2C总线的外围从器件。在主从工作方式中,主器件启动数据的发送(发出启动信号),产生时钟信号,发出停止信号。
3、I2c总线通信格式
      图8.1.2为l2C总线上进行一次数据传输的通信格式。
在这里插入图片描述
4、数据位的有效性规定
      I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟信号为低电平期间,数据线上的高电平或低电平状态才允许变化,如图8.1.3所示。
在这里插入图片描述
5、发送启动(始)信号
      在利用l2C总线进行一次数据传输时,首先由主机发出启动信号,启动l2C总线。在SCL为高电平期间,SDA出现上升沿则为启动信号。此时,具有I2C总线接口的从器件会检测到该信号,启动时序如图8.1.4所示。
在这里插入图片描述
6、发送寻址信号
      主机发送启动信号后,再发出寻址信号。器件地址有7位和10位两种,这里只介绍7位地址寻址方式。寻址字节的位定义如图8.1.5所示,寻址信号由一个字节构成,高7位为地址位,最低位为方向位,用以表明主机与从器件的数据传送方向。方向位为0,表明主机接下来对从器件进行写操作;方向位为1,表明主机接下来对从器件进行读操作。
在这里插入图片描述
      主机发送地址时,总线上的每个从机都将这7位地址码与自己的地址进行比较,如果相同,则认为自己正被主机寻址,根据RJW位将自己确定为发送器或接收器。
      从机的地址由固定部分和可编程部分组成。在一个系统中可能希望接入多个相同的从机,从机地址中可编程部分决定了可接入总线该类器件的最大数目。如一个从机的7位寻址位有4位是固定位,3位是可编程位,这时仅能寻址8个同样的器件,即可以有8个同样的器件接入到该l2C总线系统中。
7.、应答信号
      l2C总线协议规定,每传送一个字节数据(含地址及命令字)后,都要有一个应答信号,以确定数据传送是否被对方收到。应答信号由接收设备产生,在SCL信号为高电平期间,接收设备将SDA拉为低电平,表示数据传输正确,产生应答,时序图如图8.1.6所示。
在这里插入图片描述
8、数据传输
主机发送寻址信号并得到从器件应答后,便可进行数据传输,每次一个字节,但每次传输都应在得到应答信号后再进行下一字节传送。
9、非应答信号
当主机为接收设备时,主机对最后一个字节不应答,以向发送设备表示数据传送结束。
10、发送停止信号
在全部数据传送完毕后,主机发送停止信号,即在SCL为高电平期间,SDA上产生一上升沿信号,停止时序图如图8.1.7所示。
在这里插入图片描述

二、单片机模拟I2c总线通信:

      目前市场上很多单片机都已经具有硬件l2C总线控制单元,这类单片机在工作时,总线状态由硬件监测,无须用户介入,操作非常方便。但是还有许多单片机并不具有l2C总线接口&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值