图像传感器的 I2C 信号

一、       I2C 简述

I2C(Inter-Integrated Circuit)字面上的意思是集成电路之间,它其实是 I2 Bus 简称,所以中文应该叫集成电路总线,它是一种简单、双向二线制串行通信总线,使用多主从架构,由飞利浦公司在 1980 年代为了让主板、嵌入式系统或手机用以连接低速周边设备而发展。它只需要两根线 SDA 、SCL 即可在连接于总线上的器件之间传送信息,I2C 总线数据传输速率在标准模式下可达 100kbit/s,快速模式下可达 400kbit/s,高速模式下可达 3.4Mbit/s,在超高速模式下可达到 5Mbit/s。

  1. I2C 主要特点
  • 简单的双向两线总线(漏极开路模式)
  • 串行数据(SDA)串行时钟(SCL)
  • 带仲裁功能的多主机的总线
  • 总线上的每个设备都具有不同的识别地址
  • 每次数据传输都是由主机发起,且时钟总是由主机提供
  1. I2C 硬件框图如图 1 所示
  • I2C 支持带仲裁功能的多设备通信,在一条总线上可以挂载多个 I2C 外设
  • I2C 两条总线为漏极开路结构,需要外接上拉电阻


图 1

二、   I2C 数据通讯

  1. I2C 总线协议

I2C 总线由起始信号、停止信号、应答信号、非应答信号组成,图 2 所示:

  • 起始信号:当时钟线 SCL 为高期间,数据线 SDA 由高到低的跳变
  • 停止信号:当时钟线 SCL 为高期间,数据线 SDA 由低到高的跳变
  • 应答信号(ACK):应答位为低电平时,规定为有效应答位,表示接收器已经成功接收该字节;
  • 非应答信号(NACK):应答位为高电平时,规定为非应答位,一般表示接收器接收该字节没有成功
  • 数据有效性:SCL 在高电平期间,SDA 上的数据必须保持稳定,只有在 SCL 为低电平期间,SDA 状态才允许变化。


图 2

  1. I2C 总线的操作

 对 I2C 总线的操作实际就是主从设备之间的读写操作。大致可分为以下二种操作情况:

  • 主设备往从设备中写数据,如图 3 所示


图 3

  • 主设备从从设备中读数据,如图 4 所示


图 4

三、   I2C 时钟同步

由于总线具有线“与”的逻辑功能,当多个节点同时发送时钟信号时,在总线上表现的是统一的时钟信号,只要有一个节点发送的是低电平,总线上表现为低电平,只有当所有节点都发送高电平时,总线才表现为高电平,由此可知总线时钟取决于低电平周期最长的节点时钟。这就是 SCL 的同步原理,如图 5 所示。

 

图 5

四、   实际测量 I2C 信号

图 6 是实测的一个 I2C 命令,包含了开始信号,数据,ACK 应答信号,等待状态,停止信号。



图 6

 

本篇文章介绍了图像传感器的 I2C 信号,如果有问题需要交流,请在博文下提问。

如果有喜欢小鱼干的,也请多多关注我的大大通账号:小鱼干。

 

【参考文献】

https://www.cnblogs.com/summer-xwq/p/4148107.html

 

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论