芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 2807|回复: 0

【紫光同创】千兆以太网传输AD7606数据采集

[复制链接]

该用户从未签到

27

主题

29

帖子

218

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
218
发表于 2023-4-24 11:09:26 | 显示全部楼层 |阅读模式
案例
本节实验结合ADI公司的16位8通道并行采样ADC芯片AD7606,将AD7606型8通道16 位ADC的数据转换控制并输出。FPGA采用RGMII接口与以太网PHY芯片通信,接收以太网数据包,并提取出以太网数据包中UDP协议报文的数据内容,然后将数据转化成控制命令,从而实现对AD7606的采样频率、数据采样个数以及采样通道的合理配置,采集完成后的数据经FIFO缓存后,通过网口以UDP协议传输到电脑。用户可以在电脑上通过网口调试工具进行指令的下发,并以文件的形式保存接收到的数据,然后使用MATLAB软件进行进一步的数据处理分析。下面将对本节工程包含的各个模块功能进行介绍:
1.        rgmii_to_gmii模块:以太网接收rgmii转gmii,将rgmii接口信号转换成gmii接口。
2.        eth_udp_rx_gmii模块:GMII以太网接收模块,接收用户在电脑上通过网络助手或者上位机发送的包含指令数据的数据帧。
3.        fifo_rx模块:FIFO IP核,以太网接收模块工作时钟125M,AD7606控制器工作时钟50M,两者数据速率不匹配,使用该IP核解决采集过程中会出现的跨时钟域数据交互问题。
4.        eth_cmd模块:接收转命令模块,对接收到的以太网数据进行分析,提取出每个控制命令帧。
5.        cmd_rx模块:指令转控制模块,将从接收转命令模块接收到的数据转换为相应的控制数据并分别输出到对应的模块。
6.        ad7606_driver模块:AD7606控制器驱动模块,该控制器实现了对AD7606型8通道16位ADC的数据转换控制并输出。使用该控制器时,用户无需关心AD7606的具体控制时序,一切都在控制器内部完成,用户只需要像使用并行ADC一样取用数据即可。
7.        adc_write_ctrl模块:ADC采集控制模块,AD7606 在配置好采样频率后进行采样,采集的数据由 adc_data_mult_ch 输入该模块。
8.        fifo_tx模块:FIFO IP核,存储从ADC采集控制模块输出的16位数据,数据经缓存后又由以太网发送模块读取。
9.        eth_send_ctrl模块:网口发送控制模块,该模块主要控制网口发送模块的使能控制信号以及对以太网数据帧数据长度的控制。
10.      eth_udp_tx_gmii模块:网口发送模块,将采集到的数据以以太网帧的形式进行发送。
11.      gmii_to_rgmii模块:以太网发送gmii转rgmii,将gmii接口信号转换成rgmii接口。

案例适配硬件照片
1.jpg


板级验证

对于如何修改电脑IP地址,以及绑定ARP这里不做赘述,可以查看其它帖子(http://www.corecourse.cn/forum.php?mod=viewthread&tid=28645
完成上述操作之后,首先需要打开网络调试助手发送指令去配置,按照如下所述设置各项参数。网络调试助手软件读者也可以在其它链接找到(http://www.corecourse.cn/forum.php?mod=viewthread&tid=28374)。
1.        选择协议类型为UDP。
2.        设置本地IP地址为192.168.0.3。
3.        设置本地端口号为6102。
4.        点击【连接】按钮以创建连接,连接上后该按钮为红色“断开”字样。
5.        连接上后,设置目标主机为192.168.0.2,目标端口为5000。
6.        发送设置中数据类型设置为hex格式
7.        点击“接收保存到文件”这几个字,在弹出的界面中设置文件路径、文件名称,如下图 所示。这样在数据接收完成之后会保存一个数据文件。方便后面进行分析。
4.png


最终的网络助手配置界面如下图所示

企业微信截图_16823154818349.png

本次实验提供的信号源为2KHz,Vpp为5V的正弦波(正负2.5V),而且只对第一通道的数据提供信号源。开始传输数据帧命令发送完成之后,AD7606就能实现以2KHz的采样速率,对八个通道进行采样,共采集16384个数据(共32768个字节),字节的数量可以查看保存文件的属性进行查看。如何对多通道进行采集和绘制可以查看(http://www.corecourse.cn/forum.php?mod=viewthread&tid=29325)最终的实验效果图如下所示
3.png


2.png


前面我们提到过本次实验提供的信号源为2KHz,Vpp为5V的正弦波(正负2.5V)且只对第一通道提供信号源,与MATLAB分析出来的波形一致,说明我们本次实验成功。

通过网络调试助手采集数据时,每次保存数据都需要重新点击“接收保存文件”一栏,修改寄存器参数的时候,都需要重新计算,然后发送命令,修改之后也不能直接实时观察到数据波形,使用起来不是很方便。基于上述问题,我们设计了上位机软件“小梅哥控制台For ADC采集”进行数据采集,上位机内部直接对命令进行了构建,用户只需要在界面上对采样参数进行设置,便可以实时观测到数据变化,读者可以在本帖的压缩包中找到下载链接。双击上位机软件,初始界面如下图所示。

1.png

本次实验使用该软件的方式如下所示:
1.        点击ADC,选择ACM7606。
2.        点击方式,选择网口,可以看到主机IP(PC端)和目的IP(FPGA)以及对应的端口号。主机IP:192.168.0.2,主机端口号:6102;目的IP:192.168.0.3,目的端口号:5000。
3.        选择完成之后,可以看到对采样通道、采样数量等都已经设置了初始值(默认设置的采样率为ADC模块的最大采样率),用户可以根据自己的需求进行修改。
4.        点击网络连接。
5.        点击开始传输之后,可以看到在右边采样电压波形图界面可以直观看到波形图,如下图所示。需要注意的是波形图的横坐标对应的不是频率,而是采样数量。

2.png

通过上位机采集到的数据文件保存在d:/ MFC_Data文件夹下,后续可以通过MATLAB软件进行进一步的分析。


ad7606_udp_rgmii.rar (194.02 KB, 下载次数: 267)

更多紫光同创FPGA相关资料,请查看下述汇总贴
【紫光同创】紫光同创国产FPGA产品使用自助服务手册



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

GMT+8, 2024-4-29 22:05 , Processed in 0.117112 second(s), 34 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表