大容量记录仪–网络部分调试

一.大容量记录仪框架

整体框架如图所示,我主要是做ARM主控,即所有的协议和类似文件系统部分代码都在ARM这边做,FPGA那边挂载的设备比较多,有网卡,盘,光纤等,ARM这边外接RTC,铁电NVRAM。FPGA的速率很快,主要走数据,ARM主要做控制算法。远控软件包括机上远控和机下远控两种,机上是远控通过串口与记录设备的ARM串口相连,机下是远控通过光纤与记录设备的FPGA相连,然后FPGA将远控信息透传给ARM。

二.调试网络

      调试网络,首先是FPGA利用IP核与网卡做好底层的软件,是外接主机与FPGA通过网卡可以进行数据交互。然后可以利用主机(PC)在cmd命令窗口敲击ping看能否ping通,如果能,说明网卡正常了,主机和设备能通过宵网络进行通信。但是ping的过程是需要ARM参与的。前面说过FPGA不进行协议的解析和封装,当pc机发送ping后,ping相关的数据包会被FPGA透传给ARM,ARM然后判断是ping里面的什么包,然后在做操作,将需要返回的包发给FPGA,FPGA再透传给主机。

三.ping原理和具体过程

      如果想要完成网路功能,首先需要主机和记录设备之间能够ping通,那我们需要先了解ping的原理和执行过程。

      如果主机A想要ping主机B,需要封装二层报文,包括ARP包和ICMP包。首先主机下发ping后,主机A先查找自身的MAC表中有没有存储主机B的mac地址,如果有,则直接下发ICMP包。如果没有,需要先发送ARP包。

      1.ARP包。主机A给需要ping的主机B发送ARP包的格式如下:


主机B接受到主机A的ARP包,会将自己的mac地址写入,给主机A返回一个ARP应答包,ARP应答包的格式如下:

     2.ICMP包。当主机A学到了主机B的MAC地址后就会把这个MAC地址封装到ICMP协议的二层报文中向主机B发送,发送的报文格式如下:

 

当主机B收到主机A发过来的报文后,发现是主机A的ICMP回显请求,就按同样的格式返回一个ICMP返回包给主机A,这样就完成了同一网段内的ping过程了,主机B返回给主机A的ICMP应答包格式如下:

具体的ping流程可参考如下csdn博客

我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《Ping过程 原理 详解(图)》, 一起来围观吧 https://blog.csdn.net/f2006116/article/details/51159895?utm_source=app


四.具体调试事例
      具体调试时,以设备为中心,设置的源和目的的mac地址及ip地址如下:图中是在ARM处查看的

 

      当在主机的cmd命令窗口敲击ping 192.168.52.100后,ARP包会从主机经过FPGA到ARM

现象如下:PC机发出经由FPGA到ARM

ARM返回arp返回包经由FPGA到pc机

但PC机下发ICMP包后,FPGA一直没有收到

 

今晚(20191115),FPGA还是没有将网卡调通,暂时怀疑是网卡配置问题或者是电缆的问题,需要继续排查。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值