Linux IIO子系統分析


最近稍微看了下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. 加速度傳感器、陀螺儀、溫度和光線傳感器在移動設備(手機、平板)中也有廣泛應用。
  2.  
 
IIO主要框架如下(ADI的WiKi內容):
    
    
    對於IIO的介紹,ADI的WiKi講的比較的清楚,我順手將這個文檔翻譯成了中文,分享如下:
 
   內核說明文檔也是極有參考價值的,並且較為詳細。位置:drivers/staging/iio/Documentation
   我也順手翻譯了一下其中的overview.txt文件,分享如下:
 
   這里只是簡單的了解一下這個系統。以后,我會繼續分析這個系統,翻譯內核文檔,再寫分析文檔。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM