AT91SAM7X256/128的EMAC模块:以太网MAC与暂停帧处理

需积分: 9 8 下载量 64 浏览量 更新于2024-08-10 1 收藏 538KB PDF 举报
"AT91SAM7X256/128中文参考手册(EMAC部分)" 本文主要讨论的是以太网介质访问控制(MAC)单元,特别是关于802.3标准中的暂停帧头部结构及其在Docker安装Redmine步骤中的应用,虽然标题提及“暂停帧的头部结构-docker安装redmine步骤”,但实际内容并未涉及Docker或Redmine,而是深入探讨了以太网MAC(EMAC)的相关技术细节。 EMAC是Atmel公司的AT91SAM7X256/128芯片中的一个重要组成部分,它遵循IEEE802.3标准,具备地址检查、统计、控制寄存器、接收与传输功能以及DMA接口。EMAC可以识别四个特定的48位地址,其中包括一个64位哈希寄存器来处理多播和单播地址匹配。它还能处理广播地址,并根据外部地址匹配信号工作。 802.3标准中的暂停帧用于流量控制,其头部结构包括目标地址、源地址、类型(MAC控制帧)、暂停操作码和暂停时间。一个有效的暂停帧需要满足特定条件,如目的地址匹配特定值或特殊地址寄存器1中的地址,类型ID为0x8808,操作码为0x0001。当收到有效暂停帧时,会触发中断,并根据网络配置寄存器的接收暂停允许位更新暂停时间寄存器。如果在全双工模式下,EMAC会依据暂停时间寄存器的值暂停传输;而在半双工模式下,虽然不会暂停传输,但仍然会产生暂停帧接收中断。 暂停时间的递减是基于接收时钟周期(rx_clk)的,正常情况下每512位次减少一次,但在重试测试模式下,每个rx_clk周期都会递减。当暂停时间寄存器的值降为0时,会触发中断。若网络配置寄存器的暂停允许位未置位,即使未暂停传输,也会继续递减。 EMAC模块在处理以太网通信时,通过复杂的硬件机制实现了流量控制、错误检测和统计等功能,确保了网络传输的稳定性和高效性。对于理解网络底层工作原理和优化网络性能至关重要。