Edit online

设计说明

2 Dec 2024
Read time: 1 minute(s)

源代码位于:drivers/iio/adc/artinchip_adc.c

模块架构

IIO

工业 I/O,是 Linux 内核中专用于处理模数转换器(ADC)和数模转换器(DAC)的子系统,最初创建于 2009 年,提供了统一的框架来访问和控制各种类型的传感器,并且为用户态提供了标准的接口。

目前 IIO 支持的设备类型包括:ADC/DAC、加速度计、磁力计、陀螺仪、电流/电压测量芯片、压力传感器、温度传感器、湿度传感器、光传感器、压力传感器等。

整个 IIO 软件框架可抽象为下图:


sw_system16

1. Linux IIO 子系统架构图
  • IIO 设备会提供字符设备(支持触发缓冲区)和 Sysfs 节点作为用户态的访问接口。

  • 一般情况下,每个通道对应一个 sysfs 节点文件。

用户空间的设备文件名举例

  • /sys/bus/iio/iio:deviceX/

  • /dev/iio:deviceX