• 热门专题

Android驱动(二)IIC简介

作者:  发布日期:2014-06-11 20:24:47
Tag标签:简介  
  • 一、 I2C简介

    I2C(Inter-Integrated Circuit)总线是一种由 Philips 公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C 总线最主要的优点就是简单性和有效性,简单体现在接线简单,只有两根线数据线(SCL)和时钟线(SDA),而且 控制简单。所以一些封装较小的器件多使用I2C总线,常见的使用I2C总线的设备有EEPROM、RTC及一些传感器。这里我们介绍下基于linux的I2C设备驱动的编写。

    • I2C设备驱动的编写有多种方式

      一种是直接操作CPU的I2C控制器,正对于某一个设备写一个字符驱动,这种驱动相对来说比较直接,不需要太依赖于内核相关配置,但是这类设备驱动依赖CPU,可移植性较差。

      一种是基于linux内核I2C子系统完成设备驱动的编写,一般内核会继承相关CPU的控制器驱动即使没有也可以通过技术支持可以获得,所以我们只需要使用linux下I2C子系统提供的相关接口来构建我们的设备驱动就行了。这样我们的设备驱动并不依赖于某一个特定的CPU,可移植性较好。

      IIC驱动主要分为Master和Slave,Master就是主机控制器,像A10内部的IIC控制器就是一个Master, Slave就是IIC从机设备,它要被挂接到Master上才能工作
      智能手机和平板电脑上用的sensor几乎都是IIC设备,最常用的IIC设备就是电容触摸屏和摄像头,接下来,我们将针对触摸屏、EEPROM、摄像头等驱动来分析。

      • I2C总线工作原理

        I2C 总线是由数据线 SDA 和时钟 SCL 构成的串行总线,各种被控制器件均

        并联在这条总线上,每个器件都有一个唯一的地址识别,可以作为总线上的一个

        发送器件或接收器件(具体由器件的功能决定)。I2C 总线的接口电路结构如图 1所示


About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规