在上一篇I2C协议的简单介绍后,我们马上结合Linux源码来了解下Linux中的I2C框架是如何的。 1. 基本框架了解 如上图显示的,要讨论的东西包括driver、client、i2c-dev、i2c-core、Algorithm和adapter。在上层的位置中,Client可以简单的理解为具体的物理设备,而driver就是驱动物理设备的驱动程序,i2c-dev则是为不同的client设备提供统一访问接口的作用。i2c-core在中间的位置,起到承上启下的作用,为上…
在上一篇I2C协议的简单介绍后,我们马上结合Linux源码来了解下Linux中的I2C框架是如何的。 1. 基本框架了解 如上图显示的,要讨论的东西包括driver、client、i2c-dev、i2c-core、Algorithm和adapter。在上层的位置中,Client可以简单的理解为具体的物理设备,而driver就是驱动物理设备的驱动程序,i2c-dev则是为不同的client设备提供统一访问接口的作用。i2c-core在中间的位置,起到承上启下的作用,为上…
本文转载自:http://www.elecfans.com/emb/jiekou/20171206595812.html 一、概述 1、I2C总线只有两根双向信号线。一根是数据线SDA,另一根是时钟线SCL。 SCL:上升沿将数据输入到每个EEPROM器件中;下降沿驱动EEPROM器件输出数据。(边沿触发) SDA:双向数据线,为OD门,与其它任意数量的OD与OC门成\线与\关系。 I2C总线通过上拉电阻接正电源。当总线空闲时,两根线均为高电平…