Zynq—AD9238数据采集DDR3缓存千兆以太网发送实验(三)

Zynq—AD9238数据采集DDR3缓存千兆以太网发送实验(前导)

Zynq—AD9238数据采集DDR3缓存千兆以太网发送实验(一)

Zynq—AD9238数据采集DDR3缓存千兆以太网发送实验(二)


八、板级验证

1.验证内容

通过电脑上的网络调试助手, 将命令帧进行发送, 然后通过 ACZ7015 开发板上的以太网芯片接收, 随后将接收到的数据转换命令, 最终实现对 ACM9238 模块的采样频率、 数据采样个数以
及采样通道的配置。 配置完成之后, ACM9238 模块开始采集数据, 将ACM9238 模块采集的数据通过网口传输到电脑。 电脑端将接收到的数据进行保存, 然后通过 MATLAB 进行进一步的分析。

2.所需硬件

  • ACZ7015 开发板一块
  • ACM9238 模块一个
  • 千兆网线一根
  • Type-C 下载线一根
  • DC 电源线一根
  • 信号发生器一台

3.硬件连接

  1. 使用 Type-C 线连接开发板调试接口(靠近电源接口) 和电脑 USB 口
  2. 将开发板电源拨码开关拨到对应侧
  3. 将网线连接至 PL 侧的网口
  4. ACM9238 模块连接至 40 pin 的排针上, 靠右连接, 1 脚和 1 脚对应

4.烧录程序

(1)launch SDK,Run->Run Configurations

下载成功后,PL侧LED灯会被点亮,说明PLL锁相环工作正常。

5.修改电脑IP地址

前面程序已经设定:目标 IP 地址( PC 端) 为 192.168.0.3。

6.绑定ARP

以太网通信静态ARP绑定方法与常见问题解决方案 - 开发板使用 - 芯路恒电子技术论坛 - Powered by Discuz! (corecourse.cn)

7.功能验证

7.1 网络调试助手通信

  1. 选择协议类型为 UDP。
  2. 设置本地 IP 地址为 192.168.0.3。
  3. 设置本地端口号为 6102。
  4. 点击【连接】 按钮以创建连接, 连接上后该按钮为红色“断开” 字样。
  5. 连接上后, 设置目标主机为 192.168.0.2, 目标端口为 5000。
  6. 点击“接收保存到文件” 这几个字, 在弹出的界面中设置文件路径、 文件名称, 如下图。 这样在数据接收完成之后会保存一个数据文件。 

7.2 MATLAB图像绘制

MATLAB:ADCdata_to_wave_v2_2.m 文件

信号源为 100Khz, Vpp 为 5V 的正弦波。

7.3 数据采集上位机通信

“小梅哥控制台 For ADC 采集.exe”,注:要把这个软件放到D:MFC_Data中。o(╥﹏╥)o

“小梅哥控制台For ADC采集”数据采集上位机使用方法说明 - Xilinx Vivado 开发板 - 芯路恒电子技术论坛 - Powered by Discuz! (corecourse.cn)

 步骤:

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

后记

测试了开发板网线直连电脑可以传输数据。但是通过开发板→交换机→电脑,没有数据传输。通讯采用UDP通讯,一个是无法满足我们对采集数据的傅里叶变换和傅里叶逆变换的处理。二是无法通过交换机传输数据。

打算采用FPGA+W5500的形式尝试。我之前尝试用开发板通过杜邦线连接W5500模块,发现spi的CS信号有50ns的拉高干扰不知道哪里来的。后续如果有结果会进行更新。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/729886.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5. Java内存模型JMM

文章目录 计算机硬件存储体系基于计算机存储结构的 JMM Java 内存模型 JavaMemoryModelJMM规范下的三大特性原子性可见性有序性 多线程对变量的读写过程读取过程 多线程先行发生原则 happens-beforex,y 的 case 说明happens-before 原则说明happens-before 大原则happens-befor…

如何转行成为产品经理?

转行NPDP也是很合适的一条发展路径,之后从事新产品开发相关工作~ 一、什么是NPDP? NPDP 是产品经理国际资格认证,美国产品开发与管理协会(PDMA)发起的,是目前国际公认的唯一的新产品开发专业认证&#xff…

fasta文件与fastq文件相互转化Python脚本

fa文件与fq文件互相转换 今天分享的内容是fasta文件与fastq文件的基本知识,以及通过Python实现两者互相转换的方法。 测序数据公司给的格式通常是fq.gz,也就是fastq文件,计算机的角度来说,生物的序列属于一种字符串,就…

CVHub | 万字长文带你全面解读视觉大模型(建议收藏!)

本文来源公众号“CVHub”,仅用于学术分享,侵权删,干货满满。 原文链接:万字长文带你全面解读视觉大模型 0 导读 众所周知,视觉系统对于理解和推理视觉场景的组成特性至关重要。这个领域的挑战在于对象之间的复杂关系…

形参化类 ‘Result‘ 的原始使用

在编程中,特别是在面向对象编程(OOP)中,当我们说“形参化类”或“参数化类”,我们实际上是指泛型(Generics)的概念。泛型允许在定义类、接口和方法时使用类型参数。这样,你可以创建可…

99.qt qml-单例程序实现

在之前讲过: 58.qt quick-qml系统托盘实现https://nuoqian.blog.csdn.net/article/details/121855993 由于,该示例只是简单讲解了系统托盘实现,并没有实现单例程序,所以多次打开后就会出现多个exe出现的可能,本章出一章QML单例程序实现, 多次打开始终只显示出第一个打开…

DiT:Scalable Diffusion Models with Transformers

TOC 1 前言2 方法和代码 1 前言 该论文发表之前,市面上几乎都是用卷积网络作为实际意义上的(de-facto)backbone。于是一个想法就来了:为啥不用transformer作为backbone呢? 文章说本论文的意义就在于揭示模型选择对于…

用python写一个自动进程守护,带UI

功能是指定程序关闭后自动重启,并点击1作为启动 原来的想法是群成员说的某软件打包后,软件进程被杀后,界面白屏。所以写了个计算器重启demo进行进程守护 import subprocess import time import pyautogui import psutil #用计算器做演示。 d…

WiFi模块助力敏捷办公:现代办公室的关键角色

随着信息技术的飞速发展,现代办公室正经历着一场数字化和智能化的变革。在这一变革过程中,WiFi模块作为无线通信技术的核心组成部分,扮演着关键的角色,为敏捷办公提供了强大的支持。本文将深入探讨WiFi模块在现代办公室中的关键角…

Spring Boot工作原理

Spring Boot Spring Boot 基于 Spring 开发,Spirng Boot 本身并不提供 Spring 框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于 Spring 框架的应用程序。也就是说,它并不是用来替代 Spring 的解决方案,而是和 Spr…

安康杯安全知识竞赛上的讲话稿

各位领导、同志们: 经过近半个月时间的准备,南五十家子镇平泉首届安康杯安全生产知识竞赛初赛在今天圆满落下帏幕,经过紧张激烈的角逐, 代表队、 代表队和 代表队分别获得本次竞赛的第一、二、三名让我们以热烈的掌声表示祝…

使用插件vue-seamless-scroll 完成内容持续动态

1、安装插件 npm install vue-seamless-scroll --save 2、项目中引入 //单独引入import vueSeamlessScroll from vue-seamless-scrollexport default {components: { vueSeamlessScroll},}//或者在main.js引入import scroll from vue-seamless-scrollVue.use(scroll)3、页面使…

SRS服务器ffmpeg 推流rtmp超时中断

ffmpeg错误显示 failed to update header with correct duration failed to update header with correct filesize. Error writing trailer of rtmp://----- broken pipe SRS日志错误显示 serve error code2056 kickoffforidle : service cycle : rtmp stream service: timeou…

基于Pytorch搭建分布式训练环境

Pytorch系列 文章目录 Pytorch系列前言一、DDP是什么二、DPP原理terms、nodes 和 ranks等相关术语解读DDP 的局限性为什么要选择 DDP 而不是 DP代码演示1. 在一个单 GPU 的 Node 上进行训练(baseline)2. 在一个多 GPU 的 Node 上进行训练临门一脚&#x…

【深度学习笔记】稠密连接网络(DenseNet)

注:本文为《动手学深度学习》开源内容,部分标注了个人理解,仅为个人学习记录,无抄袭搬运意图 5.12 稠密连接网络(DenseNet) ResNet中的跨层连接设计引申出了数个后续工作。本节我们介绍其中的一个&#xf…

5个实用的PyCharm插件

大家好,本文向大家推荐五个顶级插件,帮助开发人员提升PyCharm工作流程,将生产力飞升到新高度。 1.CodiumAI 安装链接:https://plugins.jetbrains.com/plugin/21206-codiumate--code-test-and-review-with-confidence--by-codium…

Windows上基于名称快速定位文件和文件夹的免费工具Everything

在Windows上搜索文件时,使用windows上内置搜索会很慢,这里推荐使用Everything工具进行搜索。 "Everything"是Windows上一款搜索引擎,它能够基于文件名快速定位文件和文件夹位置。不像Windows内置搜索,"Everything&…

容器:Docker部署

docker 是容器,可以将项目的环境(比如 java、nginx)和项目的代码一起打包成镜像,所有同学都能下载镜像,更容易分发和移植。 再启动项目时,不需要敲一大堆命令,而是直接下载镜像、启动镜像就可以…

echarts x轴名称过长tip显示全称

xAxis的axisLabel的内容如下: axisLabel: { rotate: -45, color: document.body.className.indexOf(custom-f4c46d) > -1 ? #fff : #343434, // 显示省略号操作(第一步) formatter: function (value) { var val if (value.length >…

NTP协议介绍

知识改变命运,技术就是要分享,有问题随时联系,免费答疑,欢迎联系! 网络时间协议NTP(Network Time Protocol)是TCP/IP协议族里面的一个应用层协议,用来使客户端和服务器之间进行时…