Linux IIO子系统分析

转载自:http://blog.chinaunix.net/uid-16759545-id-4892062.html

原文地址:Linux IIO子系统分析-1-概述 作者:tekkamanninja

    最近稍微看了下LKML,发现里面有一个子系统叫做“IIO”。以前没有接触过,所以Google了下。
    IIO子系统全称是  Industrial I/O subsystem (工业 I/O 子系统)现在还处在 有待完善的阶段,在内核树中位于drivers/ staging/iio目录下。
    根据内核说明文档的描述: 工业I/O子系统旨在提供那些在某种意义上作为模数转换器(ADC)的设备支持。此子系统的目的在于填补那些分类时处在hwmon(硬件监视器)和输入子系统之间的设备类型。在某些情况下,IIO和hwmon、Input之间的相当大的重叠。

属于IIO的设备如下(参考ADI的WiKi):
  1. ADCs(模数转换器)
  2. 加速度传感器
  3. 陀螺仪
  4. IMUs(惯性测量单位)
  5. 电容-数字转换器(CDCs)
  6. 压力、温度和光线传感器
   从源码的目录中可以看出,还有:磁力计传感器、电能功率计、旋变数字转换器
      可以看出这些外设的确都是工业领域使用的,当然其中的部分在其他领域也用到了,比如
  1. 加速度传感器、陀螺仪、温度和光线传感器在移动设备(手机、平板)中也有广泛应用。

 
IIO主要框架如下(ADI的WiKi内容):
Linux IIO子系统分析_第1张图片
    
    
    对于IIO的介绍,ADI的WiKi讲的比较的清楚,我顺手将这个文档翻译成了中文,分享如下:
 IIO Overview.pdf.rar  

   内核说明文档也是极有参考价值的,并且较为详细。位置:drivers/staging/iio/Documentation
   我也顺手翻译了一下其中的overview.txt文件,分享如下:

  IIO_overview.txt.pdf.rar  

你可能感兴趣的:(kernel)