嵌入式linux开发,NUC972芯片外设ADC,通过IIO ADC使用自带ADC转换模块,及ADC电池电压检测

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

一、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资源:

  

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寞水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值