首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

基于FPGA的以太网控制器(MAC)设计(上)

今天给大侠带来基于FPGA的以太网控制器(MAC)设计,由于篇幅较长,分三篇。今天带来第一篇,上篇,以太网基本原理以及以太网控制器(MAC)的基本框架。话不多说,上货。...本章将 通过 FPGA 实现一个以太网控制器(MAC)的实例,详细介绍实现过程。...二、以太网控制器(MAC)的基本框架 下面将要介绍的以太网控制器(MAC)实现了以太网标准的第二层协议——MAC(媒体访问控制)协议,完全符合 IEEE 802.3 和 IEEE 802.3u 规范所规定的...图 6 以太网控制器 这个以太网控制器具体实现了以下内容。 • 符合 IEEE 802.3x 规定的全双工帧控制。 • 半双工传输模式下的 CSMA/CD 协议。...针对以太网控制器需要完成的任务,本节将设计以太网控制器的程序框架,并对各个重要部分进行讲解,如图 7 所示。 ? 图 10-7 以太网控制器程序框架 以太网控制器的程序框架包括如下几个主要部分。

1.1K10

基于FPGA的以太网控制器(MAC)设计(中)

今天给大侠带来基于FPGA的以太网控制器(MAC)设计,由于篇幅较长,分三篇。今天带来第二篇,中篇,以太网控制器(MAC)程序的实现。话不多说,上货。...本章将 通过 FPGA 实现一个以太网控制器(MAC)的实例,详细介绍实现过程。...三、以太网控制器(MAC)程序的实现 本篇主要介绍以太网控制器(MAC)程序的主要模块。...3.2 媒体无关接口模块(Media Independent Interface Module) 媒体无关接口模块提供一个连接到外部以太网 PHY 控制器的接口,用来设置 PHY 控制器的寄存器并获得其状态信息...3.5 控制模块 前面介绍的数据发送模块和数据接收模块单独工作时,以太网控制器工作在半双工状态。当以太网控制器工作在 100Mbit/s 全双工时,数据流程由控制模块控制。控制模块由两部分组成。

1.1K30

基于FPGA的以太网控制器(MAC)设计(下)

图 12 以太网控制器程序 Testbench 的结构 从图 12 上可以看到仿真程序应该包括:顶层程序、模拟 PHY 程序、模拟主机程序和以太网控制程序。...PHY 芯片通过 MIIM(媒体无关接口管理模块)来连接以太网控制器,因此: • 当以太网控制器向 PHY 芯片模拟程序发送数据时,PHY 芯片模拟程序控制数据按照协议的进行传输; • 当 PHY 芯片向以太网控制器发送数据时...,外部 PHY 芯片模拟程序首先按照协议要求产生需要传输的数据,然后发送到以太网控制器。...图16 半双工模式下发送和接收数据全过程的测试结果 五、总结 本篇介绍了一个以太网控制器(MAC)的实例。首先介绍了以太网的基本原理,然后介绍了以太网控制器程序的主要结构和主要功能模块的实现过程。...本章为读者设计自己的以太网控制器提供了一个有用的方案,并且有助于加深对以太网协议的理解。 ? 本篇到此结束,各位大侠,有缘再见!

43120

基于FPGA的以太网控制器(MAC)设计(附代码)

这里也给出前两篇的超链接: 基于FPGA的以太网控制器(MAC)设计(上) 基于FPGA的以太网控制器(MAC)设计(中) 导读 当前,互联网已经极大地改变了我们的生产和生活。...PHY 芯片通过 MIIM(媒体无关接口管理模块)来连接以太网控制器,因此: • 当以太网控制器向 PHY 芯片模拟程序发送数据时,PHY 芯片模拟程序控制数据按照协议的进行传输; • 当 PHY 芯片向以太网控制器发送数据时...,外部 PHY 芯片模拟程序首先按照协议要求产生需要传输的数据,然后发送到以太网控制器。...图16 半双工模式下发送和接收数据全过程的测试结果 五、总结 本篇介绍了一个以太网控制器(MAC)的实例。首先介绍了以太网的基本原理,然后介绍了以太网控制器程序的主要结构和主要功能模块的实现过程。...本章为读者设计自己的以太网控制器提供了一个有用的方案,并且有助于加深对以太网协议的理解。 本篇到此结束,各位大侠,有缘再见!

1.6K20

以太网

以太网已经从最开始的10Mbps的速度发展到了今天的100Gbps的速度。以太网最早由美国的Xerox公司设计。...之后,IEEE802.3将以太网进行了标准化。 以太网因不同的通信介质,所以通信速度会有所差异。...以太网是不可靠,面向无连接的服务。以太网将错误的包直接丢弃掉。 以太网帧的前端有一个叫做前导码的部分。它由0,1交替形成,表示一个以太网帧的开始,也是对端网卡能够保持同步的标志。...在这之后就是以太网帧本体。前导码和SFD部分一共占据了8字节。 以太网首部占据了14个字节。...在以太网数据帧的末尾还会有一个FCS,它用于检查帧是否损坏。发送端会计算FCS,接收端也会计算FCS。 LLC,SNAP实际上是逻辑链路控制。

89320

用ModelSim搭建可看代码覆盖率的千兆以太网控制器的仿真环境!

一、把所有代码分为设计代码文件夹hdl和仿真文件夹sim 在hdl文件夹下是对应所有的设计代码,本文中选用opencores网站中十百千自适应的MAC控制器作为设计代码。...testbench下存放最顶层的testbench.v;bfm文件夹下存放以太网phy的简单模型产生以太网数据包的激励,时钟复位产生模块及数据对比模块;filelist文件夹下存放验证环境中所有的.v文件列表文件...(内附开源C代码));in_out下就存放每个不同的测试例对应的激励数据包和经过MAC核控制器后出去的数据包;run目录下存放运行的批处理文件和sim的tcl脚本文件;testcase下存在各种不同的测试例

1.1K20

Linux以太网驱动(基于Zynq XC7Z020)

Linux以太网驱动架构 linux以太网架构共包含三个部分 1 linux的网络架构 2 以太网mac数据驱动(收发) 3 以太网phy的驱动 linux的网络驱动架构及流程 申请注册及初始化设备 1...这个函数包含在之前的注册函数中 ndev->netdev_ops = ðps_netdev_ops; 在这个函数中,我们要做的 1 将sk_buff中传过来的有效数据放入缓冲区 2 将缓冲区的数据通过mac发送出去 以太网...mac数据驱动(收发) 接收 很多芯片都包含mac,以太网mac的收发控制依赖于以太网描述符,以XC7Z020为例 描述符一共由两个32位寄存器组成,包含一个地址和很多的状态控制器。...描述符可以有很多个,将描述符的首地址和数量写入寄存器,以太网数据就会通过dma自动将数存入描述符所指向的地址中,一个描述符的地址写满之后处理器会自动继续将数据写入下一个描述中指向的地址。...以太网phy的驱动 phy驱动只要包括phy的初始化,以及网络状态的读取

1.2K30

以太网用户侧接口(以太网协议转换方案)

图2:以太网连接器处地平面挖空处理 图3:以太网连接器处保护地和数字地分割处理 图4:以太网连接器处数字地处理 那么哪一个是正确的呢?...以太网布局和地平面的功能 为了进一步了解以太网系统和连接器不同部分下面的接地层的概念,让我们简要介绍一下以太网和RJ45连接器的布线要求。...通常首选较短的布线,尤其是在较高频率(如千兆以太网和更高)下,以减少损耗。每个使用以太网的人都非常清楚这些要求。...在非屏蔽电缆上使用屏蔽连接器在抑制电缆中接收到的 EMI 方面没有任何好处,但在实际的以太网系统中也不会造成问题。 千兆以太网和更快的以太网将使用类似的方案,在磁性元件中有四个差分对和共模扼流圈。...对于速度较低的以太网,漏电感将主导噪声传输,因为载波频率较低。相比之下,电容寄生将在更高的以太网速度下占主导地位,因为载波频率更高。

1K20

车载以太网(上)

: 车载以太网的物理连接 从硬件的角度看,以太网接口电路主要由MAC(Media Access Control)控制器和物理层接口PHY(Physical Layer,PHY)两大部分构成,如下图所示...考虑到芯片面积及模拟/数字混合架构的原因,通常,将MAC集成进微控制器而将PHY留在片外。...,因嵌入式芯片厂商一般都将MAC集成在MCU内部,而PHY芯片则由OEM或控制器供应商自己选择: CPU不集成MAC与PHY,MAC与PHY采用集成芯片。...从上面可知,车载以太网主要采用基于一对双绞线进行数据传输的100BASE-T1或1000BASE-T1标准,而我们电脑则使用RJ45接口采用基于4对双绞线进行数据传输的1000BASE-TX标准,因此当我们用电脑测量控制器以太网时...以太网Packet: 对于以太网II帧的传输,以太网控制器在开头插入前同步码和起始帧定界符(SFD),用于指示传输开始。前同步码,开始帧定界符和以太帧的组合称为以太网数据包。

1.8K31

以太网自协商

以太网自协商一、自动协商模式自动协商模式是端口根据另一端设备的连接速度和双工模式,自动把它的速度调节到最高的公共水平,即线路两端能具有的最快速度和双工模式。...自动协商标准允许不同以太网标准的设备-从10BasT到1000BaseT,在网络中共存,减少网络不兼容的风险,使以太网可以平滑的向快速以太网和千兆以太网过度。...随着同轴千兆以太网的出现,网络上需要支持三种速率的设备:10M、100M和1000M。为此IEEE提出一种自动协商技术来消除不同技术之间的接口兼容性问题。...link code word并不是以太网通信结点的有效数据,只被PHY接口模块识别。以太网端口电口工作模式简单介绍。...1.以太网口的两端工作模式(10M半双工、10M全双工、100M半双工、100M全双工、自协商)必须设置一致。

9810

千兆以太网(3):发送——组建以太网心跳包

二、心跳包粗略框架   本次以太网的心跳包结构如下所示:   本次发送 64 个全为0的数据,当然这个数据是自定义的,因此心跳包总长度为118。...(1) 校验和字段清0   假设有一段以太网包前面没有对 IP 校验和字段清0,而是赋了别的值,例如 IP 首部为:45 00 00 30 80 4c 40 00 80 06 b5 2e d3 43 11...可以看到,IP 伪头部包含了 IP 源地址,IP 目的地址,一个字节的 0,协议号和 UDP_len ,在前面做的千兆以太网图像传输项目中 IP 源地址,IP 目的地址,协议号都是固定的,而通过上一篇博客设计的...3、计算的时序安排   ip_checksum 和 udp_checksum 计算完成,该数据填充的位置已经经过,那么就没办法将数据填充到原来填充 0 的位置了,但我们想要将其组成完整的以太网包,这一步是不可避免的...至此,我们组建了以太网发送的心跳包,下一步就可以发送了。 参考资料:威三学院FPGA教程

1.3K20
领券