自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 以太网中继项目A1--遇到的问题

2、由于发送端A1仅为FPGA板接收,因此为保护代码的间接性与易读性,刚开始设计时,针对于phy芯片及FPGA间的MII接口,仅定义了需要使用的端口,没有定义eth_tx等端口,此种情况下,当代码下载进板子后,FPGA与PC间的网口会自动断开。因此,添加目的MAC与开发板MAC的比对,一般错误数据的MAC地址(48位)是无法对应上的,因此可过滤掉错误数据。最终发现是由于MII端口未定义完全,导致网口的phy芯片不能正常启动导致的。因此虽使用不到端口,但也必须定义。

2024-03-07 11:59:33 332

原创 以太网中继项目--A1问题(3)

实现粗略过程:使用状态机对以太网包进行拆帧,并实现提取。这就要求必须对以太网的帧结构非常熟悉。在此之中,关键的一步是对目的MAC的判断,由于目的IP与目的MAC绑定后,发送目的IP时上位机会自动填入目的MAC,因此可在代码中提前输入绑定好的MAC地址,并将其与接收到的MAC地址进行判断,若相同才说明是用户真正想要发出的数据,从而过滤掉以太网口不间断的吐出的错误数据。至此,以太网的发送完成。)4部分进行发送,提高光信道的利用率并且减少误码(数据少了,误码相对也会变少)的可能性。从复杂的以太网帧中提取出。

2024-03-07 11:38:49 360

原创 以太网中继项目--A1问题(2)

答:假设MAC地址错误后跳转至初始状态,而此刻eth_rxdv仍有效,代表这一包没有结束,后续包中若有55,则又会进入到状态转移中去,从而带来错误。因此,必须跳转至接收结束状态,等待eth_rxdv为0后,表示这错误的一帧彻底结束了再重新接收下一帧。1、为什么检测错误时不跳转至初始状态而跳转至接收结束状态呢?

2024-03-07 10:56:21 296

原创 以太网中继项目---A1问题(1)

(3)将这个上升沿前面的4bit数据赋值给rx_data低4位。(2)在rx_dv有效时,eth_rx_data发生变化(真实环境中应略落后于rx_dv一点点)(4)SW先将1赋给VAL,再将数据放入高位(有这么一个顺序,但是时序中是体现不出来的)(5)SW变为1的时候将这个上升沿前的数据放入低位(变为1在下个周期有效,此时仍为0)(1)rx_dv在rx_clk的上升沿变化(真实环境中应略落后于时钟上升沿一点点)(2)SW取反变为1;(4)SW将时钟上升沿前的数据赋值给VAL(val落后于sw半个周期)

2024-03-07 10:40:26 310

原创 问题记录总结6---串口项目中遇到的问题6

上图中,在采样区(20-30)中,既出现了下降沿,也出现上升沿,这是错误的(违背了采样区内必须连续的原则),在采样区采到上升沿应用使nedge_cnt清0。3、通过分析下图得知:上一个数据AA由于速率低还未发送完成,读模块中的状态仍停留在3,但是下一个数据已经来了,导致缺少了1个idel_en,使数据没出去。当上一个数据发送完成,并且FIFO非空时,发送无效码使能,无效码发送完成,读一次数据,读完数据后,发送数据,周而复始,解决问题。1、将速率调低后,发送AA55,接收端只能接收AA。

2024-01-16 16:37:55 389 1

原创 问题记录总结5---串口项目中遇到的问题5

接收rx_lvds端口有很多噪音信号,会导致接收模块错误的认为数据已经被发送,从而上传错误的信息。

2024-01-16 15:31:26 466 1

原创 问题记录总结4---串口项目中遇到的问题4

FIFO一上电不为空,empty为0

2024-01-09 21:58:00 431

原创 问题记录总结3----串口项目中遇到的问题3

而上一个数据没发完的原因是由于在光路上仍以115200的波特率发送数据,最多发20.1个数据,因此本次所发数据为21位,就导致了上一个数据的done信号未产生的情况下,下一个信号的en_flag信号到来。经过对signalTap图的分析发现,无法实现连发的原因是由于是上一个8bit数据还没发完的情况下,下一个数据的en_flag就来了,导致state状态归零后无法置1导致的。使用光路上的串口发送经过曼彻斯特编码后的数据时,只能单次点击发送8bit数据,无法实现一次性发送多个数据。

2023-12-06 09:52:00 114 1

原创 问题记录总结2----串口项目中遇到的问题2

对于曼彻斯特编码而言,并不是所有的沿都是数据,因此需要对有用的沿进行一个提取。

2023-11-29 21:41:40 30 1

原创 问题记录总结1----串口项目中遇到的问题1

当对串口的空闲状态进行曼彻斯特编码后,在pe_uart_rx如何识别数据的起始是解码成功的关键。

2023-11-29 21:23:26 120 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除