D-DAQ相关变量与参数定义 & 测试计划 (20251111)
D-DAQ相关变量与参数定义
系统结构定义:
- 采样点(sample point):基本的采集单元,包含了所有通道在同一时刻的测量值。
- 采样片(sample slice):用于适配网络传输的相关中间单元,采样块大于一个UDP包最大载荷时,需要将采样块分割为多个采样片,此时一个采样片对应一个实际传输的UDP包。
- 采样块(sample blob):数据处理和更新的基本单位,大小可以根据应用需求灵活配置。
Slice由包头信息和采样点组成。
包头信息为16字节,包含数据描述和控制字段,可保证接收端能够准确重组数据块,并验证数据完整性和连续性。
每个Slice有n个采样点,其中采样点包含了所有的p个通道在同一时刻的2字节测量值。

包头信息如下:
- Sample偏移值:当前Blob里面,所在Slice的第一个Sample的偏移值,4字节;注意这里的sample offset不会因为blob cnt增加而归零,会一直递增直到达到32位上限后才会溢出回到零;
- Blob采样点数:当前所在的Blob包含的采样点数量,2字节;
- Slice采样点数:当前Slice包含的采样点数量,2字节;
- 通道配置:标识当前启用的采集通道数量,1字节;
- 抽样系数:控制数据降采样的比例系数,如果是1,表明未进行降采样,包含了全部的原始数据,1字节;
- Job编号:当前采集任务标识序号,1字节;
- 剩余3个字节保留,以后有新需要可添加补充。

在进行一次采样之前,上位机可以对采集卡进行相关参数配置,生成相关参数,并为当前采样生成job_id。相关参数如下:
- 采样率(sample_rate):当前采样的采样率,通常为整数值,如2M、1M、200K等;
- 采样数(tample_num):当前所在blob中的采样点个数;
- 总采样数(total_sample_num):当前一次采集工作的总采样点个数;
- 通道掩码(sample_mask):各个子卡各分配一个通道掩码,用于指示192个通道里面哪些是开启采集的;
- 抽样系数(sample_coef):传输中的降采样率,表示从n个采样点中抽取一个发送,其他点在UDP传输中舍弃;
- 事务编号(job_id):前三个参数的抽象化表示,只占一个字节,节省空间,在UDP包头中附上job_id,接收端知道job_id就可以判断对应的前三个参数是什么。
采样模式分为两种:
- SHOT MODE:单次采集,采集到total_sample_num个采样点后就可以结束采集。
- STREAM MODE:流模式采集,接收到开始信号后持续进行采集,直到接收到终止的触发信号后停止。
在实际工作中,用户可以通过掩码控制各个通道开启与关闭,也可以控制整体系统的采样率(最高2M),从而控制系统的数据传输速率。
后续测试计划
新买的板卡型号为MLK_F29_CZ11_7030,用作进行数据采集的子卡。整体计划如下:
- 首先在子卡上装载ad7606,测试子卡数据采集功能;
- 之后更换为更高采样率的ad板卡,并测试系统PL端相关功能;
- 测试系统的PS端相关功能。
在测试中,需要测试到如下方面:
- 基本功能测试:测试整个系统能否实现基本功能,即采集数据通过整个数据通路,传输至目标电脑。
- 参数功能测试:对系统各参数进行调节后,测试在调整参数后系统工作模式是否符合参数设置。
- 性能测试:测试不同参数调节情况下,数据从信号发生器产生,到通过数据链路传输到目标电脑,并由示波器检测到的时延等性能。
- 极限性能测试:调节不同参数,测试系统在可以达到最大数据传输速率,或最低数据传输时延,等情况下,其他相关参数的可调节范围。
本文章使用limfx的vscode插件快速发布