Linux IIO (Industrial IO) 系統支援的在某方面來說是 ADC/DAC 裝置,包括 Accelerometer、Gyro、IMU、Capacitance to Digital Converter (CDC)、壓力感測、Color, Light and Proximity Sensor、溫度感測、Magnetometers、DDS (Direct Digital Synthesis)、PLL (Phase Locked Loop)、Variable/Programmable Gain Amplifiers (VGA, PGA) 等,彌補 hwmon 和 input 子系統的不足。hwmon 偏向用在風扇速度控制和溫度量測等的低取樣率感測。input 著重在人機互動輸入裝置 -- Keyboard、Mouse、Touch Screen、和搖桿。典型 IIO 裝置是透過 SPI 或 I2C 連結,也包括 DMA 操作的高速同步序列 (McBSP, SPORT) 或並列 (EPI, PPI) 等實作在處理器平台的裝置。
IIO 功能
- 基本裝置註冊和處理
- 透過 sysfs polled access
- Event chrdevs:類似 input 提供 userspace 硬體事件,目前只是一個 polling 存取的事件碼和 timestamp。
- 支援硬體 ring buffer,有 event chrdev 傳遞類似半滿事件和 access chrdev 讀取資料。
- 支援 trigger 和軟體 ring buffer (kfifo)
trigger driver
- iio-trig-gpio Provides support for using GPIO pins as IIO triggers.
- iio-trig-rtc Provides support for using periodic capable real time clocks as IIO triggers.
- iio-trig-sysfs Provides support for using SYSFS entry as IIO triggers.
- iio-trig-bfin-timer Provides support for using a Blackfin timer as IIO triggers.
參考
- https://wiki.analog.com/software/linux/docs/iio/iio
沒有留言:
張貼留言