PART 01 项目概述
1.1 技术背景
1.2 项目目标
验证MYD-YT153 LocalBus与AD7616的硬件兼容性
提供完整的软件驱动实现方案
评估系统在实际应用中的性能表现
PART 02 硬件平台架构
2.1 核心硬件组件


MYD-YT153开发板和localbus接口
2.2 硬件连接要点
引脚一一对应:AD7616模块通过J23接口直连开发板
电源连接:需外接5V电源至模块供电引脚
信号完整性:并行总线长度应尽量短,避免信号衰减

J23 localbus接口定义

MYD-YT153接入AD7616模块
2.3 引脚冲突
必须选择编译支持LocalBus的镜像(LVDS或DSI显示配置)
同一时间只能使用一种功能

Localbus与RGMII2冲突
PART 03 软件环境配置
3.1 镜像选择
根据存储介质选择相应镜像:

注:所有镜像均支持LocalBus功能。
3.2 驱动架构
PART 04 AD7616工作模式解析
4.1 测试代码是否能正常工作
直接运行代码,看下是什么现象:

Lbc_ad7616_test程序运行结果
获取结果,读取每路通路结果,小数点后两位。
4.2 AD7616模块分析
结合芯片手册《ad7616.pdf》和软件源码lbc_ad7616_test.c

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

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

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

adc写寄存器和获取结果流程
adc_cmd_write_readback(ctx,i,0x2,0x60);

同样方式,进行总结:

总结一下就是设置burst模式和启用Sequencer模式,±5V量程。
好了,接着看测试逻辑发送一次CMD_SET_CONVST_IO 后,开始读取每个通道的值:

printf("tsa: %p ch: %2d, data:0x%04x, voltage: %fn", tsa, ch, data[ch], voltage_data);
接下来就涉及另一个问题,采样率到底是多少,其实就统计一下每秒这个读取测试次数就知晓。

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

PART 05 总结
精度验证:AD7616在±5V量程下实际分辨率达到152.6 µV,满足16位ADC标称性能。
速率验证:系统实际采样率达到144 kSPS(单通道等效),虽未达到理论极限250 kSPS,但已满足大多数应用需求。
优化效果:通过减少软件开销,性能提升显著,证明系统瓶颈主要在软件层面。
实用价值:MYD-YT153 + AD7616组合为嵌入式高速数据采集提供了经济高效的解决方案,适合工业自动化、测试测量等应用。