百M千M以太网TCP/IP栈的FPGA实现-初识以太网

以太网,计算机局域网技术。用于多端点的信息交互,本质上跟串口没啥区别。

需要注意的是,以太网协议是分层的。分层的好处在于,对于软件开发者,无需关系下层协议的打包解析。分层协议如下所示:

应用层:软件开发者在此层解析各种软件的协议包,收发邮件,文件传输。即软件开发者一般通过以太网的TCP/UDP协议进行多端点间的数据传输。

传输层:就是TCP/UDP协议包。打包软件应用层 报文到协议data字段中,向下传输;解析下层数据剥离头部向应用层回馈数据。

网络层:百度定义的网络为若干节点及其连接,而节点之间的数据收发,一般是根据IP指定。

链路层:MAC报文,最底层的协议包。

物理层:二进制信号,多端子之间的电信号传递。

 

 

当然,上述分层或者OSI七层模型还是太复杂。可精简分层为:物理层(二进制电信号)、链路层(MAC报文)、上层data协议(MAC数据包)。

对于FPGA而言,只需关心:

Q:外界以太网线缆是如何连接到FPGA芯片上的?

一般通过外部PHY芯片连接到FPGA。

FPGA ← PHY ← RJ45 ← 外部设备

Q:这玩意有IP可调用吗?需要造轮子吗?

对于Xilinx FPGA而言,有三速以太网IP。

Q:没IP可实现吗?可移植性如何?

可以实现,手撕的代码可以移植到国产。

Q:为啥用以太网?性能如何?

跟网络间设备进行数据交互。性能根据以太网类型有不同。

posted @ 2022-01-13 17:59  小翁同学  阅读(451)  评论(0编辑  收藏  举报