IIc总线总结笔记

IIC总线学习笔记

1 IIC总线简介

1.1 iic简介

​ 在消费电子、电信和工业电子领域,看似无关的设计之间往往有许多相似之处。例如,几乎每个系统都包括:一些智能控制,通常是一个单片机微控制器的通用电路,如LCD和LED驱动器,远程I/O端口,RAM, EEPROM,实时时钟或a /D和D/ a转换器,面向应用的电路,如数字调谐和信号处理电路的无线电和视频系统,温度传感器,为了充分利用这些相似性,使系统设计师和设备制造商都受益,同时最大化硬件效率和电路简单性,飞利浦半导体(现在的NXP Semiconductors)开发了一种简单的双向2线总线,用于有效的ic间控制。这种总线被称为Inter IC或i2c总线。所有兼容i2c总线的设备都包含一个片上接口,允许它们通过i2c总线直接相互通信。这种设计思路解决了数字控制电路设计中遇到的许多接口问题。以下是i2c总线的一些特性:只需要两条总线线路;一个串行数据线(SDA)和一个串行时钟线(SCL)。连接到总线上的每个设备都是通过唯一地址可寻址的软件,并且简单的控制器/目标关系始终存在;控制器可以作为控制器-发射机或控制器-接收器运行。它是一种真正的多控制器总线,包括碰撞检测和仲裁,以防止两个或多个控制器同时发起数据传输时数据损坏。IIC支持多主多从机制

​ iic应用实例图如下图所示:

在这里插入图片描述

从上图可以看到IIC总线可以支持多种ic器件例如 LED, PCA9541,EEPROMs等。目前支持IIC协议的器件也是越来越多。

1.2 iic通信方式

​ IIC是一种串行半双工的通信方式,每8位传输一次,在标准的数据传输方式下可以在高达100kbit /s在快速模式(Fast-mode)下最大可达400kbit /s,快快速方式下(Fast-mode Plus)下最大可达1mbit /s,在高速模式下最大可达3.4 Mbit/s。在超高速下可达5Mbps(单向传输)。

​ 下面介绍几种通信方式:

单工通信就是指只允许一方向另外一方传送信息,而另一方不能回传信息。比如电视遥控器、收音机广播等,都是单工通信技术。

半双工通信是指数据可以在双方之间相互传播,但是同一时刻只能其中一方发给另外一方,比如我们的对讲机就是典型的半双工。

全双工通信就发送数据的同时也能够接收数据,两者同步进行,就如同我们的电话一样,我们说话的同时也可以听到对方的声音。

1.3 SDA与SCL的逻辑电平

​ IIC协议在不同的传输速率下SDA与SCL的电压值是不确定的,如下图所示在不同模式下的电气参数。在标准模式下低电平(LOW)的输入电压最小-0.5V最大0.3V,高电平(HIGH)输入电压最小0.7V最大为输入电压最大值加0.5或者5.5V。

在这里插入图片描述

2 IIC总线的几种信号

2.1数据有效性

​ I2C协议对数据的采样发生在SCL高电平期间,SCL为高电平时,SDA必须保持稳定,不允许改变,只有当SCL线上的时钟信号为LOW(低电平)时,数据线的高或低状态才会改变。每个传输的数据位产生一个时钟脉冲。

在这里插入图片描述

2.2 空闲信号

​ 当总线空闲时,两条线(SDA与SCL)都被输出级的上一级晶体管拉到高电平。
在这里插入图片描述

2.3 起始信号与 结束信号

​ IIC协议规定当SCL高电平期间SDA有高电平跳变为低电平时表示一个起始信号,总线为繁忙状态,当多次触发起始信号时,总线总是保持为繁忙状态,直到出现停止信号。当SCL高电平期间,SDA有低电平跳变为高电平时表示一个停止信号,总线为空闲状态。

在这里插入图片描述

2.4数据传输格式

​ 放到SDA线上的每个字节必须是8位长。每次传输可以传输的字节数是不受限制的。在确认周期中,控制器在每个字节传输完成后,也就是在第九个周期驱动SDA为低电平(USDA LOW)表示应答信号。数据以高位(MSB)优先传输。
在这里插入图片描述

2.5应答信号与非应答信号

应答信号

​ 在IIC协议中当,主机发送完数据后会释放SDA并保持高电平,即第9个SCL时钟周期内如果从机正确的收到了主机发来的数据,会把SDA拉低,表示应答响应。

非应答信号

​ 当第9个SCL时钟周期时,SDA保持高电平,表示非应答信号。非应答信号可能是主机产生也可能是从机产生,产生非应答信号的情况主要有以下几种:
​ 1. 总线上没有带有传输地址的接收器,因此没有设备响应应答。
2. 接收器无法接收或发送,因为它正在执行一些实时功能,并没有准备好开始与控制器通信。
3. 在传输过程中,接收方获取它不理解的数据或命令。
4. 在传输过程中,接收端无法接收到更多的数据字节。

2.6 目标地址和R/W位

IIC总线保留地址

在这里插入图片描述

2.6.1 7位寻址

在起始信号后发送一个寻址字节,该字节的前7位为从机地址,第8位为读写位,其中0表示写,1表示读。
在这里插入图片描述

2.6.2 10位寻址

十位寻址支持兼容7位寻址,将10位寻址的第二个字节放到第一个字节前即可兼容7位寻址总线。

在这里插入图片描述
容7位寻址,将10位寻址的第二个字节放到第一个字节前即可兼容7位寻址总线。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值