问题与解决方式记录和学习开发过程中的心得体会
- 从相机供应商提供的上位机与相机通信的抓包数据来看,PC可以发低于46字节的ETH数据帧。
图中的50、54是包含了ETH帧头14字节,因此ETH的有效数据帧就明显小于46字节了。因此我就按照它这样去写FPGA程序,写好之后,如果数据帧后面不补0,发现PC端是抓不到这个包的,但是可以看到RJ45的led闪烁频率可以对得上,因此判定PC可以发送非标准的ETH帧,而不可以接收非标准的ETH帧。
- 在编写Verilog代码时,顶层模块例化时,中间变量(即将模块连起来的信号)一定要定义声明,如过不声明,分析综合与全编译可能都不会报错,但是在实际运行时,这些信号极有可能会出现高阻态等问题,尤其是多位的数据信号,导致程序无法正常执行。quartus ii亲自体会。
- 在刚开始用FPGA给相机发送CMD信号时,用交换机poe供电相机无法接收到来自FPGA的CMD信号,发现用DC(直流电源)供电之后,无论是用poe供电还是DC供电,相机都可以接收到来自FPGA的信号,并且能够有相应的ACK信号出现。
2024.7.20更新