I2C-子系统
I2C系统框架
1.框架介绍:
应用程序层(app层)
------------------------------------------------------------------------------------------------------------
i2c driver层: i2c_client driver
设备驱动,对I2C从设备的软件实现,一个具体的I2C客户驱动包括两部分:一部分是i2c_driver,用于将设备挂接于i2c总线;另一部分是设备本身的驱动。
I2C客户驱动程序由i2c_driver和i2c_client来描述。
------------------------------------------------------------------------------------------------------------
i2c core:i2c核心层
提供了I2C总线驱动(适配器)和设备驱动的注册、注销方法,I2C通信方法(”algorithm”)上层的,与具体硬件无关的代码以及探测设备检测设备地址的上层代码等。
------------------------------------------------------------------------------------------------------------
i2c adapter层: 总线驱动,i2c控制器层,初始化i2c控制器,实现i2c时序。
I2C总线驱动是I2C适配器的软件实现, 提供I2C适配器与从设备间完成数据通信的能力。I2C总线驱动由i2c_adapter和i2c_algorithm来描述。
I2C适配器是SoC中内置i2c控制器的软件抽象,可以理解为他所代表的是一个I2C主机。
------------------------------------------------------------------------------------------------------------
居中的图片: