浅谈 IIC I2C 总线协议

本文介绍了IIC(I2C)总线协议,包括其硬件连接方式、多主机特性、理论传输距离及速度。详细阐述了位传输过程,通过SCL和SDA线的高低电平变化实现数据的0和1表示,以及起始和停止动作的定义。此外,还解析了数据帧的结构,包括从机地址、读写位、ACK响应等关键环节。

简介

IIC(也称I2C或I2C)总线是Philips公司开发的一种简单、双向二线制同步串行总线,是Inter-Integrated Circuit的缩写。

IIC只用两条双向线,一条SDA(Serial Data Line)和一条SCL(Serial Clock Line),两条都是开漏输出,需要通过上拉电阻接VCC。IIC是一个多主机的总线,任何连接到总线的节点都可以作为主机和从机,但同一时刻只能有一个主机

IIC的理论理想传输距离为15M,但是由于干扰和传输速率的提高,实际上会远小于15M,一般只适合用于板极器件的通信,不适合中长距离通信。在高速模式下,IIC传输速度在标准模式下可达100Kbps,快速模式下可达400Kbps,高速模式下可达3.4Mbps,但是速度越快可靠性越低。


硬件连接

这里写图片描述

主机和从机通过上图的方式接入总线,前面说到,IIC总线的SDA和SCL均需要通过上拉电阻接VCC。IIC使用7位寻址,除去0000000的广播地址,理论上一条IIC总线可以挂载27 - 1 = 127个节点,每个节点有一个地址。


通讯过程

1)位传输

IIC怎么通过SDA和SCL两条线来传输0和1比特位呢?首先SCL线必须是由主机时钟控制的,否则就乱套了,SDA主机从机都可以控制。如

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值