最近稍微看了下LKML,發現裏面有一個子系統叫做“IIO”。以前沒有接觸過,所以Google了下。
IIO子系統全稱是 Industrial
I/O subsystem(工業 I/O 子系統),現在還處在有待完善的階段,在內核樹中位於drivers/staging/iio目錄下。
根據內核說明文檔的描述:工業I/O子系統旨在提供那些在某種意義上作爲模數轉換器(ADC)的設備支持。此子系統的目的在於填補那些分類時處在hwmon(硬件監視器)和輸入子系統之間的設備類型。在某些情況下,IIO和hwmon、Input之間的相當大的重疊。
-
ADCs(模數轉換器)
-
加速度傳感器
-
陀螺儀
-
IMUs(慣性測量單位)
-
電容-數字轉換器(CDCs)
-
壓力、溫度和光線傳感器
從源碼的目錄中可以看出,還有:磁力計傳感器、電能功率計、旋變數字轉換器
可以看出這些外設的確都是工業領域使用的,當然其中的部分在其他領域也用到了,比如
-
加速度傳感器、陀螺儀、溫度和光線傳感器在移動設備(手機、平板)中也有廣泛應用。
-
對於IIO的介紹,ADI的WiKi講的比較的清楚,我順手將這個文檔翻譯成了中文,分享如下:
內核說明文檔也是極有參考價值的,並且較爲詳細。位置:drivers/staging/iio/Documentation
我也順手翻譯了一下其中的overview.txt文件,分享如下: