一、IIO ADC
1、NUC972芯片可以透过 IIO 的架构来使用普通模式的 ADC,开启 IIO 功能,配置如下:
Device drivers --->
<*> Industrial I/O support --->
-*- Enable buffer support within IIO
[*] IIO callback buffer used for push in-kernel interfaces
-*- Industrial I/O buffering based on kfifo
-*- Enable triggered sampling support
Analog to digital converters --->
<*> Nuvoton NUC970 Normal ADC driver
Reference voltage selection (Internal AVDD, 3.3V) --->
说明:参考电压有三种可以选择,分别是”Internal bandgap 2.5V” 、 ”Internal AVDD 3.3V” 、”VREF input” 。
2、应用层使用方式如下:
cat /sys/bus/iio/devices/iio\:device0/in_voltageX_raw
说明:其中, X 为频道(X=0~7)。
[root@moshui ~]# cat /sys/bus/iio/devices/iio\:device0/in_voltage0_raw
858
[root@moshui ~]# cat /sys/bus/iio/devices/iio\:device0/in_voltage1_raw
9
[root@moshui ~]# cat /sys/bus/iio/devices/iio\:device0/in_voltage2_raw
302
[root@moshui ~]# cat /sys/bus/iio/devices/iio\:device0/in_voltage3_raw
415
[root@moshui ~]# cat /sys/bus/iio/devices/iio\:device0/in_voltage4_raw
450
[root@moshui ~]# cat /sys/bus/iio/devices/iio\:device0/in_voltage5_raw
487
[root@moshui ~]# cat /sys/bus/iio/devices/iio\:device0/in_voltage6_raw
566
[root@moshui ~]# cat /sys/bus/iio/devices/iio\:device0/in_voltage7_raw
647
[root@moshui ~]#
二、ADC 电池电压
1、NUC970 系列芯片支持 ADC Battery 接口,必须开启 Power supply class support 中的” NUC970 ADC battery driver” 。配置如下:
Device drivers --->
[*] Power supply class support --->
<*> NUC970 ADC battery driver
2、应用层使用
进入”sys/class/power_supply” 中,找到 NUC970 Bettery(ADC),进入后即可查看目前的状态,如下所示:
[root@moshui ~]# cd /sys/class/power_supply/
[root@moshui power_supply]# l
NUC970 Battery(ADC)@
[root@moshui power_supply]# cd NUC970\ Battery\(ADC\)/
[root@moshui NUC970 Battery(ADC)]# l
present technology uevent voltage_now
subsystem@ type voltage_max_design
[root@moshui NUC970 Battery(ADC)]# cat present
54
[root@moshui NUC970 Battery(ADC)]# cat voltage_now
2708
[root@moshui NUC970 Battery(ADC)]# pwd
/sys/class/power_supply/NUC970 Battery(ADC)
[root@moshui NUC970 Battery(ADC)]#
说明:电池的电压 – cat voltage_now,电池百分比 – cat present。
附:
NUC970 ADC资源:



本文介绍了NUC970芯片如何通过IIO架构使用普通模式ADC,详细配置了内核驱动支持,并展示了应用层读取ADC通道电压的方法。此外,还阐述了芯片对ADCBattery接口的支持,以及如何在应用层查看电池电压和状态。
802

被折叠的 条评论
为什么被折叠?



