瑞芯微RK3506核心板/开发板SARADC模拟采集实战,软硬件实操必看攻略!

描述

本文基于触觉智能RK3506核心板/开发板,介绍SARADC采集模拟信号使用攻略,包括硬件、驱动层的修改。

RK3506

 

 

SARADC简介

  • SARADC

SARADC是Successive Approximation Register Analog-to-Digital

Converter的缩写,是一种常用的模数转换器,用于将模拟信号转换为数字信号。通常用于将来自传感器或模拟信号源的连续模拟信号转换为数字表示,以便数字处理器或微控制器进行进一步处理。

主要优点:在转换过程中只需要很少的外部元件,因此可以集成在单片集成电路中。此外,SARADC具有较低的功耗和较短的转换时间,使其适用于许多低功耗和高速应用。

  • RK3506上的SARADC说明

RK3506的SARADC是一个4通道10bit有效位的数模转化器,电压输入范围通常为0V到1.8V。内核采用工业 I/O子系统来控制ADC,该子系统主要为AD转换或者DA转换的传感器设计。

 

硬件修改

  • 硬件修改

触觉智能RK3506开发板由于默认未预留SARADC采集通道接口,需整改硬件,修改如下:

RK3506

断开Q4、R43器件,引出SARADC_IN2引脚:

RK3506

 

 

驱动与内核相关配置

  • SARADC驱动及设备树说明

1.SARADC对应的驱动文件所在位置:

kernel/drivers/iio/adc/rockchip_saradc.c

 

2.设备树配置参考文档:

kernel/Documentation/devicetree/bindings/iio/adc/rockchip-saradc.yaml

 

3.主要参数说明:

interrupts = :ADC转换完成,产生中断信号。

#io-channel-cells = <1> :描述一个 I/O 通道(I/O Channel)的参数个数。

vref-supply = <&vccadc_ref> :SARADC值对应的参考电压,最大为1.8V,对应的SARADC值为1023。

 

  • 内核及设备树配置

1.配置内核支持SARADC。

RK3506

 

设备树配置 ido-evb3506-v1a-emmc.dtsi开启SARADC,命令如下:

 

&saradc { vref-supply = <&vcc_1v8>; status = "okay"; };

 

 

由于默认设备树复用SARADC_IN2引脚为其他功能,需禁用默认功能配置,命令如下:

--- a/kernel-6.1/arch/arm/boot/dts/ido-evb3506-v1a-emmc.dtsi +++ b/kernel-6.1/arch/arm/boot/dts/ido-evb3506-v1a-emmc.dtsi @@ -155,7 +155,7 @@ }; leds: leds { - status = "okay"; + status = "disabled"; compatible = "gpio-leds"; pinctrl-names = "default"; pinctrl-0 = <&leds_gpio>;

 

SARADC使用方法

  • 测试前准备

由于系统启动脚本S89ML37init默认会配置 SARADC_IN2引脚为普通GPIO作为4G模块的复位引脚,因此需删除该脚本重启系统进行测试:

rm /etc/init.d/S89ML37init

 

  • 测试方法

上电进入系统后,通过用户态接口获取ADC值,因RK3506最高支持4路SARADC通道,即 in_voltage0_raw ~ in_voltage3_raw为有效通道,分别对应 SARADC_IN0 ~ SARADC_IN3:

以SARADC_IN2为例,SARADC_IN2分别接入1.8V 、GND后,执行命令读取输入电压的raw数据:

RK3506RK3506

 

AD转换计算公式:Vref / (2^n-1) = Vresult / raw,公式说明如下:

Vref:为参考电压1.8v

n: 为 AD 转换的位数,为10位

Vresult: 为用户所需要的采集电压

raw: 为 AD 采集的原始数据

AD 采集到的原始数据 1023,则:Vresult = (1800mv * 1023) / 1023 = 1.8v,与接入的1.8v一致。

AD 采集到的原始数据 1,则:

Vresult = (1800mv * 1) / 1023 = 0.0017v,与接入的GND的电压一致接近0v。

 

触觉智能RK3506开发板/核心板,搭载瑞芯微RK3506B/RK3506J低功耗多核异构处理器(3核A7@1.5Ghz+M0,满载0.65W),双CAN FD、双网口、6路串口,最高支持-40℃~85℃严苛环境,百元内国产化方案助力工控、IoT与智能设备高效升级!

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分