介绍gpadc的功能和使用方法。
模块介绍
IIO是linux内核中的一个子系统,专门用于处理工业控制、测量设备的数据采 集和处理。IIO子系统支持的设备类型众多,包括模数转换器(ADC)、数模转换器(DAC)、加速度计、陀螺仪、惯性测量单元、温度传感器,我们本章节所介绍的gpadc是一个模数转换器,其嵌入到了我们的PMIC芯片中
功能介绍
- iio core,提供驱动程序和用户空间之间的接口、负责设备枚举、注册和管理
- IIO设备驱动程序,用于控制和读取特定IIO设备的代码
- IIO缓冲区,用于存储传感器和其他测量设备数据的内存区域
- IIO事件处理,用于处理来自传感器和其他测量设备的中断和事件
源码结构介绍
* IIO core
drivers/iio/industrialio-core.c
* IIO设备驱动程序
drivers/iio/adc/k1x_adc.c
* IIO缓冲区
drivers/iio/industrialio-buffer.c
* IIO事件处理
drivers/iio/industrialio-event.c
关键特性
特性
特性 |
---|
软件支持6路ADC |
12bit ADC转换精度,100Hz~50Khz采样率 |
配置介绍
主要包括驱动使能配置和dts配置
CONFIG配置
Symbol: SPACEMIT_P1_ADC [=y]
Type : tristate
Defined at drivers/iio/adc/Kconfig:1444
Prompt: Spacemit P1 adc driver
Depends on: IIO [=y] && MFD_SPACEMIT_PMIC [=y]
Location:
-> Device Drivers
-> Industrial I/O support (IIO [=y])
-> Analog to digital converters
-> Spacemit P1 adc driver (SPACEMIT_P1_ADC [=y])