FPGA---UDP通信求助

news2024/11/18 0:33:11

项目场景:

使用UDP进行回环,网络调试助手,发送数据通过UDP接收模块接收,解析出数据,给到UDP发送模块,传回上位机。


问题描述

UDP接收模块中,接收到的CRC校验值与自己计算CRC校验值进行判断,相符后将数据解析给发送端,否则回到空闲状态。当加上CRC校验判断后,回环会有无法接收现象。去掉CRC判断,数据回环无误。

(1)现确定crc计算模块无误,crc_result为接收上位机的值,crc_sum为计算值。
在这里插入图片描述
(2)接收模块中均对目的mac,目的IP,udp端口,IP校验,进行验证均无误。
在这里插入图片描述

此代码用于判断接收CRC值与计算CRC值

always @ (posedge clk125m_o  or negedge reset_n)
		if(!reset_n)
			rx_done_check_ok <= 1'b0;
		else if(crc_result == crc_sum )   
			rx_done_check_ok <= 1'b1;
		else
			rx_done_check_ok <= 1'b0;   //改为1则认为crc值相等,即不判断
	

此代码用于判断CRC是否通过,通过产生结束信号,解析出数据,不通过则回到空闲状态。

RX_DONE:  begin
									
								if((cnt_rx_done >= 2'd2) && (rx_done_check_ok == 1'b0) )
									begin
										curr_state <= IDLE;
										cnt_rx_done <= 0;
									end	
								else if(cnt_rx_done >= 2'd3)
									begin
										GMII_RX_DONE <= 1;
										curr_state = IDLE;
										cnt_rx_done <= 0;
									end
								else 
									begin
										cnt_rx_done <= cnt_rx_done + 1'b1;
										curr_state <= curr_state;	
									end
							end

仿真时没有问题:
在这里插入图片描述
不加CRC判断上板测试时数据传输无误:
在这里插入图片描述
加CRC校验时有时无法通过:
在这里插入图片描述
wireshark抓取也是:
在这里插入图片描述

【注:】

always @ (posedge clk125m_o  or negedge reset_n)
		if(!reset_n)
			rx_done_check_ok <= 1'b0;
		else if(crc_result == crc_sum )   
			rx_done_check_ok <= 1'b1;
		else
			rx_done_check_ok <= 1'b0;   //改为1测为不判断crc校验
	

还请各位大佬不吝赐教,不胜感激!!!
还请各位大佬不吝赐教,不胜感激!!!
还请各位大佬不吝赐教,不胜感激!!!
还请各位大佬不吝赐教,不胜感激!!!
还请各位大佬不吝赐教,不胜感激!!!
还请各位大佬不吝赐教,不胜感激!!!

【工程附件:】链接:https://pan.baidu.com/s/1Rw9Q0jhR82vSSx_FGYmquQ?pwd=2vvu
提取码:2vvu

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

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

相关文章

【电商API接口的应用:电商数据分析入门】初识Web API(一)

如何使用Web应用变成接口(API)自动请求网站到特定信息而不是整个网站&#xff0c;再对这些信息进行可视化。由于这样编写到程序始终使用最新到数据来生成可视化&#xff0c;因此即便数据瞬息万变&#xff0c;它呈现到信息也都是最新的。 使用Web API Web API是网站的一部分&am…

javapoet 注释中添加枚举值

问题描述 使用javapoet生成源代码 为了实现这么一个目的 解决 翻了一下源代码&#xff0c;他的实现如下&#xff1a; 这个方法是私有的&#xff0c;暂时不确定如何调用 照着这个方法&#xff0c;即可实现大多数类型的基本调用 即可实现上图需要的效果

为Yolov7环境安装Cuba匹配的Pytorch

1. 查看Cuba版本 方法一 nvidia-smi 找到CUDA Version 方法二 Nvidia Control Panel > 系统信息 > 组件 > 2. 安装Cuba匹配版本的PyTorch https://pytorch.org/get-started/locally/这里使用conda安装 conda install pytorch torchvision torchaudio pytorch-cu…

[华为认证]路由表和FIB表

路由器转发数据包的关键是路由表和FIB表&#xff0c;每个路由器都至少保存着一张路由表和一张FIB&#xff08;Forwarding Information Base&#xff09;表。路由器通过路由表选择路由&#xff0c;通过FIB表指导报文进行转发。 路由表 每台路由器中都保存着一张本地核心路由表&…

Java学数据结构(4)——PriorityQueue(优先队列) 二叉堆(binary heap)

前言 数据结构与算法作为计算机科学的基础&#xff0c;是一个重点和难点&#xff0c;在实际编程中似乎看不它们的身影&#xff0c;但是它们有随处不在&#xff0c;如影随形。 本系列博客是《数据结构与算法分析—Java语言描述》的读书笔记&#xff0c;合集文章列表如下&#…

delphi socket cross开源跨平台通讯库

delphi socket cross是Pascal开源跨平台的tcp通讯组件 windows下用的iocp linux下用的epoll 支持http&#xff0c;https 开源地址&#xff1a;GitHub - winddriver/Delphi-Cross-Socket: Delphi cross platform socket library 下图来自网络&#xff1a;

陪诊系统|陪诊系统解放繁琐,为陪诊添便利

在当代快节奏的生活中&#xff0c;随着医疗服务的不断发展&#xff0c;陪诊成为了越来越多人的需求。然而&#xff0c;传统的陪诊方式却存在着时间成本高、沟通不畅、服务体验差等问题。但近年来&#xff0c;陪诊小程序的兴起却为这一难题提供了创新的解决方案。 陪诊小程序&a…

Congestion Control for Large-Scale RDMA Deployments

文章目录 IntroductionDCQCNBuffer Setting Introduction PFC是粗粒度的流量控制机制&#xff0c;在端口层面发挥作用&#xff0c;不区别不同的流。这会导致很多弊端&#xff0c;比如不公平&#xff0c;受害流等。 解决PFC限制的解决方法是flow-level的拥塞控制&#xff0c;D…

拥抱AI变革,实现企业数字化重生!

在当今这个数字化快速发展的时代&#xff0c;人工智能&#xff08;AI&#xff09;正在逐渐成为企业转型的核心驱动力。本文将探讨AI如何在企业数字化转型中发挥重要作用&#xff0c;以及应对数字化转型中可能出现的风险和挑战。 目前&#xff0c;企业数字化转型的趋势日益明显…

如何更改照片底色(免费)

一、小程序截图 ①微信上找证件照的小程序&#xff0c;比如“独九证件照” ②换底色然后上传照片&#xff1a; ③ 原图&#xff1a; 换底色后的图&#xff1a; ④截图&#xff1a; ⑤裁剪 然后就得到免费的换底片后的证件照了。 二、PS修改 方法一&#xff08;更建议用&…

VueRouter与expres/koa中间件的关联

ueRouter: runQueue 路由守卫都是有三个参数to,from,next。其中next就是下方的fn执行时候传入的第二个参数(回调函数)&#xff0c;只有该回调执行后才会挨个遍历queue内的守卫。 中间件的作用 隔离基础设施与业务逻辑之间的细节。详细的内容位于《深入浅出Node.js》P210 另外一…

408-2014

一、单项选择题 1.下列程序段的时间复杂度是_______。 count0; for(k1;k<n;kk*2)for(j1;j<n;j)count; A.O() B.O(n) C.O() D.O(n*n) 解答&#xff1a;C 外层循环的时间复杂度为 O() &#xff0c;内层循环的时间复杂度为 O(n)&#xff0c;因此结果…

Matlab图像处理——基于机器视觉的苹果中心花及边花识别

一、简介 基于机器视觉技术&#xff0c;实现苹果中心花及边花识别&#xff0c;并将程序集合为GUI界面&#xff0c;在界面上完成相应的操作。实现了对图像进行预处理&#xff0c;分割出花心和边花&#xff0c;然后统计边花的数量。并且可以根据自己的需求和图像的特性来调整阈值…

idea中使用git【图文详解】

配置 配置Git 设置——Version Control——Git——Path to Git executab【D:\Git\Git\bin\git.exe】 创建Git查看 最上面VCS——Create Git Repository 添加忽略项 安装ignore插件&#xff1a;设置——plugins——搜索ignore 新建ignore文件&#xff1a;右击项目——new——.…

Hazelcast系列(三):hazelcast集成(服务器/客户端)

系列文章 Hazelcast系列(一)&#xff1a;初识hazelcast Hazelcast系列(二)&#xff1a;hazelcast集成&#xff08;嵌入式&#xff09; Hazelcast系列(三)&#xff1a;hazelcast集成&#xff08;服务器/客户端&#xff09; Hazelcast系列(四)&#xff1a;hazelcast管理中心 …

紫光同创FPGA 多路视频处理:图像缩放+视频拼接显示,OV7725采集,提供PDS工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐FPGA图像缩放方案推荐FPGA视频拼接叠加融合方案推荐紫光同创FPGA图像采集方案推荐紫光同创FPGA图像缩放方案推荐紫光同创FPGA视频拼接方案推荐 3、设计思路框架为什么选择OV7725摄像头&#xff1f;视频源选择OV7725摄像头配置及采集动态彩…

JUC学习笔记

基础知识 线程 线程是进程中的一个实体&#xff0c;线程本身是不会独立存在的。一个进程中至少有一个线程&#xff0c;进程中的多个线程共享进程的资源。 进程 是程序的一次执行&#xff0c;是系统进行资源分配和调度的基本单位。每一个进程都有自己独立的内存空间和系统资…

2023年下半年WSK-PETS5报名启动

2023年下半年全国外语水平考试&#xff08;WSK-PETS5&#xff09;网上报名时间为10月17日9时-10月19日16时&#xff0c;知识人网小编特别提醒考生注意报名截止时间是16点&#xff08;下午4点&#xff09;&#xff0c;切勿错过&#xff01; 国家公派留学人员全国外语水平考试&am…

2023年【陕西省安全员B证】考试试卷及陕西省安全员B证模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 陕西省安全员B证考试试卷是安全生产模拟考试一点通总题库中生成的一套陕西省安全员B证模拟考试&#xff0c;安全生产模拟考试一点通上陕西省安全员B证作业手机同步练习。2023年【陕西省安全员B证】考试试卷及陕西省安…

2023全网最全requests库和requests模块使用详解(建议收藏)

一、requests简介 #简介&#xff1a;使用requests可以模拟浏览器的请求&#xff0c;比起之前用的urllib&#xff0c;requests模块的api更加便捷&#xff08;本质就是封装了urllib3&#xff09;#注意&#xff1a;requests库发送请求将网页内容下载下来以后&#xff0c;并不会执…