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):
从源码的目录中可以看出,还有:磁力计传感器、电能功率计、旋变数字转换器
可以看出这些外设的确都是工业领域使用的,当然其中的部分在其他领域也用到了,比如
- 加速度传感器、陀螺仪、温度和光线传感器在移动设备(手机、平板)中也有广泛应用。
-
IIO主要框架如下(ADI的WiKi内容):
对于IIO的介绍,ADI的WiKi讲的比较的清楚,我顺手将这个文档翻译成了中文,分享如下:
内核说明文档也是极有参考价值的,并且较为详细。位置:drivers/staging/iio/Documentation
我也顺手翻译了一下其中的overview.txt文件,分享如下: