基于DWC_ether_qos的以太网驱动开发-描述符格式介绍

原创 嵌入式Lee 2023-09-04 11:46

.描述符格式

1.1 前言

前面我们介绍了描述符链表的工作模式,重点是了解环形链表是如何环形的,以及相关的寄存器。驱动编写就需要更进一步,了解描述符的具体内容,即4个描述符的每个字段的含义。

描述符包含两个缓冲区指针和长度信息,以及一些其他的控制信息。

下面的读取格式指的是硬件读,软件写的格式,回写格式相反。

1.2发送描述符

读取格式

这里的读取指的硬件去读取,即软件写硬件读。

 


TDES0

名字

描述

31:0

BUF1AP

缓冲区1地址指针或TSO头地址指针这些位表示缓冲区1的物理地址。当设置以下位时,这些位指示TSO标头地址指针:

■ TSE bit of TDES3

■ FD bit of TDES3

TDES1

名字

描述

31:0

BUF2AP

缓冲区2或缓冲区1地址指针.当使用描述符环结构时,该位指示缓冲区2的物理地址。缓冲区地址对齐没有限制。在4048位寻址模式中,这些位表示缓冲区1地址指针的最高有效816.

TDES2

名字

描述

31

IOC

本描述符处理完产生中断

30

TTSE/TMWD

传输时间戳启用或外部TSO内存写入禁用如果TSE位未置位,则此位启用描述符引用的传输数据包的IEEE1588时间戳

如果TSE位被置位并且外部TSO存储器被启用,则设置该位将禁用该数据包的外部TSO内存写入

 

29:16

B2L

缓冲区2长度驱动程序设置此字段。设置后,此字段指示缓冲区2的长度。

15:14

VTIR

VLAN标记插入或替换这些位请求MAC在传输数据包之前执行VLAN标记或取消标记。当为数据包启用VLAN标签插入、替换或删除时,应用程序必须适当设置CRC填充控制位。以下列表描述了这些位的值:

■ 2'b00:不要添加VLAN标记。

■ 2'b01:在传输之前从数据包中删除VLAN标签。此选项应仅用于VLAN数据包。

■ 2'b10:插入一个VLAN标签,标签值编程在MAC_VLAN_Incl寄存器或上下文描述符中。

■ 2'b11:用MAC_VLAN_Incl寄存器或上下文描述符中编程的标签值替换数据包中的VLAN标签。此选项应仅用于VLAN数据包。

当在配置核心时选择启用SAVLAN插入Tx选项时,这些位有效

13:0

HLB1L

标头长度或缓冲区1长度对于标头长度,只取位[9:0]。大小13:0仅适用于解释缓冲区1长度时。

如果通过TDES3TSE位启用TCP分段卸载功能,则此字段等于标头长度。当TSE位在TDES3中设置时,报头长度包括从以太网源地址到TCP报头结束的长度(以字节为单位)。TSO功能支持的最大标头长度为1023字节。TSO功能支持的最大标头长度为1023字节。

如果未启用TCP分段卸载功能,则此字段等于缓冲区1长度。

TDES3

名字

描述

31

OWN

软件准备完描述符后,置位该位,表示DMA拥有该描述符,DMA处理完该描述符后清零该位,此时软件拥有该描述符。

注意该位软件要在描述符准备完后最后置位。该位实际是硬件和软件的读写互斥量,硬件和软件都是R-M-W的操作次序。

30

CTXT

设置为1表示Context类型的描述符,正常设置为0.

29

FD

设置为1表示本描述符对应的缓冲区数据是MAC帧的第一段。

28

LD

设置为1表示本描述符对应的缓冲区数据是MAC帧的最后段。此时B1LB2L不能为0.

27:26

CPC

CRC和填充控制

该字段控制Tx数据包的CRC填充插入。仅当设置了第一个描述符位(TDES3[29]FD时,此字段才有效。以下列表描述了位[27:26]的值:

■ 2’b00:CRC和填充插入MAC在长度大于或等于60字节的传输数据包的末尾附加循环冗余校验(CRC)。MAC自动将填充和CRC附加到长度小于60字节的数据包中。

■ 2'b01:CRC插入(禁用填充插入)MAC在传输数据包的末尾附加CRC,但不附加填充。应用程序应确保从传输缓冲区传输的数据包中存在填充字节,也就是说,从传输缓冲区时传输的数据包包长大于或等于60字节。

■ 2’b10:禁用CRC插入MAC不会在传输数据包的末尾附加CRC。应用程序应确保填充和CRC字节存在于从传输缓冲区传输的数据包中。

■ 2'b11:CRC替换MAC用重新计算的CRC字节替换传输数据包的最后四个字节。应用程序应确保填充和CRC字节存在于从传输缓冲区传输的数据包中。

此字段仅对第一个描述符有效。注意:设置TSE位时,MAC会忽略此字段,因为CRC填充插入总是用于分段。

 

25:23

SAIC

SAMAC地址插入控制

这些位请求MAC将以太网数据包中的源地址字段添加或替换为MAC地址0寄存器中给定的值。当为数据包启用SA插入控制时,应用程序必须适当设置CRC填充控制位。位25指定用于插入或替换源地址的MAC地址寄存器(10)值。以下列表描述了位[24:23]的值:

■ 2'b00:不包括源地址

■ 2'b01:包括或插入源地址。为了实现可靠的传输,应用程序必须提供没有源地址的帧。■ 2'b10:替换源地址。为了实现可靠的传输,应用程序必须为帧提供源地址。

■ 2'b11:保留

当在配置核心时选择Enable SA and VLAN Insertion on Tx(启用SAVLAN插入Tx)选项并且设置了First Segment control bitTDES3[29])时,这些位在EQOS-DMAEQOS-AXIEQOS-AHB配置中有效。此字段仅对第一个描述符有效。

22:19

SOLTNUM

THL

SOLTNUM:AV模式下的插槽号控制位

这些位指示应从TDES0TDES1寻址的相应缓冲器中取出数据的时隙间隔

当提取传输描述符时,DMA将该字段中的时隙号值与RSN字段DMA_CH#_slot_Function_Control_Status中保持的时隙间隔进行比较。只有当值匹配时,它才会从缓冲区中获取数据。这些位仅对AV频道有效

THL:TCP标头长度如果设置了TSE位,则此字段包含TCP标头的长度。此字段的最小值必须为5。此字段仅对第一个描述符有效。

18

TSE

TCP分段启用

当该位被设置时,DMA对数据包执行TCP分段。仅当FD位被设置时,此位才有效

17:16

CIC/TPL

校验和插入控制或TCP有效负载长度这些位控制校验和计算和插入。以下列表描述了位编码:

■2'b00:校验和插入已禁用。

■ 2'b01:仅启用IP标头校验和计算和插入。■ 2'b10:启用IP标头校验和和有效负载校验和计算和插入,但硬件中不计算伪标头校验和。

■ 2'b11:IP报头校验和和有效载荷校验和计算和插入启用,伪报头校验和在硬件中计算。

当选择Enable Transmit TCP/IP Checksum Offload(启用传输TCP/IP校验和卸载)选项并重置TSE位时,此字段有效。设置TSE位时,此字段包含TCP有效负载长度的高位[17:16]。这允许TCP数据包长度字段跨越TDES3[17:0],以提供256KB的数据包长度支持。此字段仅对第一个描述符有效。

15

TPL

保留或TCP有效负载长度当TSE位被重置时,该位被保留。设置TSE位时,这是TCP有效载荷长度[17:0]的第15

只有在配置核心时选择了Enable TCP Segmentation Offloading for TCP/IP Packets(为TCP/IP数据包启用TCP分段卸载)选项时,此字段才有效。

 

14:0

FL/TPL

数据包长度或TCP有效负载长度此字段等于要传输的数据包的长度(以字节为单位)。当TSE位未设置时,此字段等于要发送的数据包的总长度:Ethernet Header Length + TCP /IP Header Length – Preamble Length –

SFD Length + Ethernet Payload LengthTSE位被设置时,该字段等于TCP有效载荷长度的低15位。此长度不包括以太网标头或TCP/IP标头长度。

回写格式

这里的回写指的硬件回写,即软件读硬件写。

注意:回写格式仅适用于相应数据包的最后一个描述符。LD位(TDES3[28]置位的描述符中,DMA在描述符中回写相应传输数据包的状态和时间戳信息

 

TDES0

名字

描述

31:0

TTSL

传输数据包时间戳低DMA使用为相应传输数据包捕获的时间戳的最低有效32位来更新此字段。只有在数据包的第一个描述符中设置了TDES2TTSE位时,DMA才会写入时间戳。仅当描述符中的Last Segment位(LS)已设置并且timestamp statusTTSS)位已设置时,此字段才具有时间戳。

TDES1

名字

描述

31:0

TTSH

传输数据包时间戳高DMA使用为相应接收数据包捕获的时间戳的最高有效32位来更新此字段。只有当TDES2TTSE位设置在数据包的第一个描述符中时,DMA才写入时间戳。仅当描述符中的Last Segment位(LS)已设置并且timestamp statusTTSS)位已设置时,此字段才具有时间戳。

 

TDES2

保留

TDES3

名字

描述

31

OWN

见读取格式

30

CTXT

29

FD

28

LD

2716

保留


17

TTSS

Tx时间戳状态此状态位指示已捕获对应传输数据包的时间戳。当设置该位时,TDES2TDES3具有为传输数据包捕获的时间戳值。仅当描述符中的最后一段控制位(TDES3[28])设置时,此字段才有效。此位仅在启用IEEE1588时间戳功能时有效;否则,它将被保留。

16

保留


15

ES

错误摘要此位表示以下位的逻辑或:

■ TDES3[0]: IP Header Error

■ TDES3[14]: Jabber Timeout

■ TDES3[13]: Packet Flush

■ TDES3[12]: Payload Checksum Error

■ TDES3[11]: Loss of Carrier

■ TDES3[10]: No Carrier

■ TDES3[9]: Late Collision

■ TDES3[8]: Excessive Collision

■ TDES3[3]: Excessive Deferral

■ TDES3[2]: Underflow Error

14

JT

Jabber超时此位表示MAC发送器已经历Jabber暂停。仅当未设置MAC_Configuration寄存器的JD位时,才设置该位。

13

FF

数据包刷新此位表示DMAMTL由于CPU给出的软件刷新命令而刷新了数据包。

 

12

PCE

有效负载校验和错误此位表示校验和卸载引擎出现故障,并且没有将任何校验和插入封装的TCPUDPICMP有效负载中。此故障可能是由于字节不足,如IP标头的有效负载长度字段所示,或者MTL在存储和转发模式下开始将数据包转发到MAC发送器,但尚未计算校验和。第二种错误情况仅在传输FIFO深度小于正在传输的以太网数据包的长度时发生,以避免死锁,MTLFIFO满时开始转发数据包,即使在存储和转发模式下也是如此。当未启用完全校验和卸载引擎时,保留此位

11

LOC

载波丢失该比特表示在分组传输期间发生载波丢失(即,在分组传输过程中,gmii_crs_i信号在一个或多个传输时钟周期内不活动)。这仅对在没有冲突的情况下发送的分组有效,并且当MAC在半双工模式下操作时有效。

10

NC

无载波该位表示在传输期间没有断言来自PHY的载波感测信号

9

LC

延迟冲突该位表示由于在冲突窗口之后发生冲突而中止了分组传输(在MII模式中包括Preamble64字节时间和在GMII模式中包括PreambleCarrier Extension512字节时间)。如果设置了欠流错误,则此位无效

 

8

EC

过度冲突此位表示在尝试传输当前数据包时,在连续发生16次冲突后,传输被中止。如果在MAC_Configuration寄存器中设置了DR位,则在第一次冲突之后设置该位,并且中止数据包的传输

7:4

CC

冲突计数此4位计数器值表示在传输数据包之前发生的冲突数。设置EC位时,计数无效。

 

3

ED

过度延迟此位表示如果在MAC_Configuration寄存器中设置了DC位,则由于超过24288位时间的过度延迟(在1000Mbps模式或Jumbo Packet enabled模式下为155680位时间),传输结束。

2

UF

欠流错误此位表示MAC中止了数据包,因为数据从系统内存延迟到达。下溢错误可能是由于以下任一情况而发生的:■ DMA在传输数据包时遇到空的传输缓冲区应用程序填充MTL Tx FIFO的速度慢于MAC传输速率。传输过程进入暂停状态,并设置与MTL_Interrupt_Status寄存器中的队列相对应的下溢位。

1

DB

延迟位此位表示MAC由于载波的存在而在发送之前延迟。此位仅在半双工模式下有效。

 

0

IHE

IP标头错误设置IP标头错误时,此位表示校验和卸载引擎检测到IP标头错误。此位仅在启用Tx校验和卸载时有效。否则,它将被保留。如果COE检测到IP标头错误,如果以太网类型字段指示IPv4有效负载,它仍然插入IPv4标头校验和。

传输上下文描述符

见手册21.5.2

1.3接收描述符

读取格式

在接收描述符(读取格式)中,如果缓冲区地址字段全部为0,则DWC_ether_qos不会将数据传输到该缓冲区,并跳到下一个缓冲区或下一个描述符。

 

RDES0

名字

描述

31:0

BUF1AP

标题或缓冲器1地址指针.

当通道的控制寄存器的SPH位被复位时,这些位指示缓冲器1的物理地址。当SPH位被设置时,这些位指示报头缓冲器的物理地址,Rx DMA在该物理地址写入接收到的分组的L2/L3/L4报头字节。应用程序可以为该缓冲器编程一个字节对齐的地址,这意味着该字段的LS位可以是非零的。然而,在传输数据包的开始时,DMA执行RDES0[1:0](或者在64-/128位配置的情况下,RDES0[2:0]/[3:0])为零的写入操作。然而,分组数据按照缓冲区地址指针给出的实际偏移量进行移位。如果地址指针指向存储数据包中间或最后部分的缓冲区,DMA将忽略偏移地址并写入数据宽度所指示的完整位置

 

RDES1

名字

描述

31:0

BUF1AP

64位地址模式的BUF1AP的高32位,32位不使用

RDES2

名字

描述

31:0

BUF2AP

缓冲器2地址指针这些位表示缓冲器2的物理地址。当设置DMA_CH#_Control寄存器的SPH位时,缓冲区地址指针必须与总线宽度对齐,即RDES2[3:02:01:0]=0,对应于1286432总线宽度。LSB在内部被忽略。当DMA_CH#_Control寄存器的SPH位复位时,RDES2值没有限制。然而,RxDMA仅在传输数据包的起始字节时使用指针地址的LS位。如果BUF2AP给出了存储数据包中间或最后部分的缓冲器的地址,DMA将忽略BUF2AP[3:02:01:0](对应于1286432位数据总线)并写入完整位置。

 

RDES3

名字

描述

31:0

OWN

TX描述符

30

IOC

TX描述符

29:26

保留


25

BUF2V

缓冲区2地址有效当设置此位时,它向DMA指示RDES2中指定的缓冲区2的地址有效。应用程序必须设置此位,以便DMA可以使用RDES2中的缓冲区2地址所指向的地址来写入接收到的数据包数据。

 

24

BUF1V

缓冲区1地址有效设置后,向DMA指示RDES1中指定的缓冲区1的地址有效。如果DMA可以使用RDES1中缓冲区1地址所指向的地址来写入接收到的数据包数据,则应用程序必须设置此值

23:0

保留


回写格式

 

RDES0

名字

描述

31:16

IVT

内部VLAN标记如果设置了RDES3RS0V位,则此字段包含接收到的数据包的内部VLAN标记。仅当启用了双VLAN标记处理和VLAN标记剥离时,此选项才有效。

15:0

OVT

外部VLAN标记如果设置了RDES3RS0V位,则此字段包含接收到的数据包的外部VLAN标记

RDES1

仅对最后一个描述符有效(设置了RDES3[28]

名字

描述

31:16

OPC

 

OAM Sub-Type Code:

RDES3的比特[18:16]被设置为3’b111;

MAC Control Packet opcode:

RDES3的比特[18:16]被设置为3’b110

15

TD

丢弃的时间戳

此位表示捕获了此数据包的时间戳,但由于溢出,它在MTL Rx FIFO中被丢弃。只有选择时间戳功能时,此位才可用。否则,保留此位

14

TSA

可用时间戳当存在时间戳时,此位指示时间戳值在上下文描述符字2RDES2)和字1RDES1)中可用。只有当设置了最后一个描述符位(RDES3[28])时,这才有效。上下文描述符被写入下一个描述符中,刚好在数据包的最后一个正常描述符之后。

13

PV

PTP版本该比特指示所接收的PTP消息具有IEEE 1588版本2格式。当该位被重置时,它指示IEEE 1588版本1格式。只有当您选择时间戳功能时,此位才可用。否则,该位被保留。

12

PFT

PTP数据包类型此位表示PTP消息直接通过以太网发送。只有当您选择时间戳功能时,此位才可用。否则,该位被保留。

11:8

PMT

PTP Message Type

只有选择时间戳功能时,这些位才可用。

■ 0000: No PTP message received

■ 0001: SYNC (all clock types)

■ 0010: Follow_Up (all clock types)

■ 0011: Delay_Req (all clock types)

■ 0100: Delay_Resp (all clock types)

■ 0101: Pdelay_Req (in peer-to-peer transparent clock)

■ 0110: Pdelay_Resp (in peer-to-peer transparent clock)

■ 0111: Pdelay_Resp_Follow_Up (in peer-to-peer transparent clock)

■ 1000: Announce

■ 1001: Management

■ 1010: Signaling

■ 1011–1110: Reserved

■ 1111: PTP packet with Reserved message type

7

IPCE

IP Payload ErrorIP有效负载错误)当设置此位时,它指示以下情况之一:■ MAC计算的16IP有效载荷校验和(即TCPUDPICMP校验和)与接收段中相应的校验和字段不匹配。■ TCPUDPICMP段长度与IP标头字段中的有效负载长度值不匹配。■ TCPUDPICMP段长度小于TCPUDPICMP允许的最小段长度。当RDES3的位15ES)被设置时,该位未被设置

6

IPCB

IP校验和旁路此位表示校验和卸载引擎被旁路。当您选择启用接收TCP/IP校验和检查功能时,此位可用

 

5

IPV6

IPv6标头存在此位表示检测到IPv6标头。当选择Enable Split Header Feature(启用拆分标头功能)选项并设置通道控制寄存器的SPH位时,IPV6标头在RDES0所指向的标头缓冲区中可用。

4

IPV4

IPV4标头存在此位表示检测到IPV4标头。当RDES3SPH位被设置时,IPV4报头在RDES0所指向的报头缓冲区中可用。

 

3

IPHE

IP标头错误当设置此位时,表示以下情况之一:■ MAC计算的16IPv4标头校验和与接收到的校验和字节不匹配。■ IP数据报版本与以太网类型值不一致。以太网数据包没有预期的IP标头字节数。当位5或位4被设置时,该位是有效的。当您选择启用接收TCP/IP校验和检查功能时,此位可用。

 

2:0

PT

有效载荷类型这些比特指示由接收校验和卸载引擎(COE)处理的IP数据报中封装的有效载荷的类型:■ 3'b0000:未知类型或未处理IP/AV有效负载■ 20013月:UDP■ 20103月:TCP■ 20113月:ICMP■ 3'b110AV标记数据包■ 3'b111:AV标签的控制包■ 3'b101:AV未标记控制数据包■ 3'b100:IGMP如果IPV4标头存在位被设置为else DCBLLDP)控制包如果COE由于存在IP标头错误或碎片IP而不处理IP数据报的有效载荷,则将这些位设置为3'b000

RDES2

名字

描述

31:29

L3L4FM

匹配的第3层和第4层滤波器数量这些比特指示与接收到的分组匹配的第三层和第四层滤波器的数量:只有当位28或位27被设置为高时,该字段才有效。当多个滤波器匹配时,这些位给出最低滤波器的数目

 

28

L4FM

4层过滤器匹配

当设置此位时,它表示接收到的数据包与启用的第4层端口号字段之一匹配。只有当下列条件之一成立时,才会给出此状态

3层字段未启用,所有启用的第4层字段匹配所有启用的第3层和第4层筛选器字段匹配

当不止一个过滤器匹配时,该位给出由位[31:29]指示的过滤器的第4层过滤器状态

 

27

L3FM

3层筛选器匹配设置此位时,表示接收到的数据包与启用的第3IP地址字段之一匹配。只有当下列条件之一成立时,才会给出此状态:所有启用的第3层字段匹配,所有启用的4字段被绕过所有启用的过滤器字段匹配当多个过滤器匹配时,该位给出由位[31:29]指示的过滤器的第3层过滤器状态。

26:19

MADRM

MAC地址匹配或哈希值当HF位重置时,此字段包含与接收到的数据包的目标地址匹配的MAC地址寄存器号。仅当DAF位被重置时,此字段才有效。设置HF位时,此字段包含MAC计算的哈希值。当与哈希值相对应的比特被设置在哈希过滤器寄存器中时,数据包通过哈希过滤器。

 

18

HF

哈希过滤器状态设置此位时,表示数据包通过了MAC地址哈希过滤器。比特[26:19]表示散列值。

17

DAF

当设置此位时,目标地址过滤器失败,这表明数据包在Mac上的DA过滤器失败。

16

SAF

SA地址筛选器失败设置此位时,表示数据包未通过MAC中的SA筛选器。

15

OTS

VLAN筛选器状态设置时,此位指示接收数据包的VLAN标记通过VLAN筛选器。此位仅在未启用DWC-EQOS-ERVFE时有效。如果启用了DWC-EQOS-ERVFE,则该位将重新定义为外部VLAN标记筛选器状态(OTS)。有关详细信息,请参阅第235页的过滤器状态。此位对单个和双VLAN标记帧都有效。

14

ITS

内部VLAN标记筛选器状态(ITS)此位仅在启用DWC_EQOS_ERVFE时有效。有关更多详细信息,请参阅第235页的过滤器状态。当启用双VLAN处理时,此位仅对双VLAN标记帧有效。

 

13:11

保留


10

ARPNR

未生成ARP应答当设置此位时,表示MAC没有为接收到的ARP请求数据包生成ARP应答。当MAC忙于发送对早期ARP请求的ARP回复时(一次只处理一个ARP请求),设置此位。当未选择Enable IPv4 ARP Offload(启用IPv4 ARP卸载)选项时,保留此位。

 

9:0

HL

L3/L4报头长度该字段包含由MACL3L4报头边界处分割的分组的报头的长度,如MAC接收器所识别的。仅当第一描述符位被设置(FD1)时,该字段才有效。

头数据被写入相应描述符的缓冲器1地址。如果标头长度为零,则此字段无效。这意味着MAC没有识别和分割报头。选择启用拆分标头功能选项时,此字段有效。

RDES3

名字

描述

31

OWN


30

CTXT


29

FD


28

LD


27

RS2V

接收状态RDES2有效设置此位时,表示RDES2中的状态有效,并且由DMA写入。仅当RDES3LD位被设置时,该位才有效。

26

RS1V

接收状态RDES1有效设置此位时,表示RDES1中的状态有效,并且由DMA写入。仅当RDES3LD位被设置时,该位才有效。

25

RS0V

接收状态RDES0有效设置此位时,表示RDES0中的状态有效,并且由DMA写入。仅当RDES3LD位被设置时,该位才有效。

24

CE

CRC错误设置此位时,表示在接收到的数据包上发生了循环冗余校验(CRC)错误。仅当RDES3LD位设置时,此字段才有效

23

GP

巨型数据包设置此位时,表示数据包长度超过指定的最大以太网大小151815222000字节(如果设置了巨型数据包启用,则为90189022字节)。注:巨型数据包仅表示数据包的长度。它不会导致任何数据包截断

 

22

RWT

接收看门狗超时设置此位时,表示接收看门狗计时器在接收当前数据包时已过期。看门狗超时后,当前数据包被截断。

21

OE

溢出错误设置此位时,表示接收到的数据包由于Rx FIFO中的缓冲区溢出而损坏。注意:此位仅在DMA将部分数据包传输到应用程序时设置。只有当Rx FIFO在阈值模式下操作时才会发生这种情况。在存储转发模式中,所有部分数据包都会完全丢弃在Rx FIFO

 

20

RE

接收错误当设置此位时,它指示在分组接收期间断言gmii_rxer_i信号,而断言gmii_rxdv_i信号。该错误还包括GMII和半双工模式中的载波扩展错误。错误可以是较少扩展名或没有扩展名,也可以是扩展期间的错误(rxd=0f

 

19

DE

漂移位错误设置此位时,表示接收到的数据包具有非整数倍的字节(奇数半字节)。此位仅在MII模式下有效。

18:16

LT

长度/类型字段此字段指示接收到的数据包是长度数据包还是类型数据包。这3个比特的编码如下:

■ 3'b000: The packet is a length packet

■ 3'b001: The packet is a type packet.

■ 3'b011: The packet is a ARP Request packet type

■ 3'b100: The packet is a type packet with VLAN Tag

■ 3'b101: The packet is a type packet with Double VLAN Tag

■ 3'b110: The packet is a MAC Control packet type

■ 3'b111: The packet is a OAM packet type

■ 3'b010: Reserved

15

ES

错误摘要设置此位时,表示以下位的逻辑或:

仅当RDES3LD位被设置时,此字段才有效。

■ RDES3[24]: CRC Error

■ RDES3[19]: Dribble Error

■ RDES3[20]: Receive Error

■ RDES3[22]: Watchdog Timeout

■ RDES3[21]: Overflow Error

■ RDES3[23]: Giant Packet

14:0

PL

数据包长度这些比特指示被传送到系统存储器(包括CRC)的接收数据包的字节长度。当RDES3LD位被设置和/或溢出错误位被重置时,此字段有效。当启用IP校验和计算并且接收到的分组不是MAC控制分组时,分组长度还包括附加到以太网分组的两个字节。当设置RDES3LD位时,此字段有效。当未设置Last DescriptorError Summary位时,此字段指示当前数据包已传输的累计字节数。

接收上下文描述符

见手册21.6.3

只有DMA能写,提供最后一个包的扩展状态信息,

RDES3b30 CTXT标记该类型

1.4 Split Header Support 模式

DMA可以分别处理接收到的包的报头和有效载荷。支持MAC帧,IP包,TCP/UDP包三个级别的包类型。

见手册21.3

1.5总结

以上信息来源手册的简单整理,以备查询,实际调试过程中以对照手册为准。

一些关键的字段可以帮助调试等需要了解,重点了解OWN位的互斥作用,即硬件和软件的R-M-W操作。


评论
  • 应用趋势与客户需求,AI PC的未来展望随着人工智能(AI)技术的日益成熟,AI PC(人工智能个人电脑)逐渐成为消费者和企业工作中的重要工具。这类产品集成了最新的AI处理器,如NPU、CPU和GPU,并具备许多智能化功能,为用户带来更高效且直观的操作体验。AI PC的目标是提升工作和日常生活的效率,通过深度学习与自然语言处理等技术,实现更流畅的多任务处理、实时翻译、语音助手、图像生成等功能,满足现代用户对生产力和娱乐的双重需求。随着各行各业对数字转型需求的增长,AI PC也开始在各个领域中显示
    百佳泰测试实验室 2025-02-27 14:08 268浏览
  • 一、VSM的基本原理震动样品磁强计(Vibrating Sample Magnetometer,简称VSM)是一种灵敏且高效的磁性测量仪器。其基本工作原理是利用震动样品在探测线圈中引起的变化磁场来产生感应电压,这个感应电压与样品的磁矩成正比。因此,通过测量这个感应电压,我们就能够精确地确定样品的磁矩。在VSM中,被测量的样品通常被固定在一个震动头上,并以一定的频率和振幅震动。这种震动在探测线圈中引起了变化的磁通量,从而产生了一个交流电信号。这个信号的幅度和样品的磁矩有着直接的关系。因此,通过仔细
    锦正茂科技 2025-02-28 13:30 115浏览
  •         近日,广电计量在聚焦离子束(FIB)领域编写的专业著作《聚焦离子束:失效分析》正式出版,填补了国内聚焦离子束领域实践性专业书籍的空白,为该领域的技术发展与知识传播提供了重要助力。         随着芯片技术不断发展,芯片的集成度越来越高,结构也日益复杂。这使得传统的失效分析方法面临巨大挑战。FIB技术的出现,为芯片失效分析带来了新的解决方案。它能够在纳米尺度上对芯片进行精确加工和分析。当芯
    广电计量 2025-02-28 09:15 145浏览
  • Matter 协议,原名 CHIP(Connected Home over IP),是由苹果、谷歌、亚马逊和三星等科技巨头联合ZigBee联盟(现连接标准联盟CSA)共同推出的一套基于IP协议的智能家居连接标准,旨在打破智能家居设备之间的 “语言障碍”,实现真正的互联互通。然而,目标与现实之间总有落差,前期阶段的Matter 协议由于设备支持类型有限、设备生态协同滞后以及设备通信协议割裂等原因,并未能彻底消除智能家居中的“设备孤岛”现象,但随着2025年的到来,这些现象都将得到完美的解决。近期,
    华普微HOPERF 2025-02-27 10:32 253浏览
  •           近日受某专业机构邀请,参加了官方举办的《广东省科技创新条例》宣讲会。在与会之前,作为一名技术工作者一直认为技术的法例都是保密和侵权方面的,而潜意识中感觉法律有束缚创新工作的进行可能。通过一个上午学习新法,对广东省的科技创新有了新的认识。广东是改革的前沿阵地,是科技创新的沃土,企业是创新的主要个体。《广东省科技创新条例》是广东省为促进科技创新、推动高质量发展而制定的地方性法规,主要内容包括: 总则:明确立法目
    广州铁金刚 2025-02-28 10:14 115浏览
  • 1,微软下载免费Visual Studio Code2,安装C/C++插件,如果无法直接点击下载, 可以选择手动install from VSIX:ms-vscode.cpptools-1.23.6@win32-x64.vsix3,安装C/C++编译器MniGW (MinGW在 Windows 环境下提供类似于 Unix/Linux 环境下的开发工具,使开发者能够轻松地在 Windows 上编写和编译 C、C++ 等程序.)4,C/C++插件扩展设置中添加Include Path 5,
    黎查 2025-02-28 14:39 155浏览
  • RGB灯光无法同步?细致的动态光效设定反而成为产品客诉来源!随着科技的进步和消费者需求变化,电脑接口设备单一功能性已无法满足市场需求,因此在产品上增加「动态光效」的形式便应运而生,藉此吸引消费者目光。这种RGB灯光效果,不仅能增强电脑周边产品的视觉吸引力,还能为用户提供个性化的体验,展现独特自我风格。如今,笔记本电脑、键盘、鼠标、鼠标垫、耳机、显示器等多种电脑接口设备多数已配备动态光效。这些设备的灯光效果会随着音乐节奏、游戏情节或使用者的设置而变化。想象一个画面,当一名游戏玩家,按下电源开关,整
    百佳泰测试实验室 2025-02-27 14:15 143浏览
  • 请移步 gitee 仓库 https://gitee.com/Newcapec_cn/LiteOS-M_V5.0.2-Release_STM32F103_CubeMX/blob/main/Docs/%E5%9F%BA%E4%BA%8ESTM32F103RCT6%E7%A7%BB%E6%A4%8DLiteOS-M-V5.0.2-Release.md基于STM32F103RCT6移植LiteOS-M-V5.0.2-Release下载源码kernel_liteos_m: OpenHarmon
    逮到一只程序猿 2025-02-27 08:56 204浏览
  • 构建巨量的驾驶场景时,测试ADAS和AD系统面临着巨大挑战,如传统的实验设计(Design of Experiments, DoE)方法难以有效覆盖识别驾驶边缘场景案例,但这些边缘案例恰恰是进一步提升自动驾驶系统性能的关键。一、传统解决方案:静态DoE标准的DoE方案旨在系统性地探索场景的参数空间,从而确保能够实现完全的测试覆盖范围。但在边缘案例,比如暴露在潜在安全风险的场景或是ADAS系统性能极限场景时,DoE方案通常会失效,让我们看一些常见的DoE方案:1、网格搜索法(Grid)实现原理:将
    康谋 2025-02-27 10:00 258浏览
  • 美国加州CEC能效跟DOE能效有什么区别?CEC/DOE是什么关系?美国加州CEC能效跟DOE能效有什么区别?CEC/DOE是什么关系?‌美国加州CEC能效认证与美国DOE能效认证在多个方面存在显著差异‌。认证范围和适用地区‌CEC能效认证‌:仅适用于在加利福尼亚州销售的电器产品。CEC认证的范围包括制冷设备、房间空调、中央空调、便携式空调、加热器、热水器、游泳池加热器、卫浴配件、光源、应急灯具、交通信号模块、灯具、洗碗机、洗衣机、干衣机、烹饪器具、电机和压缩机、变压器、外置电源、消费类电子设备
    张工nx808593 2025-02-27 18:04 131浏览
  • 在物联网领域中,无线射频技术作为设备间通信的核心手段,已深度渗透工业自动化、智慧城市及智能家居等多元场景。然而,随着物联网设备接入规模的不断扩大,如何降低运维成本,提升通信数据的传输速度和响应时间,实现更广泛、更稳定的覆盖已成为当前亟待解决的系统性难题。SoC无线收发模块-RFM25A12在此背景下,华普微创新推出了一款高性能、远距离与高性价比的Sub-GHz无线SoC收发模块RFM25A12,旨在提升射频性能以满足行业中日益增长与复杂的设备互联需求。值得一提的是,RFM25A12还支持Wi-S
    华普微HOPERF 2025-02-28 09:06 172浏览
  • 振动样品磁强计是一种用于测量材料磁性的精密仪器,广泛应用于科研、工业检测等领域。然而,其测量准确度会受到多种因素的影响,下面我们将逐一分析这些因素。一、温度因素温度是影响振动样品磁强计测量准确度的重要因素之一。随着温度的变化,材料的磁性也会发生变化,从而影响测量结果的准确性。因此,在进行磁性测量时,应确保恒温环境,以减少温度波动对测量结果的影响。二、样品制备样品的制备过程同样会影响振动样品磁强计的测量准确度。样品的形状、尺寸和表面处理等因素都会对测量结果产生影响。为了确保测量准确度,应严格按照规
    锦正茂科技 2025-02-28 14:05 162浏览
  • 更多生命体征指标风靡的背后都只有一个原因:更多人将健康排在人生第一顺位!“AGEs,也就是晚期糖基化终末产物,英文名Advanced Glycation End-products,是存在于我们体内的一种代谢产物” 艾迈斯欧司朗亚太区健康监测高级市场经理王亚琴说道,“相信业内的朋友都会有关注,最近该指标的热度很高,它可以用来评估人的生活方式是否健康。”据悉,AGEs是可穿戴健康监测领域的一个“萌新”指标,近来备受关注。如果站在学术角度来理解它,那么AGEs是在非酶促条件下,蛋白质、氨基酸
    艾迈斯欧司朗 2025-02-27 14:50 431浏览
  • 在2024年的科技征程中,具身智能的发展已成为全球关注的焦点。从实验室到现实应用,这一领域正以前所未有的速度推进,改写着人类与机器的互动边界。这一年,我们见证了具身智能技术的突破与变革,它不仅落地各行各业,带来新的机遇,更在深刻影响着我们的生活方式和思维方式。随着相关技术的飞速发展,具身智能不再仅仅是一个技术概念,更像是一把神奇的钥匙。身后的众多行业,无论愿意与否,都像是被卷入一场伟大变革浪潮中的船只,注定要被这股汹涌的力量重塑航向。01为什么是具身智能?为什么在中国?最近,中国具身智能行业的进
    艾迈斯欧司朗 2025-02-28 15:45 253浏览
我要评论
2
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦