zoukankan      html  css  js  c++  java
  • MAC 源代码分析---(一)概述

         近来一个项目中用到MAC层实现大数据量高速传输,移植使用了MAC IP核,并分析学习。MAC 位于数据链路层,向下将帧数据发送给物理层,MAC实现802.3标准。

        以太网和802.3 标准都 使用了CSMA/CD的技术,可以随时接入网络。在发送前,对网络进行监听确定是否被占用。如果在占用则等待一段时间后重新监听,否则立即发送数据。当两个发送方同时监听一个网络的空闲状态时会产生冲突,这时双方的传输都会受影响,backoff算法再等待一段时间还发送。   以太网和802.3都是广播形式的,数据虽然有目的地址,但会经常每一个节点,收到数据后根据目的地址选择丢弃还是处理后送上一层处理。

    帧格式:

    帧开始是1和0交替的前缀,长度是7个字节,收到前缀即告诉我们要收到一帧数据了。接下来是SOF分隔符,再就是各6个字节的目的地址和源地址。Ethernet接下来是帧类型,802.3中是数据长度,数据最小长度是64字节,最后有4个字节的循环检校。

         这个以太网MAC IP核包括7个主要模块:WISHBONE接口、发送、接收、控制、MII、状态和寄存器模块,其中各部分还有子模块。Wishbone接口模块包括主从两个接口连接IP核到Wishbone总线上。主部分把接收到的数据帧储存到内存中,把内存中发送的数送到ip核发送出去。发送模块包括前缀生成、padding、CRC等。接收部分去前缀、CRC检校。控制模块执行双工发收的相关操作。MII模块连接到物理层芯片,完成配置和数据收发。状态模块把记录下的状态信息写进相关的buffer中,寄存器模块包括一些寄存器。模块和文件关系框架如图:

    OPTIMISM, PASSION & HARDWORK
  • 相关阅读:
    SAP MM 有了采购订单历史的PO行项目里的采购附加费不允许再改了?
    风之语.人在职场也需要'备胎'
    两万字,任正非采访全记录
    SAP 如何得到交货单上的序列号清单?
    【2019年版】如何向SAP公司提交Message?
    工作上996,生活上669,并不是什么难事儿!
    风之语.甲骨文裁员之我见
    天河2号-保持使用yhrun/srun时连接不中断 (screen 命令教程 )
    PXE 和 计算机网络启动
    Gmail 设置,时区
  • 原文地址:https://www.cnblogs.com/hiramlee0534/p/3438551.html
Copyright © 2011-2022 走看看