IIC总线

IIc的定义

IIC(Inter-Integrated Circuit)其实是IICBus简称,所以中文应该叫集成电路总线,它是一种串行通信总线,使用多主从架构,由飞利浦公司在1980年代为了让主板、嵌入式系统或手机用以连接低速周边设备而发展。

IIc总线

I²C总线支持任何IC 生产过程(NMOS、CMOS、双极性)。两线——串行数据(SDA) 和串行时钟(SCL) 线在连接到总线的器件间传递信息。每个器件都有一个唯一的地址识别(无论是微控制器、LCD驱动器、存储器或键盘接口),而且都可以作为一个发送器或接收器(由器件的功能决定)。很明显,LCD驱动器只是一个接收器,而存储器则既可以接收又可以发送数据。除了发送器和接收器外,器件在执行数据传输时也可以被看作是主机或从机(见图1)。主机是初始化总线的数据传输并产生允许传输的时钟信号的器件。此时,任何被寻址的器件都被认为是从机。

IIc总线传输的特点

I2C总线按字节传输,即每次传输8bits二进制数据,传输完毕后等待接收端的应答信号ACK,收到应答信号后再传输下一字节。等不到ACK信号后,传输终止。空闲情况下,SCL和SDA都处于高电平状态

EEPROM

EEPROM (Electrically Erasable Programmable read only memory)是指带电可擦可编程只读存储器。是一种掉电后数据不丢失的存储芯片。 EEPROM 可以在电脑上或专用设备上擦除已有信息,重新编程。一般用在即插即用。

传输


I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。

开始的建立时间:SCL上升至高电平与SDA下降至脱离高电平的时间间隔;
开始的保持时间:SDA下降至低电平与SCL下降至低电平的时间间隔;
数据的建立时间:SDA电平改变到位与SCL上升至脱离低电平的时间间隔;
数据的保持时间:SCL下降至低电平与SDA脱离原电平(如需)之间的时间间隔;
结束的建立时间:SCL上升至高电平与SDA上升至高电平之间的时间间隔;

在这里插入图片描述

下面是查阅eeprog的相关代码

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
还有
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们对.c文件通过makefile文件进行处理
在这里插入图片描述
通过

// An highlighted block
make

make指令行进行运行
在这里插入图片描述

思考

IIC传输有什么优点

IIC协议规定:

§ 第一,每一支IIC设备都有一个唯一的七位设备地址;

§ 第二,数据帧大小为8位的字节;

§ 第三,数据(帧)中的某些数据位用于控制通信的开始、停止、方向(读写)和应答机制。

IIC 数据传输速率有标准模式(100 kbps)、快速模式(400 kbps)和高速模式(3.4 Mbps),另外一些变种实现了低速模式(10 kbps)和快速+模式(1 Mbps)。

物理实现上,IIC 总线由两根信号线和一根地线组成。两根信号线都是双向传输的,参考下图。IIC协议标准规定发起通信的设备称为主设备,主设备发起一次通信后,其它设备均为从设备。

IIC 通信过程大概如下。首先,主设备发一个START信号,这个信号就像对所有其它设备喊:请大家注意!然后其它设备开始监听总线以准备接收数据。接着,主设备发送一个7位设备地址加一位的读写操作的数据帧。当所设备接收数据后,比对地址自己是否目标设备。如果比对不符,设备进入等待状态,等待STOP信号的来临;如果比对相符,设备会发送一个应答信号——ACKNOWLEDGE作回应。

当主设备收到应答后便开始传送或接收数据。数据帧大小为8位,尾随一位的应答信号。主设备发送数据,从设备应答;相反主设备接数据,主设备应答。当数据传送完毕,主设备发送一个STOP信号,向其它设备宣告释放总线,其它设备回到初始状态。

基于IIC总线的物理结构,总线上的START和STOP信号必定是唯一的。另外,IIC总线标准规定SDA线的数据转换必须在SCL线的低电平期,在SCL线的高电平期,SDA线的上数据是稳定的。

所以·
1.IIC总线其简单性和有效性。由于接口直接在组件之上,因此IIC总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达25英尺,并且能够以10Kbps的最大传输速率支持40个组件。

2.IIC支持多主控, 其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。

启动信号与结束信号·

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
IIC总线控制技术,也称为I2C(Inter-Integrated Circuit)总线,是一种串行通信协议,用于在集成电路之间进行数据传输。下面是IIC总线控制技术的发展历程: 1. 发展背景:IIC总线控制技术最早由飞利浦(Philips)公司于1982年开发,旨在解决集成电路之间通信的问题。它采用了双线制,包括一个时钟线(SCL)和一个数据线(SDA),可以同时连接多个设备。 2. 初始版本:最初的IIC总线控制技术支持最多100kbps的数据传输速率,并且只能连接最多10个设备。这种版本的IIC总线主要用于连接微控制器和外围设备,如传感器、存储器等。 3. 高速版本:随着技术的发展,IIC总线的速度得到了提升。后续版本的IIC总线支持更高的数据传输速率,如400kbps、1Mbps、3.4Mbps等。这使得IIC总线可以更快地传输数据,适用于更多的应用场景。 4. 增加功能:除了提高传输速率外,后续版本的IIC总线还增加了一些新的功能。例如,引入了多主机模式,允许多个主机设备同时控制总线。此外,还引入了扩展寻址模式,可以连接更多的设备。 5. IIC总线的广泛应用:由于其简单、灵活和可靠的特性,IIC总线控制技术被广泛应用于各种领域。它常用于连接传感器、存储器、显示屏、电源管理芯片等外围设备。同时,许多微控制器和集成电路也内置了IIC总线接口。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值