I2C基础知识

通俗来说I2C是一种总线结构,有了它就可以让单片机和大量设备连接;

1. I2C概念

I2C总线是一种串行、半双工的总线,主要用于近距离、低速的芯片之间的通信;

I2C总线有两根双向的信号线,一根数据线SDA用于收发数据,一根时钟线SCL用于通信双方时钟的同步;

I2C总线是一种多主机总线,连接在 I2C总线上的器件分为主机和从机。主机有权发起和结束一次通信,从机只能被动呼叫;

2. 通信过程

标题
  1. 主机发送起始信号启用总线;
  2. 主机发送一个字节数据指明从机地址和后续字节的传送方向;
  3. 被寻址的从机发送应答信号回应主机;
  4. 发送器发送一个字节数据;
  5. 接收器发送应答信号回应发送器;
  6. ........ (循环步骤4、5);
  7. 通信完成后主机发送停止信号释放总线;

2.1. 发送起始位

2.2. 寻址过程

2.2.1. 寻址阶段ANK的原因

1、地址填错,寻址的从机不存在

2、主机正忙,来不及应答从机信号

2.3. 数据传输

2.3.1. 写数据

主机发送,从机接收

主机向从机发送8bit(1字节)数据,然后释放掉 SDA 线,等待从机确认接受,从机通过把SDA拉低,来发送一个ACK,表示数据收到,

然后主机在发送第二个字节以此类推。。。

2.3.2. 读数据

从机发送,主机接受

从机发送数据,主机回复ACK,每读一个字节回复一个ACK;

2.4. 停止位

数据传输结束后,主机需要向 总线上 发送一个停止位;

当SCL为高电压时,向SDA发送上升沿;

2.5. 总结

3. 波特率

4. 占空比

一般选择2∶1的占空比

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值