IIC通信

0. 前言

1. 基础知识

物理层

  • SCL 时钟线
  • SDA 数据线

通信方式
IIC是串行、同步、半双工工的通信方式

通讯速率
IIC有不同的模式
标准模式,时钟频率为100KHz,即数据传输速率为100Kbit/s
快速模式,时钟频率为400KHz,数据传输速率为400Kbit/s
高速模式,时钟频率为3.4MHz,数据传输速率为3.4Mbit/s

特点
IIC通信分为主机和从机,IIC可以有多个主机,但是同一个时刻只能有一个主机工作。也可以有多个从机

2. 时序

通信过程(这是一般情况,具体的请参考芯片手册)

  1. 主机启用IIC总线
  2. 发送设备地址,选择相应的从机,应答
  3. 发送寄存器地址,应答(有的芯片会有寄存器地址)
  4. 发送数据
  5. 等待从机应答(循环4,5)
  6. 主机发送停止信号


主机向从机写入数据


主机向从机读取数据

IIC数据传输

  • 传送开始
  • 传送停止
  • 传送有效
  • 传送应答

IIC通信在应用中有硬件IIC和模拟IIC之分,常用GPIO模拟IIC来实现工程的芯片之间的通信,信号时序图如下。

起始信号、停止信号

  • 起始信号:SCL为高电平,SDA由高电平向低电平跳变,开始数据传输
  • 停止信号:SCL为高电平,SDA由低电平向高电平跳变,结束数据传输

数据有效

  • 在SCL低电平期间,SDA的电平可以变化
  • SCL电平变为高电平,SDA必须保持不变
  • SCL电平变为低电平,1bit数据发送完毕

数据应答

IIC发送一个字节数据后,就在第9个时钟脉冲期间释放总线,接收从机的应答信号,如果信号为低电平,表示从机成功的接收了数据

图片以及部分内容来自网上,侵权请联系删除

posted @ 2022-08-09 17:20  伯宁君  阅读(1198)  评论(1编辑  收藏  举报