杰哥之前给的程序已经修改好了。目前程序可以将ad7606板卡的数据采集到,并通过ila抓到相关的波形。

图中,可以看到各个通道数据由SPI移位传输采集数据的变化,同时数据传输完毕,各个通道数据稳定后,相关的数据读取信号有相应的上升沿变化提示数据读取。已经给ad_ch4传输进了正弦波信号源,可以观察到ad_ch4数据不同于其他几个通道的正弦波,分析可知数据符合预期。
之后链接上位机,将数据传输到电脑上,由wireshark抓取。

实际上位机抓到的UDP包总共4个,观察UDP包内容,同样是第四个通道内数据数值大小与其他通道存在明显不同,即可以认为是输入通道的数据。
另外,发现在第一个UDP包里面的第一个slice里面,数据基本都是0,并不是采集的数据。检查上面的ila波形,发现在传输数据之前,多了一个ad_data_valid信号上升沿,分析可知就是这个多出来的上升沿,导致传过去了一个无效的数据。
目前相关的ddaq_read_ad程序基本没有问题。后面还需要将数据采集传输发送全链路,根据该程序对应接口进行修改对接。
另外,在测试时延的时候,也需要将上位机接受的数据传输到PCI卡,并通过该卡的接口传输出来,再通过示波器监测数据。
为了便于监测数据,可以将信号发生器波形修改为方波,这样子通过分析采集信号是否达到阈值,就能得出该信号是高电平还是低电平。另外,为了便于观察,还需要增加每组采集的采样点数目,延长采样的波形,便于进行观察。
本文章使用limfx的vscode插件快速发布