I2C子系统驱动架构 - 简介

文章系列

I2C子系统驱动架构 - 简介

I2C子系统驱动架构 - 驱动框架

I2C子系统驱动架构 - 具体实现

I2C介绍

I2C(Inter-Integrated Circuit)是由Philips半导体(现在的NXP半导体)研发的一种串行总线,一条总线上可以接多个设备。

I2C支持三种速率模式:标准,快速和高速,标准模式速率为100Khz,快速模式速率为400Khz,高速模式速率为3.4Mhz,后来在快速模式基础上又推出了快速+和超快速两种模式,支持的速率分别达到1Mhz和5Mhz。

硬件连接

举例:I2C的硬件连接原理图如下所示

I2C子系统驱动架构 - 简介_第1张图片

其中A0、A1、A2决定了I2C设备的地址,SCL为时钟线,SDA为数据线,分别连接到SoC的SCL和SDA的引脚,SCL和SDA一般都要接一个10M的上拉电阻

I2C协议

I2C协议如下所示,某些器件会根据自己的特点定义一些复杂的协议,但是基本的协议时序都差不多,某些器件data可能不只8位数据位,可能是16位等等,具体差别可以详看数据手册

I2C子系统驱动架构 - 简介_第2张图片

Ref.

I2C-wiki

你可能感兴趣的:(Linux驱动)