Edit online

MAC 发送功能

  1. SA 源地址自动插入或替换功能
    • 配置0x01C MAC_TX_FUNC 寄存器[14:12],MAC TX 支持自动插入或替换发送帧的源地址,源地址可通过寄存器 MAC_ADDR0 或 MAC_ADDR1 配置。

  2. TX Jabber Timer:MAC TX 支持 Jabber Timer,用于检测发送的帧长度。
    • 若关闭 Jabber Timer,发送帧的长度可以达到16383 bytes;

    • 若未关闭 Jabber Timer 功能,最多只能发送2048 bytes。使能Jumbo Frame后,最大发送的长度为10240 bytes),并且会在 TDES0 的 BIT14 置1,指示发送的数据过长,发生 Jabber Timeout。

  3. CRC 插入/替换

    • 配置 TX DMA 描述符 TDES0 [27],可以对发送帧进行 CRC 的插入;

    • 配置 TX DMA 描述符 TDES0 [24],可以对发送帧进行 CRC 的替换。此时需要设置 TDES0[27] = 1,关闭 CRC的插入功能。

  4. 自动补0

    • 配置 TX DMA 描述符TDES0 [27],可以对长度低于 64 bytes 的发送帧进行自动补0,并且此时会强制产生 4 bytes 的CRC,即short frame + 0 pad + CRC = 64 bytes。

    • 若不需要进行自动补0,可以设置 TDES0[27] = 1。

  5. TX IP 校验和插入:MAC 支持对发送帧的 IP 校验和进行计算和插入。
    1. 配置 MAC_CFG[7] = 1,打开 IP Offload 功能。

    2. 通过 TDES0[23:22] 选择 IP 检验和的计算类型。MAC 支持 IP header 校验和、IP Payload 校验和以及伪 header 校验的硬件加速计算;

    3. 打开 IP Offload 功能后,TDES0[16] 可以指示发送帧的 IP 校验和是否正确,置1 表示发送帧存在 IP 校验和错误。