硬件基础知识--IIC

一、IIC主要特点:

1、IIC(Inter-Integrated Circuit)是两线式串行总线,多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短。支持不同速率的通讯速度,● 标准模式(100kHZ),● 快速模式(400kHZ),● 高速模式(3.4MHz)。

2、IIC是半双工,而不是全双工 ,同一时间只可以单向通信。

(I2C通信方式为半双工,只有一根SDA线同一时间只可以单向通信,485也为半双工,SPI和uart通信为全双工。)

3、SCL和SDA都需要接上拉电阻 (大小由速度和容性负载决定一般在3.3K-10K之间) 保证数据的稳定性,减少干扰。为了避免总线信号的混乱,IIC的空闲状态只能有外部上拉,使SDA和SCL线都保持高电平。 而此时空闲设备被拉到了高阻态,也就是相当于断路, 整个IIC总线只有开启了的设备才会正常进行通信,而不会干扰到其他设备。

4、IIC一共有只有两个总线: 一条是双向的串行数据线SDA,一条是串行时钟线SCL:

SDA(Serial data)是数据线,D代表Data也就是数据,Send Data 也就是用来传输数据的;

SCL(Serial clock line)是时钟线,C代表Clock 也就是时钟,也就是控制数据发送的时序的。

5IIC器件地址:每一个IIC器件都有一个器件地址,有的器件地址在出厂时地址就设定好了,来确保不同设备之间访问的准确性。

6、IIC总线理论最多可以挂载128个设备。IIC总线最多可以挂多少个设备由IIC地址决定,8位地址,减去1位广播地址,是7位地址,2^7=128,但是地址0x00不用,那就是127个地址, 所以理论上可以挂127个从器件。但是规定了总线电容不能超过400pF,实际设计中经验值大概是不超过8个器件

二、IIC总线相关问答:

Q1、为什么要使用俩条信号线?

答:节省资源。

Q2、为什么SCL时钟线由主设备控制?

答:进行通信的主动权是掌握在主机手中。

Q3、为什么SDA是双向串行数据线?

答:因为设备和设备之间要通信,交换数据。

Q4、为什么通过设备号区分?

答:因为主设备发送数据是全部从设备都接收到了,就要通过一个特殊的id来区分,一般是厂家设置。

Q5、上拉电阻的作用?

答:避免数据冲突,如果主设备和从设备同时输出高电平,造成短路。空闲时,电平也会自动拉高。

三、IIC总线协议

主机发送起始信号        →        发送需要通信的从设备地址        →        读写信息        →        等待应答(ACK)        →       主机发送停止信号

1、起始信号:scl高电平时,sda从高电平向低电平跳变。

2、停止信号:scl高电平时,sda从低电平向高电平跳变。

3、只有scl为高电平,sda的数据才有效。

4、读数据时:sda会被主机释放掉,由从机控制sda,主机通过sda接收数据;

      写数据时:sda由主机控制,从机通过sda接收;iic的设备地址有7位和11位。

5、响应,不管是主机和从机接收到数据都要发送应答,为了信号的完整性。有发送应答ack和发送非应答nack,接收到nack会停止数据发送。比如在主机发送完数据后,从机会立马得到sda的控制权,0是应答,1是非应答。

四、软件IIC和硬件IIC的区别

1、软件IIC

软件IIC是指使用MCU的通用GPIO引脚模拟IIC通信协议的方式,输出IIC时序。

好处:不用依赖硬件资源,灵活,操作简单。

坏处:

占用MCU资源:由于IIC通信需要由CPU通过GPIO引脚进行模拟,因此CPU的负载较大;

通信速率低:由于GPIO引脚的性能限制,软件IIC通常不能支持和硬件IIC一样高的通信速率。

2、硬件IIC

硬件IIC是指使用微控制器(MCU)内部集成的IIC模块进行通信的方式。这种方式的优点在于,由于IIC通信由硬件模块自动完成,因此CPU的负载较小,可以同时处理其他任务。此外,硬件IIC通常能够支持更高的通信速率。

待补充。。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_51028708

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值