RK3506+OneOS赋能,工业电力多通道ADC高速采集解决方案
- 金融市场
- 2026-06-17
- 3572
本文基于触觉智能RK3506核心板/开发板,分享工业控制、能源电力行业多通道ADC数据采集方案。
本文重点介绍在触觉智能RK3506核心板上,实现的多通道高精度ADC采集SDK。
系统体系基于Linux系统(Buildroot+QT)+OneOS(中移物联工业操作系统),结合RK3506特有的AMP多核异构技术,具备低成本、高实时、低抖动特性。可以观看视频,了解整套方案实测数据:
ADC方案架构分析
本SDK针对AD7616这款热门ADC芯片,进行了深度优化,提供一套完整的软硬件协同采集方案。AD7616是一款16位、8/16通道、同步采样的高精度ADC,适用于工业多通道数据采集系统。
触觉智能RK3506基于AMP多核异构技术,3核A7运行Buildroot+QT实现界面显示、M0核搭载OneOS配合AD7616采集完成高实时性 ADC 采集,打造出一套可实时显示数据的低成本解决方案。
- AD7616 AMP工程架构
RK3506 平台优化的 ADC 多通道采集方案SDK架构:
核心目录结构:
IDO-EVB3506-AMP-QT/
├── application/ # 应用层代码,包含ADC数据采集与处理逻辑 │ ├── ad_7616_rpmsg.c # RPMSG核间通信实现 │ ├── ad7616_data.c # ADC数据采集核心逻辑 │ └── main.c # 应用主入口 ├── armv7/ # ARMv7架构相关配置与内核代码 │ ├── kernel/ # OneOS内核代码 │ ├── .config # 内核配置 │ └── kernel_config.h # 内核配置头文件 ├── board/ # 板级支持包 │ └── devices/ # 设备驱动层 │ ├── dev_ad7616.c # AD7616设备驱动 │ ├── dev_can.c # CAN设备驱动 │ └── ... ├── bsp/ # 板级支持包配置文件 ├── build/ # 构建脚本与配置 ├── out/ # 编译输出目录 │ ├── oneos.bin # OneOS二进制镜像 │ └── update.img # 完整烧录镜像 ├── CMakeLists.txt # 项目构建配置 ├── Kconfig # 功能配置菜单 └── oneos_config.h #
OneOS系统配置技术特点:
- 关键技术特点
- 专为AD7616优化:驱动支持多通道同步采样,最高采样率可达20KSPS;
- 【AMP多核架构】
- Cortex-A核运行Linux,负责上层应用、网络、显示;
- OneOS专责高实时性ADC采集与控制;
- 双核间通过共享内存进行低延迟、高带宽数据通信;
- 完整的HAL与BSP:提供统一的硬件操作接口,便于移植到不同硬件平台;
- 优化的实时流水线:从采样、缓冲、传输到预处理,全链路低延迟设计,满足工业实时性要求(典型响应时间<100µs);
- 【性能指标】
- 支持通道数:8/16通道同步
- 采样分辨率:16位
- 单通道最大采样率:20KSPS(总吞吐量)
- 系统延迟:< 100 µs(从信号输入到应用层可读)
触觉智能RK3506 Linux SDK 架构体系
- Linux SDK说明
RK3506 Linux SDK提供系统级开发环境
SDK 核心目录结构:
核心组件目录:
├── app ## 存放上层应用 APP,主要是一些应用Demo ├── buildroot ## 基于 Buildroot(2021)开发的根文件系统 ├── build.sh -> device/rockchip/common/scripts/build.sh ├── common -> device/rockchip/common ├── Copyright_Statement.md -> docs/licenses/LICENSE ├── debian ├── device ## 存放芯片板级配置以及SDK编译和打包固件的脚本和文件等 ├── docker.sh ├── docs ## 存放通用开发指导文档、芯片平台相关文档、Linux 系统开发相关文档、其他参考文档等 ├── external ## 存放第三方相关仓库,包括显示、音视频、摄像头、网络、安全等 ├── hal ├── kernel -> kernel-5.10 ## 存放 Kernel 开发的代码 ├── kernel-5.10 ├── Makefile -> device/rockchip/common/Makefile ├── output ## 存放每次生成的固件信息、编译信息、XML、主机环境等 ├── prebuilts ## 存放交叉编译工具链 ├── README.md -> device/rockchip/common/README.md ├── rkbin ## 存放 Rockchip 相关二进制和工具 ├── rkflash.sh -> device/rockchip/common/scripts/rkflash.sh ├── rockdev -> output/firmware ## 存放编译输出固件,实际软链接到 output/firmware ├── rootfs ├── rtos ## 存放rtos相关源码 ├── tools ## 存放 Linux 和 Window 操作系统下常用工具 ├── u-boot ## 存放基于 v2017.09 版本进行开发的 U-Boot 代码 └── yocto ## 存放yocto相关编译脚本和代码
关键工具与脚本
build.sh:一键构建脚本,可配置编译内核、uboot、根文件系统并打包成完整镜像。
rkflash.sh:基于Rockchip工具链的镜像烧录脚本。
Makefile:项目级构建管理。
输出目录:
output/ – 编译输出
rockdev/– 可烧录镜像文件
rootfs/ – 根文件系统
QT应用开发框架
轻量级QT 应用架构,运行于Linux用户空间,通过IPC机制与底层的ADC采集服务进行通信,实现数据的可视化展示与分析。
QT 项目结构
qt_demo/
├── src/ # 源代码目录 │ ├── mainwindow.cpp/.h # 主窗口逻辑 │ ├── adc_client.cpp/.h # ADC数据服务客户端(IPC实现) │ └── charts/ # 数据图表绘制模块 ├── ui/ # Qt Designer设计的界面文件 (.ui) ├── resources/ # 图标、翻译文件等资源 └── make/ # 构建配置 (CMakeLists.txt 或 .pro)
QT-demo UI设计参考
【开发特点】
模块化设计,便于功能扩展;
支持跨平台开发;
提供图形界面支持;
与底层采集服务通过IPC通信;
- QT应用实现框架
- 50Hz方波信号从信号发生器产生,经ADC采集板数字化后,由OneOS实时系统进行采集,最终通过FlexBus传输至Linux系统进行分析应用:
- QT应用实现框架与数据流
信号发生:50Hz方波由信号发生器产生。
- ADC采集:AD7616 ADC板进行高精度数字化;
- 采样率:20KSPS ,位深(分辨率):16位;
实时处理:OneOS实时系统进行采集、缓冲与初步滤波。
跨核传输:通过FlexBus或共享内存,将数据高速传输至Linux侧。
数据服务:Linux用户空间的守护进程 (adc_daemon) 接收并管理数据。
QT应用展示:QT客户端通过D-Bus或Unix Socket从adc_daemon获取数据,并进行实时绘图、分析和存储。
- 应用场景与架构总结
- 典型应用场景
- 工业数据采集与监控系统 (SCADA):同步采集多路模拟量传感器信号(温度、压力、电流)。
- 高精度智能仪器仪表:用于示波器、数据记录仪、频谱分析仪等设备的信号输入前端。
- 环境监测网络节点:汇聚多种环境传感器(温湿度、气体、噪声)数据,进行边缘预处理后上传至云端。
- 自动化测试设备 (ATE):对多路被测单元进行同步激励与响应采集,实现自动化测试与诊断。
- 总结与优势
- RK3506配合OneOS所构建的这套ADC多通道数据采集SDK,提供了一套从底层硬件驱动、实时操作系统、Linux应用框架到QT图形界面的端到端解决方案。
- 【核心优势包括】
- 高集成:软硬件深度协同,开箱即用,大幅缩短开发周期。
- 实时性:AMP架构将实时任务与通用计算分离,保障采集任务的确定性与低延迟。
- 易开发:清晰的层次化架构、完善的BSP/HAL、丰富的示例代码与文档,降低嵌入式开发门槛。
- 灵活拓展:模块化设计便于功能裁剪、移植至其他ADC芯片或扩展新的通信接口。






