内核I2C子系统介绍
文章目录
- 内核I2C子系统介绍
-
- 1、内核中的I2C子系统
- 2、内核中的I2C驱动
-
- 2.1 获取I2C适合器
- 2.2 创建i2c_board_info与设备
- 2.3 创建设备ID和I2C驱动
- 2.4 数据传输
-
- 2.4.1 发送数据
- 2.4.2 读取数据
- 3、I2C总线如何工作
I2C 是一种用于双线接口的串行协议,用于连接低速设备,如微控制器、EEPROM、A/D 和 D/A 转换器、I/O 接口以及嵌入式系统中的其他类似外设。 它是由飞利浦发明的,现在几乎所有主要的 IC 制造商都在使用它。 每个 I2C 从属设备都需要一个地址——它们仍然必须从 NXP(以前称为飞利浦半导体)获得。
本文着重介绍Linux内核中的I2C子系统。
1、内核中的I2C子系统
内核将 I2C 子系统划分为总线(Buses )和设备(Devices)。 总线又分为算法(Algorithms )和适配器(Adapters)。 设备再次分为驱动程序(Drivers )和客户端(Clients)。如下图所示:
其中,
算法(