51单片机i2c总线

51单片机i2c总线

一句话描述

i2c使用2根线传输数据,一根是时钟线,一根是数据线。

i2C总线介绍

1、12C总线 (Inter IC BUS) 是由Philips公司开发的一种通用数据总线。

  1. 两根通信线:SCL (Serial Clock) 、SDA (Serial Data)。
  2. 同步、半双工,带数据应答通用的I2C总线,可以使各种设备的通信标准统一,对于厂家来说使用成熟的方案可以缩短芯片设计周期、提高稳定性,对于应用着来说,使用通用的通信协议可以避免学习各种各样的自定义协议降低了学习和应用的难度。

i2c电路规范

1、所有12C设备的SCL连在一起,SDA连在一起

2、设备的SCL和SDA均要配置成开漏输出模式

3、SCL和SDA各添加一个上拉电阻,阻值一般为4.7KQ左右

4、开漏输出和上拉电阻的共同作用实现了“线与”的功能,此设计主要是为了解决多机通信互相干扰的问题

热上拉模式是指引脚一端接高电平,一端接gnd,当开关闭合式为低电平,开关断开时被上拉成高电平。

开漏输出模式是指引脚直接接一个开关和gnd连接,开关闭合卫低电平,开关断开为悬空状态。cpu与设备1通信时,其他设备全部断开(理用开漏模式),互不影响。

i2c时序结构

开始条件

SCL高电平期间,SDA从高电平切换到低电平。

终止条件

SCL高电平期间,SDA从低电平切换到高电平。

发送或接收一位

SCL低电平时,发送端在SDA放入数据电平(0,1);SCL高电平时,接收端读取SDA线上的电平。SCL线随时间变化而变化,变化一个周期发送一位数据。

发送接收应答

在接收完一个字节之后,主机在下一个时钟发送一位数据,0表示应答,1表示非应答。

和发送数据一样,只是发送的这一位数据表示应答数据。

i2c数据帧

发送或接收数据

  1. 标识开始发送或接收数据 S
  2. 标识数据发送或接收的地址 + 应答
  3. 发送或接收数据1 + 应答
  4. 发送或接收数据2 + 应答
  5. 发送或接收数据N + 应答
  6. 标识发送或接收数据完成 P

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值