表10.39接收状态向量寄存器位描述:
位符号 | 功能 | 复位值
--- | --- | ---
15:0 | Received byte count表示接收到的帧信息的长度 | 0x0
16 | Packet previously ignored表示漏掉(drop)了一个包 | 0
17 | RXDV event previously seen表示上一次发现的接收事件其长度不够,不能成为一个有效的包 | 0
18 | Carrier event previously seen表示上一次接收统计之后的某个时候,检测到载波事件 | 0
19 | Receive code violation表示接收到的PHY数据不代表一个有效的接收代码 | 0
20 | CRC error包中附带的CRC与内部产生的CRC不相等 | 0
21 | Length check error表示帧长度区域与实际的数据个数不相等,且此时的帧长度区域不表示类型 | 0
22 | Length out of range[1]表示帧类型/长度区域的值大于1518个字节 | 0
23 | Receive OK表示接收包含有效的CRC并且没有符号错误 | 0
24 | Multicast包的目标地址为多播地址(multicast address) | 0
25 | Broadcast包的目标地址为广播地址 | 0
26 | Dribble Nibble表示接收到包之后又接收到另一个1~7位的数据。此时形成了一个nibble,称作dribble nibble,但没有发送出去 | 0
27 | Control frame该帧是一个控制帧 | 0
28 | PAUSE该帧是一个带有有效PAUSE操作码的控制帧 | 0
29 | Unsupported Opcode当前帧是控制帧,但含有未知的操作码 | 0
30 | VLAN帧长度/类型区域含有0x8100,它是VLAN的协议标识符 | 0
31 | -未使用 | 0x0
[1] EMAC不区分帧类型和帧长度。当接收到IP(0x8000)或ARP(0x0806)包时,EMAC将帧类型与最大长度进行比较并给出“长度超出范围”错误。事实上,该位不是一个错误指示,而只仅仅是由芯片产生的、关于接收帧状态的一个说明。
10.12.16流控制计数器寄存器(FlowControlCounter- 0x5000 0170)
流控制计数器寄存器(FlowControlCounter)的地址为0x5000 0170。表10.40列出了该寄存器的位定义。
表10.40流控制计数器寄存器位描述:
位符号 | 功能 | 复位值
--- | --- | ---
15:0 | MirrorCounter在全双工模式下,该字段指定了重新发送暂停控制帧之前的周期数 | 0x0
31:16 | PauseTimer在全双工模式下,该字段指定了插入暂停流控制帧的暂停定时器区域的值。在半双工模式下,该字段指定了背压周期数 | 0x0
在探索相关的寄存器和技术细节时,读者可能还对其他寄存器描述感兴趣,例如发送流控制或者CAN控制器寄存器。这些链接将引导你深入了解更多寄存器位描述的细节,使得你对整个系统的理解更加全面。如果你对流控制计数器寄存器的具体实现方式感到好奇,不妨看看流控制计数器的详细说明,它们能提供更多背景信息和实用示例!
暂无评论