基于T153开发板AD7616高速ADC采集系统架构解析

发布时间:2026-02-6 阅读量:823 来源: 发布人: suii

项目概述

1.1 技术背景

MYD-YT153开发板搭载全志T153处理器,提供LocalBus(LBC)并行总线接口,适合连接高速外设。AD7616是ADI公司推出的16位高精度并行ADC,具有16通道差分输入,广泛应用于工业数据采集、仪器仪表等领域。


1.2 项目目标
  • 验证MYD-YT153 LocalBus与AD7616的硬件兼容性
  • 提供完整的软件驱动实现方案
  • 评估系统在实际应用中的性能表现


硬件平台架构


2.1 核心硬件组件

87d2eecb60ccea5adc22970ae8ba3f20.png

cf639efbaea21f1c68c9151a106d99b2.png
MYD-YT153开发板和localbus接口
2.2 硬件连接要点

· 引脚一一对应:AD7616模块通过J23接口直连开发板


· 电源连接:需外接5V电源至模块供电引脚

    

· 信号完整性:并行总线长度应尽量短,避免信号衰减
1604e8c5b624b42c0604149c01a1ef6c.png

J23 localbus接口定义


85bcab3be3b686088b145f19040b3ef2.png

MYD-YT153接入AD7616模块


2.3 引脚冲突注意
T153处理器的LocalBus与RGMII2网络接口存在引脚复用冲突:


· 必须选择编译支持LocalBus的镜像(LVDS或DSI显示配置)


· 同一时间只能使用一种功能


4a4ce7b10587b8cb89731cff94184651.png
Localbus与RGMII2冲突


软件环境配置

3.1 镜像选择
根据存储介质选择相应镜像:

f93b6a0dd0673282cb4de1d885b28149.png

注:所有镜像均支持LocalBus功能。


3.2 驱动架构
// 驱动层次

应用层:platform\allwinner\industry\localbus\lbc_ad7616_test\lbc_ad7616_test.c (用户空间测试程序)


驱动层:bsp/drivers/lbc/sunxi_lbc_v2_drv.c(内核驱动)


硬件层:LocalBus控制器(T153内置)


AD7616工作模式解析

4.1 测试代码是否能正常工作
直接运行代码,看下是什么现象:
1622fb079c04ed57003fa22d7700467b.png

Lbc_ad7616_test程序运行结果


可以看到一共分三部分:

模式设置,设置了SEL[0-2]以及CS0片选,做了寄存器映射。


寄存器设置,针对0x02,0x04…0x27先写后度。


获取结果,读取每路通路结果,小数点后两位。


4.2 AD7616模块分析
结合芯片手册《ad7616.pdf》和软件源码lbc_ad7616_test.c
e1a47bff3a834e4e83c92e6d6722c6bd.png

程序运行流程图


init_gpio设置了GPIO_CH_SEL0,GPIO_CH_SEL1,GPIO_CH_SEL2都为0,结合手册可以看到这是通路选择管脚,当软件模式时需要设置为0x000。


526f511231f760a18056a78f697ed1a7.png

CHSEL寄存器


AD7616_Set_Range(Range_0_V)里面设置RANGE_SEL0和RANGE_SEL1 为0,结合手册,发现时设置的软件模式。


4533177b5f182b929645aaffa042165b.png

RNGSEL模式寄存器


map_shared_reg_region 和map_chip_region 都是为了读写寄存器做内存映射。


run_ad7616_test 测试代码关键,它一共分两部分,初始化寄存器和读数据。
c57568c20cb421211dd6f2dfbff25619.png

adc写寄存器和获取结果流程


通过查询寄存器可以得到如下信息:


image.png


708b99d1e179db391f491008e27bba45.png


同样方式,进行总结:


a555702969615099e5e4fb9ee112d8d9.png


总结一下就是设置burst模式和启用Sequencer模式,±5V量程。


好了,接着看测试逻辑发送一次CMD_SET_CONVST_IO 后,开始读取每个通道的值:


3c22677e7022833b3afbcdb8c99e2a3a.png


这个逻辑就比较清晰了,16个通道轮询方式读取,然后判断最高位是否是1还是0做区别,最后做一个5V量程转换后输出小数点后2位。


结合上面寄存器分析,量程处理代码比较随意,应该要把2.5V,5V,10V 用宏控制,并和量产转换形成对于关系。


那么它的实际精度是多少,作为一个16bitADC,理论精度是−32768~+32767,


当sample_range=5(±5V)时:


满量程:10V


码值范围:65536个码


1 LSB=10V/65536≈0.0001526V


也就是:


≈152.6µV/LSB


那释放一下它的精度,不再控制输出,把%6.2f改成%f即可。


printf("tsa: %p ch: %2d, data:0x%04x, voltage: %f\n", tsa, ch, data[ch], voltage_data);


接下来就涉及另一个问题,采样率到底是多少,其实就统计一下每秒这个读取测试次数就知晓。


3e1d942678d8003809d544e881656598.png


最后统计出来每秒15帧,那肯定不是真实水平,清空所有打印再试试:


881372cdc9fb40d1f9197ac6d96a89a4.png


此时可以看到每秒有接近9000次,由于每次采样通道16,9000x16=144,000 samples/second,相当于单通道144kSPS水平。


总结

通过本次测试,得出以下结论:
1.精度验证:AD7616在±5V量程下实际分辨率达到152.6 µV,满足16位ADC标称性能。


2.速率验证:系统实际采样率达到144 kSPS(单通道等效),虽未达到理论极限250 kSPS,但已满足大多数应用需求。


3.优化效果:通过减少软件开销,性能提升显著,证明系统瓶颈主要在软件层面。


4.实用价值MYD-YT153 + AD7616组合为嵌入式高速数据采集提供了经济高效的解决方案,适合工业自动化、测试测量等应用。


01a9c81ab47a2061648b64d364473a9d.jpg

7ffd086ff7b0510d424867f48fa425b3.jpg

相关资讯
集成千兆网+HDMI+双目视觉!三款高集成度安防监控FPGA开发板方案选型

快包分析师推荐Altera、瑞芯微、ST三款高性能安防监控开发板可选,Altera视频监控FPGA开发板通过高集成度硬件设计与Cyclone IV FPGA及多类工业接口的融合,构建了完整的视频采集、图像处理到网络通信嵌入式系统,一体化接口设计较传统方案显著降低了扩展复杂度。

全新国产三频Wi-Fi 6E协处理器方案:高带宽低延时低功耗,可应用于无人机RID侦测场景

无人机RID侦测主要通过广播式和网络式两种路径实现,其中广播式RID是目前最主要的侦测方式,通过Wi-Fi或蓝牙信号,以周期广播传输包含身份与位置的数据包,使地面接收设备(如手持侦测仪或固定侦测站)在数百米覆盖范围内可直接接收解析,实现无需网络的点对点实时识别。

100ps高精度PWM!国产化高性能四轴集成一体化伺服驱动解决方案

快包分析师推荐先楫超高性能的HPM6200作为主控,单芯片实现HMI与四轴伺服电机的运动控制,稳定性好、响应速度快、控制精度高。单芯片集成与硬件同步机制,大幅缩短控制链路延迟,显著提升了多轴运动的实时性与同步精度。在空间利用与系统可靠性方面较传统分布式方案更具优势,更适用于高动态、高精度、强实时的多轴协同运动场景。

全新国产精简高效汽车通用MCU上市!

极海推出了G32A1425系列精简高效的汽车通用MCU,旨在以更优性价比匹配功能定义明确、存储需求适中的应用场景。

2026以太网PHY芯片选型指南:五大原厂产品对比

我爱方案网根据2025年PHY芯片市场竞争格局分析,精选五家有代表性的芯片原厂及其代表产品,供工程师选型参考。