I2C基础入门

I2C协议包括主从模式,常见速率如100kHz到5MHz,7位或10位地址模式。传输时序包含起始/停止信号,读写标志。在STM32中,硬件I2C与软件模拟I2C是实现的关键。例如,PCF8574芯片的地址由固定部分和可配置部分决定。
摘要由CSDN通过智能技术生成

I2C参数

主从模式:

  • 主机
  • 从机

常见速率:

  • 普通模式(100kHz)
  • 快速模式(400kHz)
  • 快速模式+(1MHz)
  • 高速模式(3.4MHz)
  • 超高速模式(5MHz)

地址模式:

  • 7位地址模式
  • 10位地址模式

读写标志R/W :

  • 读写位是0,表示主机将要向从机写入数据
  • 读写位是1,则表示主机将要从从机读取数据

I2C协议数据传输时序

一个I2C信号包括:起始信号、地址数据信号,读写信号,应答信号,内容数据信号,应答信号,停止信号。其中起始信号与结束信号时序比较特殊,其他信号值“0”“1”时序都相同。
在这里插入图片描述

读时序

在这里插入图片描述

写时序

在这里插入图片描述

数据时序解析

在这里插入图片描述

  • 起始信号:当SCL 线在高电平期间 SDA 线从高电平向低电平切换。
  • 停止信号:当SCL线在高电平期间 SDA 线由低电平向高电平切换。
  • “0”“1”值信号:当SCL线在高电平期间,如果SDA一直为高电平表示数据“1”,一直为低电平时表示数据“0”。注意SCL为高电平时SDA不可变化。

注:SDA和SCL同时为高时,为IIC总线的空闲状态

数据传输实例

起始和结束信号查看SCL高电平期间的电平跳变。
数值查看SCL时钟高电平期间SDA的电平,SCL高电平期间SDA是高就是“1”,是低就是“0”。
在这里插入图片描述

从设备地址如何确定

以PCF8574芯片为例子

原理图

在这里插入图片描述

芯片地址表

每个I2C芯片都会有自己的地址表,这个芯片的地址A6~A3为固定值,A2 ~ A0根据外接电平确定,(Vss低电平,VDD高电平),根据原理图设备的地址为0100000b。即设备的7位的地址为20h。下表中address of PCF8574表示含读写信号的地址,如果发送8个字节地址:值=(7位的地址<<1)+ R/W
在这里插入图片描述

I2C总线下PCF8574模块-示例代码

参考:

详细介绍I2C
STM32硬件I2C与软件模拟I2C超详解

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值