(1) I2C核心
I2C核心提供了I2C总线驱动和设备驱动的注册、 注销方法, I2C通信方法(即Algorithm) 上层的与具体适配器无关的代码以及探测设备、 检测设备地址的上层代码等
(2) I2C总线驱动
I2C总线驱动是对I2C硬件体系结构中适配器端的实现, 适配器可由CPU控制, 甚至可以直接集成在CPU内部。
I2C总线驱动主要包含I2C适配器数据结构i2c_adapter、 I2C适配器的Algorithm数据结构i2c_algorithm和控制I2C适配器产生通信信号的函数。
经由I2C总线驱动的代码, 我们可以控制I2C适配器以主控方式产生开始位、 停止位、 读写周期, 以及以从设备方式被读写、 产生ACK等
(3) I2C设备驱动
I2C设备驱动(也称为客户驱动) 是对I2C硬件体系结构中设备端的实现, 设备一般挂接在受CPU控制的I2C适配器上, 通过I2C适配器与CPU交换数据。
I2C设备驱动主要包含数据结构i2c_driver和i2c_client