USER GUIDE / CONNECTIVITY & NETWORKING / ETHERNET MAC / REGISTER DESCRIPTION
寄存器描述
DMABus Mode Register
DMA_BMRBASE + 0x1000
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:30 | Reserved | 写入无影响,读取为零。 | R |
| 29:28 | PRWG | 通道优先级权重:此字段用于设置系统总线DMA通道轮询仲裁期间通道 0的优先级权重。 •00:优先级权重为1。 •01:优先级权重为2。 •10:优先级权重为3。 •11:优先级权重为4。 此字段在所有DWC_mac配置中都存在,但当选择AV功能时,MAC-AXI 除外。 否则,此字段被保留为只读(RO)。 | RW |
| 27 | TXPR | 传输优先级 设置后,此位指示在系统侧总线仲裁期间,传输DMA的优先级高于接收 DMA。 在MAC-AXI配置中,此位保留且只读(RO)。 | RW |
| 26 | MB | 混合突发 当此位设置为高且FB位为低时,AHB主接口会以INCR(未定义突发) 开始所有长度超过16的突发传输,而对于16或更短的突发传输,则恢 复到固定突发传输(INCRx和SINGLE)。 此位仅在MAC-AHB配置中有效,在其他所有配置中保留。 | RW |
| 25 | AAL | 地址对齐的突发 当此位设置为高且FB位等于1时,AHB接口会生成所有与起始地址LS 位对齐的突发。 如果FB位等于0,则第一个突发(访问数据缓冲区的起 始地址)不与地址对齐,但后续的突发则与地址对齐。 此位仅在MAC-AHB和MAC-AXI配置中有效,并在所有其他配置中保留 (默认值为0)。 | RW |
| 24 | PBLx8 | 8xPBL模式 当设置为高时,此位将编程的PBL值(位[22:17]和位[13:8])乘以八倍。 | RW |
| 23 | USP | 使用单独的PBL 当设置为高时,此位将使RxDMA使用在Bits[22:17]中配置的值作为 PBL。 Bits [13:8]中的PBL值仅适用于TxDMA操作。 当重置为低时, Bits[13:8]中的PBL值将同时适用于两个DMA引擎。 | RW |
| 22:17 | RPBL | RxDMAPBL 字段表示在一次RxDMA事务中可传输的最大节拍数。 这是单个块读或 写操作中使用的最大值。 每当RxDMA在主机总线上开始突发传输时, 它都会尝试按照RPBL位指定的方式进行突发传输。 您可以将RPBL设 置为1、2、4、8、16或32。 任何其他值都会导致未定义的行为。 此字段仅在USP设置为高时有效。 | RW |
| 16 | FB | 固定突发 此位控制AHB主机接口是否执行固定突发传输。 当设置时,AHB接口在 正常突发传输开始时仅使用SINGLE、INCR4、INCR8或INCR16操作。 当复位时,AHB接口使用SINGLE和INCR突出传输操作。 | RW |
| 15:14 | PR | 优先级比率 这些位控制RxDMA和TxDMA之间加权轮询仲裁的优先级比。 只有当 Bit1(DA)复位时,这些位才有效。 优先级比为Rx:Tx或Tx:Rx,取 决于Bit27(TXPR)是否复位或设置。 •00:优先级比为1:1。 •01:优先级比为2:1。 •10:优先级比为3:1。 •11:优先级比为4:1。 | RW |
| 13:8 | PBL | 可编程突发长度 这些位表示在一次DMA事务中可以传输的最大节拍数。 这是单个块读取 或写入操作中使用的最大值。 DMA每次在主机总线上开始突发传输时, 都会尝试按照PBL中指定的模式进行。 PBL可以设置为1、2、4、8、16 和32。 任何其他值都会导致未定义的行为。 当USP设置为高时,此PBL 值仅适用于发送DMA事务。 如果要传输的节拍数超过32,则需执行以下步骤: 1、设置8xPBL模式; 2、设置PBL。 例如,如果要传输的最大节拍数为64,则首先将8xPBL设置为1,然后 | RW |
| 7 | ATDS | 备用描述符大小 当启用时,备用描述符的大小将增加到32字节(8个DWORD)。 如果 接收方启用了高级时间戳功能或IPC全校验和卸载引擎(类型2),则需 要此功能。 如果未启用高级时间戳和IPC全校验和卸载引擎(类型2)功 能,则无需使用增强描述符。 在这种情况下,可以使用16字节的描述符 来节省4字节的内存。 此位仅在核心配置中选择了备用描述符功能和以下 任一功能时出现: • 高级时间戳功能 • IPC全校验和卸载引擎(类型2)功能 否则,此位被保留且为只读。 重置后,描述符大小将恢复到4个DWORD (16字节)。 | RW |
| 6:2 | DSL | 描述符跳过长度 这个位指定在两个未链接的描述符之间跳过Word、Dword或Lword的数 量(具体取决于32位、64位或128位总线)。 地址跳过从当前描述符 | RW |
| 1 | DA | DMA仲裁方案 这部分定义了通道0的发送路径与接收路径之间的仲裁机制。 0:加权轮询,Rx优先于Tx,或Tx优先于Rx。 路径间的优先级依据第 15至14位(PR)和第27位(TXPR)指定的优先级和权重确定。 1:固定优先级。 当第27位(TXPR)设置时,发送路径优先于接收路径; 否则,接收路径优先于发送路径。 | RW |
| 0 | SWR | 软件复位 当此位被设置时,MACDMA控制器会重置MAC的逻辑和所有内部寄存 器。 在所有DWC_mac时钟域的复位操作完成后,该位会自动清除。 在 重新编程DWC_mac的任何寄存器之前,应确保此位的值为零。 注意: • 软件复位功能仅由此位驱动。 通道1总线模式寄存器或通道2总线模 式寄存器的第0位对软件复位功能没有影响。 • 只有当所有活动时钟域中的复位操作都被取消后,复位操作才算完 成。 因此,为了完成软件复位,所有物理输入时钟(适用于选定的物 理接口)必须存在。 软件复位操作的完成时间取决于最慢活动时钟的 频率。 | RW[1] |
DMATransmit Poll Demand Register
DMA_TPDRBASE + 0x1004
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | TPD | 传输轮询需求 当这些位被写入任何值时,DMA会读取由当前主机传输描述符寄存器指 向的当前描述符。 如果该描述符未被主机拥有,传输将返回到暂停状态, 并且状态寄存器中的第2位(TU)会被激活。 如果描述符可用,传输将 恢复。 | RW |
DMAReceive Poll Demand Register
DMA_RPDRBASE + 0x1008
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | RPD | RPD:接收轮询需求 当这些位被写入任何值时,DMA会读取由当前主机接收描述符寄存 器指向的当前描述符。 如果该描述符未被主机拥有,接收过程将返回 到挂起状态,且寄状态寄存器的第7位(RU)不会被激活。 如果描 述符可用,Rx DMA将恢复到活动状态。 | RW |
DMAReceive Descriptor ListAddress Register
DMA_RDLARBASE + 0x100C
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | RDESLA | 接收列表的起始位置 | RW |
DMATransmit Descriptor ListAddress Register
DMA_TDLARBASE + 0x1010
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | TDESLA | 开始传输列表 此字段包含传输描述符列表中第一个描述符的基址。 对于32位、64位 或128位总线宽度,LSB位(1:0、2:0、3:0)被忽略,并且DMA 内部将它们视为全零。 因此,这些LSB位是只读的(RO)。 | RW |
DMA Status Register
DMA_SRBASE + 0x1014
| Bit | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 字段 | Reserved | GLPII OR GTMSI | TTI | GPI | GMI | GLI | EB | TS | RS | NIS | AIS | ERI | FBI | Reserved | ETI | RWT | RPS | RU | RI | UNF | OVF | TJT | TU | TPS | TI | |||||||
| RST | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31 | Reserved | 保留。 | R |
| 30 | GLPII OR GTMSI | MAC LPI 中断(通道 0)或 MAC TMS 中断(通道 1、2)。 | R |
| 29 | TTI | 时间戳触发中断。 | R |
| 28 | GPI | GMAC PMT 中断。 | R |
| 27 | GMI | MAC MMC 中断。 | R |
| 26 | GLI | MAC 线路接口中断。 | R |
| 25:23 | EB | 错误位,指示导致总线错误的错误类型。 | R |
| 22:20 | TS | 传输过程状态。 | R |
| 19:17 | RS | 接收进程状态。 | R |
| 16 | NIS | 正常中断摘要;自置位,写 1 清零。 | RW |
| 15 | AIS | 异常中断摘要;自置位,写 1 清零。 | RW |
| 14 | ERI | 早期接收中断。 | RW |
| 13 | FBI | 致命总线错误中断。 | RW |
| 12:11 | Reserved | 保留。 | R |
| 10 | ETI | 早期传输中断。 | RW |
| 9 | RWT | 接收看门狗超时。 | RW |
| 8 | RPS | 接收进程停止。 | RW |
| 7 | RU | 接收缓冲区不可用。 | RW |
| 6 | RI | 接收中断。 | RW |
| 5 | UNF | 传输下溢。 | RW |
| 4 | OVF | 接收溢出。 | RW |
| 3 | TJT | 传输 Jabber 超时。 | RW |
| 2 | TU | 传输缓冲区不可用。 | RW |
| 1 | TPS | 传输过程停止。 | RW |
| 0 | TI | 传输中断。 | RW |
DMAOperation Mode Register
DMA_OMRBASE + 0x1018
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:27 | Reserved | 写入无影响,读取为零。 | R |
| 26 | DT | 禁用丢弃TCP/IP校验和错误帧 当此位被设置时,MAC不会丢弃那些仅由接收校验和卸载引擎检测到 的错误帧。 这些帧在MAC接收到的以太网帧中没有错误(包括FCS错 误),但封装的有效载荷中存在错误。 当此位被复位时,如果FEF位 也被复位,则所有错误帧都会被丢弃。 如果禁用了IPC全校验和卸载引擎(类型2),此位将被保留(RO, 值为1‘b0)。 | RW |
| 25 | RSF | 接收存储和转发 当此位被设置时,MTL只在完整帧写入到它之后才从RxFIFO读取帧, 忽略RTC位。 当此位被复位时,RxFIFO在由RTC位指定的阈值下以 直通模式运行。 | RW |
| 24 | DFF | 禁用接收帧的冲洗 当此位被设置时,由于接收描述符或缓冲区不可用,RxDMA不会像正 常情况下重置此位时那样清除任何帧。 此比特在MAC-MTL配置中被保留(并为RO)。 | RW |
| 23 | RFA[2] | 启用流量控制的阈值的MSB 如果配置了RxFIFO大小为8KB或更大的DWC_mac,此位(当设置 时)会在半双工和全双工模式下提供额外的流量控制激活阈值。 此位(作 为最高有效位)与RFA(第10至9位)共同决定了流量控制激活的阈 值: •100:满减5KB,即满减5KB。 •101:满减6KB,即满减6KB。 •110:满减7KB,即满减7KB。 •111:保留。 如果Rx FIFO深度不超过4KB,此位将被保留(并设置为RO)。 | R |
| 22 | RFD[2] | 流量控制停用阈值的MSB 如果配置了DWC_mac的RxFIFO大小为8KB或更大,此位(当设置 时)会在半双工和全双工模式下提供额外的流量控制停用阈值。 此位(作 为最高有效位)与RFD(第12至11位)共同决定了流量控制停用的 阈值: •100:满减5KB,即满减5KB •101:满减6KB,即满减6KB •110:满减7KB,即满减7KB •111:保留 如果Rx FIFO深度不超过4KB,则此位被保留(且为RO)。 | |
| 21 | TSF | 传输存储和转发 当此位被设置时,当一个完整帧驻留在MTL发送FIFO中时,开始传输。 当此位被设置时,将忽略在位[16:14]中指定的TTC值。 仅当停止传输 时才应更改此位。 | RW |
| 20 | FTF | 清除传输FIFO 当此位被设置时,发送FIFO控制器的逻辑将重置为默认值,导致发送 FIFO中的所有数据丢失或清空。 在清空操作完成后,此位会在内部被 清除。 在清除此位之前,不应写入操作模式寄存器。 MAC发射器已接 受的数据不会被清空,而是被安排传输,这会导致下溢和短帧传输。 | RW[1] |
| 19:17 | Reserved | 写入无影响,读取为零。 | R |
| 16:14 | TTC | 传输阈值控制 这些位控制MTL传输FIFO的阈值。 当MTL传输FIFO中的帧大小超 过阈值时,开始传输。 此外,长度小于阈值的完整帧也会被传输。 这些 位仅在第21位(TSF)复位时使用。 •000: 64 •001: 128 •010: 192 •011: 256 •100: 40 •101: 32 •110: 24 •111: 16 | RW |
| 13 | ST | 启动或停止传输命令 当此位被设置时,传输将进入运行状态,DMA会检查当前位置的传输 列表,寻找待传输的数据帧。 DMA尝试从当前位置获取描述符,该位 置由传输描述符列表地址寄存器设置的传输列表基址,或从上次停止传 输时保留的位置获取。 如果DMA不拥有当前描述符,传输将进入暂停 状态,并且状态寄存器的第2位(传输缓冲区不可用)将被设置。 只有 在传输停止后,开始传输命令才有效。 如果在设置传输描述符列表地址 寄存器之前发出此命令,DMA的行为将变得不可预测。 当此位被复位时,传输过程在完成当前帧的传输后将进入停止状态。 此 时,传输列表中的下一个描述符位置会被保存,并在重新开始传输时作 为当前位置。 若要更改列表地址,在此位复位时,需要将传输描述符列 表地址寄存器编程为新值。 当此位再次被设置时,会考虑新的值。 停止 传输命令仅在当前帧的传输完成或处于暂停状态时有效。 | RW |
| 12:11 | RFD | 流量控制去激活的阈值(在半双工和全双工模式下)这些位控制流量控 制激活后的阈值(接收FIFO的填充水平)。 •00:满减1KB,即Full—1KB | RW |
| 10:9 | RFA | 启用流量控制的阈值(在半双工和全双工模式下) 这些位控制了流量控制激活的阈值(RxFIFO的填充水平)。 •00:满减1KB,即Full—1KB。 •01:满减2KB,即Full—2KB。 •10:满减3KB,即Full—3KB。 •11:满减4KB,即Full—4KB。 当EFC位设置为高时,这些值仅适用于4KB或更大容量的RxFIFO。 如果RxFIFO的容量为8KB或更大,则会使用额外的位(RFA[2])来 增加更多的阈值级别,具体描述见第23位。 当RxFIFO的深度小于4KB 时,这些位被保留且只读。 | RW |
| 8 | EFC | 启用硬件流量控制 当此位被设置时,基于RxFIFO的填充等级的流量控制信号操作将被启 用。 复位后,流量控制操作将被禁用。 当RxFIFO小于4KB时,此位 不使用(保留并始终复位)。 | RW |
| 7 | FEF | 传递错误帧 当此位被复位时,RxFIFO会丢弃带有错误状态(如CRC错误、碰撞 错误、GMII_ER、巨型帧、看门狗超时或溢出)的帧。 然而,如果帧的 起始字节(写入)指针已经传输到读控制器侧(在阈值模式下),则该 帧不会被丢弃。 在MAC-MTL配置中,如果帧长度FIFO在核心配置期间也被启用,Rx FIFO会在该帧的起始字节未通过ARI总线传输时丢弃错误帧。 当FEF 位设置时,除了短帧错误帧外,所有帧都会被转发到DMA。 如果第25位(RSF)设置且RxFIFO在部分帧写入时溢出,则无论FEF 位如何设置,该帧都会被丢弃。 然而,如果第25位(RSF)复位且Rx FIFO在部分帧写入时溢出,则部分帧可能会被转发到DMA。 | RW |
| 6 | FUF | 传递字节不足的好帧 设置后,RxFIFO会转发未达标准的帧(即没有错误且长度小于64字 | RW |
| 5 | Reserved | 写入无影响,读取为零。 | RW |
| 4:3 | RTC | 接收阈值控制 这两个位控制MTL接收FIFO的阈值。 当MTL接收FIFO中的帧大小 超过阈值时,DMA开始传输(请求)。 此外,长度小于阈值的完整帧 也会自动传输。 如果配置的接收FIFO大小为128字节,则11的值不 适用。 这些位仅在RSF位为0时有效,当RSF位设置为1时则被忽略。 •00: 64 •01: 32 •10: 96 •11: 128 | RW |
| 2 | OSF | 在第二帧上操作 当此位被设置时,它指示DMA在获得第一帧的状态之前处理发送数据 的第二帧。 | RW |
| 1 | SR | 启动或停止接收 当此位被设置时,接收进程将进入运行状态。 DMA尝试从接收列表中 获取描述符,并处理传入的数据帧。 描述符的获取从列表中的当前位置 开始,该位置由接收描述符列表地址寄存器设定,或接收进程上次停止 时保留的位置。 如果DMA不拥有描述符,接收将暂停,并且状态寄存 器的第7位(接收缓冲区不可用)会被设置。 只有在接收停止后,启动 接收命令才有效。 如果在设置接收描述符列表地址寄存器之前发出此命 令,DMA的行为将变得不可预测。 当此位被清除时,RxDMA操作将 在当前帧传输完成后停止。 接收列表中的下一个描述符位置将被保存, 并在接收进程重新启动后成为当前位置。 只有当接收进程处于运行状态 (等待接收数据包)或挂起状态时,停止接收命令才有效。 | RW |
| 0 | Reserved | 写入无影响,读取为零。 | R |
DMAInterrupt Enable Register
DMA_IERBASE + 0x101C
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:17 | Reserved | 写入无影响,读取为零。 | R |
| 16 | NIE | 启用常规中断摘要 当此位被设置时,启用正常中断摘要功能。 当此位被复位时,禁用正常 中断摘要功能。 此位启用以下状态寄存器中的中断: •状态寄存器[0]:发送中断 •状态寄存器[2]:发送缓冲区不可用 •状态寄存器[6]:接收中断 •状态寄存器[14]:早期接收中断 | RW |
| 15 | AIE | 异常中断摘要启用 当此位被设置时,将启用异常中断摘要。 当此位被复位时,将禁用异常 中断摘要。 此位启用以下状态寄存器中的中断: •状态寄存器[1]:传输过程停止 •状态寄存器[3]:传输抖动超时 •状态寄存器[4]:接收溢出 •状态寄存器[5]:传输欠载 •状态寄存器[7]:接收缓冲区不可用 •状态寄存器[8]:接收过程停止 •状态寄存器[9]:接收看门狗超时 •状态寄存器[10]:早期传输中断 •状态寄存器[13]:致命总线错误 | RW |
| 14 | ERE | 早期接收中断启用 当此位与“常规中断摘要启用”(第16位)一起设置时,将启用早期接 收中断。 当此位被复位时,将禁用早期接收中断。 | RW |
| 13 | FBEE | 致命总线错误 | RW |
| 12:11 | Reserved | 写入无影响,读取为零。 | R |
| 10 | ETE | 早期传输中断启用 当此位与异常中断摘要启用(第15位)一起设置时,将启用早期传输中 断。 当此位被复位时,将禁用早期传输中断。 | RW |
| 9 | RWE | 启用接收看门狗超时中断 当此位与异常中断摘要启用(第15位)一起设置时,将启用接收看门狗 超时中断。 当此位被复位时,将禁用接收看门狗超时中断。 | RW |
| 8 | RSE | 接收停止中断 当此位与异常中断摘要启用(位15)一起设置时,将启用接收停止中断。 当此位被复位时,将禁用接收停止中断。 | RW |
| 7 | RUE | 接收缓冲区不可用启用 当此位与异常中断摘要启用(第15位)一起设置时,将启用接收缓冲区 不可用中断。 当此位被复位时,将禁用接收缓冲区不可用中断。 | RW |
| 6 | RIE | 接收中断启用 当使用正常中断摘要启用(第16位)设置此位时,将启用接收中断。 当 重置此位时,将禁用接收中断。 | RW |
| 5 | UNE | 下溢中断启用 当此位与异常中断摘要启用(第15位)一起设置时,将启用发送下溢中 断。 当此位被复位时,下溢中断将被禁用。 | RW |
| 4 | OVE | 溢出中断启用 当此位与异常中断摘要启用(第15位)一起设置时,接收溢出中断被启 用。 当此位复位时,溢出中断被禁用。 | RW |
| 3 | TJE | 发送Jabber超时启用 当此位与异常中断摘要启用(第15位)一起设置时,将启用发送Jabber 超时中断。 当此位被复位时,将禁用发送Jabber超时中断。 | RW |
| 2 | TUE | 传输缓冲区不可用启用 当此位与“常规中断摘要启用”(第16位)一起设置时,将启用“传输 缓冲区不可用”中断。 当此位被复位时,将禁用“传输缓冲区不可用” 中断。 | RW |
| 1 | TSE | 传输停止启用 | RW |
| 0 | TIE | 发送中断启用 当此位与“常规中断摘要启用”(第16位)一起设置时,将启用发送中 断。 当此位被复位时,将禁用发送中断。 | RW |
DMAMissed Frame and Buffer Overflow Counter Register
DMA_MFOCRBASE + 0x1020
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:29 | Reserved | 写入无影响,读取为零。 | R |
| 28 | OVFCNTOVF | FIFO溢出计数器的溢出位 | RC[1] |
| 27:17 | OVFFRMCNT | 此字段表示应用程序错过的帧数。 每当MTL断言边带信号 mtl_rxoverflow_o时,计数器就会递增。 当使用mci_be_i[2]以1‘b1 读取此寄存器时,计数器会被清零。 | RC[2] |
| 16 | MISCNTOVF | 漏帧计数器溢出位 | RC[3] |
| 15:0 | MISFRMCNT | 此字段表示因主机接收缓冲区不可用而导致控制器错过的帧数。 每当 DMA丢弃一个传入的帧时,计数器就会增加。 当使用mci_be_i[0] 以1‘b1读取此寄存器时,计数器会被清零。 | RC[4] |
DMA Receive Interrupt Watchdog Timer Register
DMA_RIWTRBASE + 0x1024
| Bit | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 字段 | Reserved | RIWT | ||||||||||||||||||||||||||||||
| RST | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:8 | Reserved | 保留。 | R |
| 7:0 | RIWT | RI 看门狗定时器计数,以系统时钟周期数乘以 256 表示。 | RW |
DMAAHB State Register
DMA_AHBSRBASE + 0x102C
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:1 | Reserved | 写入无影响,读取为零。 | R |
| 0 | AXWHSTS | AHB主机状态 当为高电平时,表示AHB主机的写通道处于活动状态,在MAC-AHB 配置中,表示AHB主机接口FSM处于非空闲状态。 | R |
DMACurrent Host Transmit Descriptor Register
DMA_CHTDRBASE + 0x1048
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | CURTDESAPTR | 主机传输描述符地址指针 复位时清除。 操作期间,DMA更新指针。 | R |
DMACurrent Host Receive Descriptor Register
DMA_CHRDRBASE + 0x104C
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | CURRDESAPTR | 主机接收描述符地址指针 复位时清除。 操作期间,DMA更新指针。 | R |
DMACurrent Host Transmit BufferAddress Register
DMA_CHTBARBASE + 0x1050
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | CURTBUFAPTR | 主机传输缓冲区地址指针 复位时清除。 操作期间,DMA更新指针。 | R |
DMACurrent Host Receive Buffer Address Register
DMA_CHRBARBASE + 0x1054
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | CURRBUFAP TR | 主机接收描述符地址指针 复位时清除。 操作期间,DMA更新指针。 | R |
HW Feature Register
HWFRBASE + 0x1058
| Bit | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 字段 | Reserved | ACTPHYIF | SAVLANINS | FLEXIPPSEN | INTTSEN | ENHDESSEL | TXCHCNT | RXCHCNT | RXFIFOSIZE | RXTYP2COE | RXTYP1COE | TXCOESEL | AVSEL | EEESEL | TSVER2SEL | TSVER1SEL | MMCSEL | MGKSEL | RWKSEL | SMASEL | L3L4FLTREN | PCSSEL | ADDMACADRSEL | HASHSEL | EXTHASHEN | HDSEL | GMIISEL | MIISEL | ||||
| RST | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 |
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31 | Reserved | 保留。 | R |
| 30:28 | ACTPHYIF | 活动或选定的物理接口。 | R |
| 27 | SAVLANINS | 源地址或 VLAN 插入。 | R |
| 26 | FLEXIPPSEN | 灵活的每秒脉冲输出。 | R |
| 25 | INTTSEN | 使用内部系统时间进行时间戳。 | R |
| 24 | ENHDESSEL | 备用增强型描述符。 | R |
| 23:22 | TXCHCNT | 额外 Tx 信道数量。 | R |
| 21:20 | RXCHCNT | 额外 Rx 信道数量。 | R |
| 19 | RXFIFOSIZE | Rx FIFO > 2048 字节。 | R |
| 18 | RXTYP2COE | Rx 中的 IP 校验和卸载(类型 2)。 | R |
| 17 | RXTYP1COE | Rx 中的 IP 校验和卸载(类型 1)。 | R |
| 16 | TXCOESEL | 发送端校验和卸载。 | R |
| 15 | AVSEL | AV 特性。 | R |
| 14 | EEESEL | 节能以太网。 | R |
| 13 | TSVER2SEL | IEEE 1588-2008 高级时间戳。 | R |
| 12 | TSVER1SEL | IEEE 1588-2002 时间戳。 | R |
| 11 | MMCSEL | RMON 模块。 | R |
| 10 | MGKSEL | PMT 魔术包。 | R |
| 9 | RWKSEL | PMT 远程唤醒。 | R |
| 8 | SMASEL | SMA(MDIO)接口。 | R |
| 7 | L3L4FLTREN | 第 3 层和第 4 层功能。 | R |
| 6 | PCSSEL | PCS 寄存器。 | R |
| 5 | ADDMACADRSEL | 多个 MAC 地址寄存器。 | R |
| 4 | HASHSEL | 哈希过滤器。 | R |
| 3 | EXTHASHEN | 扩展 DA 哈希过滤器。 | R |
| 2 | HDSEL | 半双工支持。 | R |
| 1 | GMIISEL | 支持 1000 Mbps。 | R |
| 0 | MIISEL | 支持 10 或 100 Mbps。 | R |
MAC Configuration Register
MAC_CRBASE + 0x0000
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31 | Reserved | 写入无影响,读取为零。 | R |
| 30:28 | SARC | 源地址插入或替换控制 此字段控制所有传输帧的源地址插入或替换。 第30位根据第[29:28]位的值指定使用哪个MAC地址寄存器(0或1)进 行源地址插入或替换: •2’b0x:输入信号mti_sa_ctrl_i和ati_sa_ctrl_i控制SA字段生成。 •2’b10: -如果第30位设置为0,MAC会在所有传输帧的SA字段中插入MAC地址 0寄存器的内容。 -如果第30位设置为1且在核心配置期间选择了启用MAC地址寄存器1选 项,MAC会在所有传输帧的SA字段中插入MAC地址1寄存器的内容。 •2’b11: -如果第30位设置为0,MAC会替换所有传输帧的SA字段中MAC地址0 寄存器的内容。 -如果第30位设置为1且在核心配置期间选择了启用MAC地址寄存器1选 项,MAC会替换所有传输帧的SA字段中MAC地址1寄存器的内容。 | RW |
| 27 | TWOKPE | IEEE802.3as支持2K数据包 当设置时,MAC将所有帧视为正常数据包,最大长度为2,000字节。 当第 20位(大报头启用)未设置时,MAC将接收到的所有大小超过2K字节的 帧视为巨帧。 当此位复位且第20位(大报头启用)未设置时,MAC将接收 到的所有大小超过1,518字节(标记后为1,522字节)的帧视为巨帧。 当第 20位(大报头启用)设置时,设置此位不会影响巨帧状态。 | RW |
| 26 | SFTERR | SMII强制发送错误 设置后,此位指示物理层强制正在传输的SMII帧中发生发送错误。 如果在核心配置过程中未选择SMII物理层端口,则此位保留。 | RW |
| 25 | CST | 对类型帧进行CRC剥离 如果设置此选项,则在将帧转发到应用程序之前,会剥离并丢弃所有以太网 | RW |
| 24 | TC | 在RGMII、SGMII或SMII中传输配置 当设置此位时,它允许向RGMII、SGMII或SMII端口的PHY发送双工模 式、链路速度以及链路上下信息。 当此位复位时,不会向PHY发送此类信 息。 如果在核心配置过程中未选择RGMII、SGMII或SGMIIPHY端口,则此位 保留(且为RO)。 | RW |
| 23 | WD | 看门狗禁用 当此位被设置时,MAC禁止接收器上的看门狗定时器。 MAC可以接收最多 16,384字节的帧。 当此位被复位时,MAC不允许接收到的帧超过2,048字 节(如果Je设置为高,则为10,240字节)。 MAC会截断接收到的2,048 字节之后的所有字节。 | RW |
| 22 | JD | Jabber禁用 当此位被设置时,MAC将禁用发送器上的Jabber定时器。 MAC可以传输 最多16,384字节的帧。 当此位被复位时,如果应用程序在传输过程中发送 超过2,048字节的数据(如果Je设置为高,则为10,240字节),MAC将 切断发送器。 | RW |
| 21 | BE | 帧突发启用 当此位被设置时,MAC允许在GMII半双工模式下传输期间发生帧突发。 此 位仅在10/100 Mbps或全双工模式配置中保留(且为RO)。 | RW |
| 20 | JE | 启用巨帧 如果设置此位,则MAC允许9,018字节的巨帧(对于VLAN标记帧为9,022 字节),而不会在接收帧状态中报告巨帧错误。 | RW |
| 19:17 | IFG | 帧间间隔 这些位控制传输过程中帧之间的最小IFG。 •000:96个比特时间 •001:88个比特时间 •010:80个比特时间 •... •111:40个比特时间 在半双工模式下,最小IFG只能配置为64个比特时间(IFG=100)。 较低 | RW |
| 16 | DCRS | 在传输过程中禁用载波侦听 当设置为高电平时,此位使MAC发射器在半双工模式下忽略帧传输期间的 (G)MIICRS信号。 此请求不会因载波丢失或无载波而在传输过程中产生错 误。 当此位为低电平时,MAC发射器会因载波侦听而生成此类错误,甚至 可以中止传输。 此位在全双工配置中保留(且为读写保护)。 | RW |
| 15 | PS | 端口选择 此位在GMII和MII之间进行选择: •0:GMII(1000 Mbps) •1:MII(10/100 Mbps) 在仅10或100 Mbps(始终为1)或仅1000Mbps(始终为0)的配置中, 此位只读取相应的值。 在默认的10/100/1000 Mbps配置中,此位为R_W。 mac_portselect_o信号反映了此位的值。 | RW |
| 14 | FES | 速度 这位选择MII、RMII、SMII、RGMII、SGMII或RevMII接口中的速度: •0: 10 Mbps •1: 100 Mbps 默认情况下,此位被保留(只读),仅在核心配置期间启用RMII、SMII、 RGMII、SGMII或RevMII接口时启用。 当TC(第24位)在RGMII、SMII 或SGMII模式下设置时,此位生成链路速度编码。 对于RevMII,此位始终被驱动。 如果MAC配置了RMII、SMII、SGMII或 RGMII物理层接口,此位可以作为输出信号(mac_speed_o[0])选择性地 驱动,以反映mac_speed_o信号中的此位值。 此外,在核心配置期间启用 RMII但未启用输出端口的速度选择选项时,此位被保留。 | RW |
| 13 | DO | 禁用接收所有 当此位被设置时,MAC在半双工模式下断言gmii_txen_o时禁用帧接收。 当此位被复位时,MAC在传输过程中接收由PHY提供的所有数据包。 如果MAC在全双工模式下运行,则此位不适用。 如果MAC配置为仅全双工操作,则此位保留(默认值为RO)。 | RW |
| 12 | LM | 回环模式 当此位被设置时,MAC在GMII或MII模式下以回环模式运行。 回环正常工 | RW |
| 11 | DM | 双工模式 当此位被设置时,MAC在全双工模式下工作,可以同时发送和接收。 此位 为RO,全双工配置下的默认值为1’b1。 | RW |
| 10 | IPC | 校验和卸载 当此位被设置时,MAC计算所有接收到的以太网帧负载的一的补码之和的 16位一的补码。 它还检查接收到的帧的IPv4头校验和(假设为接收到的以 太网帧的第25-26字节或29-30字节(VLAN标记))是否正确,并在接收 状态字中给出状态。 MAC还会附加计算出的IP头数据报负载的16位校验 和(IPv4头之后的字节),并将其附加到传输给应用程序的以太网帧(当类 型2COE被取消选择时)。 当此位被复位时,此功能被禁用。 当类型2COE被选择时,此位被设置时, 启用IPv4头校验和检查以及IPv4或IPv6TCP、UDP或ICMP负载校验和 检查。 当此位被复位时,接收方的COE功能被禁用,并且相应的PCE和IP HCE状态位始终被清除。 如果在核心配置期间未启用IP校验和卸载功能,此位保留(默认值为RO)。 | RW |
| 9 | DR | 禁用重试 当此位设置时,MAC仅尝试一次传输。 如果在GMII或MII接口发生碰撞, MAC会忽略当前帧的传输,并报告传输帧状态中的“帧中止”并显示过多 碰撞错误。 当此位复位时,MAC根据BL字段(第[6:5]位)的设置尝试重试。 此位仅适用于半双工模式,在全双工配置中保留(默认值为读写保护)。 | RW |
| 8 | LUD | 链接连接或断开 此位指示在RGMII、SGMII或SMII接口配置传输过程中,链接是连接还是 断开: •0:链接断开 •1:链接连接 此位保留(默认值为RO),当核心配置期间启用RGMII、SGMII或SMII 接口时启用。 | RW |
| 7 | ACS | 自动填充或CRC剥离 当此位被设置时,MAC仅在长度字段值小于1,536字节时剥离传入帧的填 充或FCS字段。 所有长度字段大于或等于1,536字节的接收帧都会传递给 应用程序,而不剥离填充或FCS字段。 | RW |
| 6:5 | BL | 退避限制 退避限制决定了在发生碰撞后重试时,MAC在重新调度传输尝试之前等待 的槽时间延迟(对于1000 Mbps为4,096个比特时间,对于10/100 Mbps 为512个比特时间)的随机整数(r)。 此位仅适用于半双工模式,并在全双工 配置中保留(RO)。 •00: k=min(n,10) •01: k= min(n,8) •10: k= min(n,4) •11: k=min(n,1),其中n=重传尝试次数。 随机整数r的值范围为≤r< 2k 。 | RW |
| 4 | DC | 延迟检查 当此位被设置时,MAC中启用延迟检查功能。 当传输状态机在10或100 Mbps模式下延迟超过24,288个比特时间时,MAC会发出帧终止状态,并 在发送帧状态中设置过量延迟错误位。 如果MAC配置为1000 Mbps操作, 或者在10或100Mbps模式下启用了巨帧模式,则延迟阈值为155,680个 比特时间。 延迟从发射器准备发送时开始,但由于GMII或MII上的活动载 波检测信号(CRS)而被阻止。 延迟时间不累积。 当发射器延迟10,000个 比特时间后,它会发送、碰撞、退避,然后在完成退避后再重新延迟。 延迟 计时器重置为0并重新启动。 当此位被复位时,延迟检查功能被禁用,MAC将延迟直到CRS信号失效。 此位仅适用于半双工模式,在全双工配置中保留(RO)。 | RW |
| 3 | TE | 发送器使能 当此位被设置时,MAC的发送状态机在GMII或MII上被启用以进行传输。 当此位被复位时,在当前帧的传输完成后,MAC发送状态机将被禁用,并 且不会传输任何进一步的帧。 | RW |
| 2 | RE | 接收器使能 当此位被设置时,MAC的接收状态机将被启用以从GMII或MII接收帧。 当此位被复位时,在完成当前帧的接收后,MAC接收状态机将被禁用,并 且不再从GMII或MII接收任何进一步的帧。 | RW |
| 1:0 | PRELEN | 前导码长度 用于传输帧这些位控制每个传输帧开头添加的前导字节数。 只有当MAC处 于全双工模式时,才会减少前导码。 | RW |
MAC Frame Filter Register
MAC_FFRBASE + 0x0004
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31 | RA | 接收全部 当此位被设置时,MAC接收模块会将所有接收到的帧传递给应用程序, 无论这些帧是否通过地址过滤器。 SA或DA过滤的结果(通过或失败) 会在接收状态Word的相应位中更新。 当此位复位时,接收模块仅将通过SA或DA地址过滤器的帧传递给应用 程序。 | RW |
| 30:22 | Reserved | 写入无影响,读取为零。 | R |
| 21 | DNTU | 丢弃非TCP/UDP的IP帧 当设置此位时,MAC可以丢弃非TCP或UDP的IP帧。 MAC只转发由 第4层过滤器处理的帧。 重置此位时,MAC可以转发所有非TCP或UDP 的IP帧。 如果在核心配置期间未选择第3层和第4层过滤功能,则此位保留(默认 值为RO)。 | RW |
| 20 | IPFE | 第3层和第4层过滤启用 当设置时,此位允许MAC丢弃不符合启用的第3层和第4层过滤器的帧。 如果未启用第3层或第4层过滤器进行匹配,则此位没有任何效果。 重置后,无论第3层和第4层字段的匹配状态如何,MAC都会转发所有 帧。 如果在核心配置期间未选择第3层和第4层过滤功能,此位将被保留(默 认值为读写保护)。 | RW |
| 16 | VTFE | VLAN标记过滤器 启用设置此位后,MAC将丢弃与VLAN标记比较不匹配的VLAN标记帧。 重置此位后,无论VLAN标记的匹配状态如何,MAC都将转发所有帧。 | RW |
| 15:11 | Reserved | 写入无影响,读取为零。 | RW |
| 10 | HPF | 哈希或完美过滤 当此位被设置时,它配置地址过滤器,如果帧匹配由HMC或HUC位设 置的完美过滤或哈希过滤,则通过该帧。 当此位为低电平且HUC或HMC 位被设置时,只有当帧匹配哈希过滤器时才会通过。 如果在核心配置过程中未选择哈希过滤器,则此位保留(并处于只读状 态)。 | RW |
| 9 | SAF | 源地址过滤器启用 当此位被设置时,MAC会将接收到的帧中的SA字段与已编程的启用SA 寄存器中的值进行比较。 如果比较匹配,则RxStatusWord中的SA匹配 位会被置高。 当此位被置高且SA过滤器失败时,MAC会丢弃该帧。 当此位被复位时,MAC会根据SA地址比较结果,将接收到的帧转发给应 用程序,并更新RxStatus中的SA匹配位。 | RW |
| 8 | SAIF | SA反向过滤 当此位被设置时,地址检查模块以反向过滤模式运行,用于SA地址比较。 SA与SA寄存器匹配的帧将标记为SA地址过滤失败。 当此位被复位时,SA与SA寄存器不匹配的帧将标记为SA地址过滤失败。 | RW |
| 7:6 | PCF | 通过控制帧 这些位控制所有控制帧(包括单播和组播暂停帧)的转发。 •00:MAC滤除所有控制帧,防止其到达应用程序。 •01:MAC将所有控制帧转发给应用程序,即使它们未能通过地址过滤器, 但不包括暂停控制帧。 •10:MAC将所有控制帧转发给应用程序,即使它们未能通过地址过滤器。 •11:MAC转发通过地址过滤器的控制帧。 对于暂停控制帧处理,以下条件应满足: •条件1:MAC处于全双工模式,并且通过设置流量控制寄存器的第2位 (RFE)为1来启用流量控制。 •条件2:接收到的帧的目的地址(DA)与特殊组播地址或MAC地址0 | RW |
| 5 | DBF | 禁用广播帧 当此位被设置时,AFM模块将过滤所有传入的广播帧。 此外,它将覆盖所 有其他过滤设置。 当此位被复位时,AFM模块将传递所有接收到的广播帧。 | RW |
| 4 | PM | 传递所有多播 当设置此位时,表示将传递所有具有多播目标地址(目标地址字段中的第 一个比特为“1”)的接收帧。 重置后,多播帧的过滤取决于HMC位。 | RW |
| 3 | DAIF | DA反向滤波 当此位被设置时,地址检查模块在反向滤波模式下对单播和多播帧的DA 地址进行比较。 复位后,执行帧的正常滤波。 | RW |
| 2 | HMC | 哈希多播 当设置时,MAC根据哈希表对收到的多播帧执行目的地址过滤。 重置后, MAC对多播帧进行完美的目的地址过滤,即比较DA字段与DA寄存器中 编程的值。 如果在核心配置过程中未选择哈希过滤器,则此位被保留(并 处于RO状态)。 | RW |
| 1 | HUC | 哈希单播 当设置时,MAC根据哈希表对单播帧执行目的地址过滤。 重置后,MAC 对单播帧进行完美的目的地址过滤,即比较DA字段与DA寄存器中编程 的值。 如果在核心配置期间未选择哈希过滤器,则此位保留(且为RO)。 | RW |
| 0 | PR | 混杂模式 当此位被设置时,地址过滤器模块将通过所有传入帧,而不管其目标或源 地址。 当PR被设置时,接收状态Word的SA或DA过滤器失败状态位 总是被清除。 | RW |
MAC Hash Table High Register
MAC_HTHRBASE + 0x0008
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | HTH | 哈希表高段 此字段包含哈希表的前32位。 | RW |
MAC Hash Table Low Register
MAC_HTLRBASE + 0x000C
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | HTL | 哈希表低段 此字段包含哈希表的低32位 | RW |
GMIIAddress Register
GMII_ARBASE + 0x0010
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:16 | Reserved | 写入无影响,读取为零。 | R |
| 15:11 | PA | 物理层地址 此字段指示正在访问的32个可能的PHY设备中的哪一个。 对于RevMII,此字段给出RevMII模块的PHY地址。 | RW |
| 10:6 | GR | GMII寄存器 这些位选择选定的PHY设备中的所需GMII寄存器。 对于RevMII,这些 位选择RevMII寄存器集中的所需CSR寄存器。 | RW |
| 5:2 | CR | CSR时钟范围 | RW |
| 1 | GW | GMII写入 设置后,此位指示PHY或RevMII这是一个使用GMII数据寄存器的写 入操作。 如果未设置此位,则表示这是一个读取操作,即将数据放入GMII 数据寄存器中。 | RW |
| 0 | GB | GMII忙 此位应在写入GMII地址寄存器和GMII数据寄存器之前读取逻辑0。 在 PHY或RevMII寄存器访问期间,软件将此位设置为1’b1,以指示正 | RW[ 1] |
GMII Data Register
GNII_DRBASE + 0x0014
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:16 | Reserved | 写入无影响,读取为零。 | R |
| 15:0 | GD | GD:GMII数据 此字段包含在管理读操作后从PHY或RevMII读取的16位数据值,或在 管理写操作前要写入PHY或RevMII的16位数据值。 | RW |
MAC Flow Control Register
MAC_FCRBASE + 0x0018
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:16 | PT | 暂停时间 此字段包含在发送控制帧的暂停时间字段中使用的值。 如果将暂停时 间位配置为与(G)MII时钟域双同步,则只有在目标时钟域中至少经过 四个时钟周期后,才能对该寄存器进行连续写入。 | RW |
| 15:8 | Reserved | 写入无影响,读取为零。 | R |
| 7 | DZPQ | 禁用零量子暂停 当此位被设置时,它会禁用在FIFO层(MTL或外部侧带流量控制信 号sbd_flowctrl_i/mti_flowctrl_i)的流量控制信号断言解除时自动生 成零量子暂停控制帧。 当此位复位时,启用正常操作并自动生成零量子暂停控制帧。 | RW |
| 6 | Reserved | 写入无影响,读取为零。 | R |
| 5:4 | PLT | 暂停低阈值 此字段配置了暂停计时器的阈值,在该阈值下会检查输入流量控制信 号mti_flowctrl_i(或sbd_flowctrl_i),以自动重新传输暂停帧。 阈值 应始终小于在Bits[31:16]中配置的暂停时间。 例如,如果PT=100H (256时隙),且PLT=01,则在第一个暂停帧传输后228(256–28) 个时隙,如果mti_flowctrl_i信号被激活,则会自动传输第二个暂停帧。 以下列表提供了不同值的阈值: •00:阈值为暂停时间减去4个时隙(PT–4时隙)。 •01:阈值为暂停时间减去28个时隙(PT–28时隙)。 •10:阈值为暂停时间减去144个时隙(PT–144时隙)。 •11:阈值为暂停时间减去256个时隙(PT–256时隙)。 时隙定义为在GMII或MII接口上传输512位(64字节)所需的时间。 | RW |
| 3 | UP | 单播暂停帧检测 当此位被设置时,除了检测具有唯一多播地址的暂停帧外,MAC还 会检测在MAC地址0高寄存器和MAC地址0低寄存器中指定的站 点单播地址的暂停帧。 当此位被复位时,MAC仅检测具有802.3x标 准中指定的唯一多播地址的暂停帧。 | RW |
| 2 | RFE | 接收流量控制启用 当此位被设置时,MAC解码接收到的暂停帧,并在指定(暂停)时 间内禁用其发送器。 当此位被复位时,暂停帧的解码功能被禁用。 | RW |
| 1 | TFE | 传输流量控制启用 | RW |
| 0 | FCB_BPA | 流量控制忙碌或背压激活 此位在全双工模式下启动暂停控制帧,在半双工模式下如果TFE位 被设置,则激活背压功能。 在全双工模式下,写入流量控制寄存器之 前应将此位读取为1’b0。 要启动暂停控制帧,应用程序必须将此位 设置为1’b1。 在控制帧传输期间,此位继续设置以表示帧传输正在 进行中。 暂停控制帧传输完成后,MAC将此位重置为1’b0。 在半双工模式下,当此位被设置(且TFE位被设置)时,MAC会断 言背压。 在背压期间,当MAC接收到新帧时,发送方开始发送JAM 模式,导致碰撞。 此控制寄存器位与mti_flowctrl_i输入信号进行逻辑 或运算,用于背压功能。 当MAC配置为全双工模式时,BPA自动禁 用。 | RW |
MAC VLAN Tag Register
MAC_VTRBASE + 0x001C
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:20 | Reserved | 写入无影响,读取为零。 | R |
| 19 | VTHM | VLAN标签哈希表匹配启用 当设置时,VLAN标签的CRC的最高四位用于索引VLAN哈希表寄 存器的内容。 VLAN哈希表寄存器中的值为1,对应于该索引,表示 帧与VLAN哈希表匹配。 当第16位(ETV)设置时,使用12位VLAN标识符(VID)的CRC | RW |
| 18 | ESVL | 启用S-VLAN 当此位被设置时,MAC发送器和接收器也将S-VLAN(类型=0x88A8) 帧视为有效的VLAN标记帧。 | RW |
| 17 | VTIM | VLAN标记反向匹配启用 设置后,此位启用VLAN标记反向匹配。 没有匹配VLAN标记的帧被 标记为匹配。 重置后,此位启用VLAN标记完全匹配。 具有匹配VLAN 标记的帧被标记为匹配。 | RW |
| 16 | ETV | 启用12位VLAN标签比较 当此位被设置时,使用12位VLAN标识符进行比较和过滤,而不是 完整的16位VLAN标签。 VLAN标签的[11:0]位与接收到的带有 VLAN标签的帧中的相应字段进行比较。 同样,当启用时,仅使用接 收到的帧中VLAN标签的12位进行基于哈希的VLAN过滤。 当此位 复位时,接收到的VLAN帧的第15和16字节的所有16位用于比较 和VLAN哈希过滤。 | RW |
| 15:0 | VL | 接收帧的VLAN标签标识符 此字段包含用于识别VLAN帧的802.1QVLAN标签,并与接收到的 VLAN帧的第15和16字节进行比较。 以下列表描述了该字段的位: •位[15:13]:用户优先级 •位12:规范格式指示器(CFI)或丢弃资格指示器(DEI) •位[11:0]:VLAN标签的VLAN标识符(VID)字段 当ETV位被设置时,仅使用VID(位[11:0])进行比较。 如果VL(如 果ETV被设置,则为VL[11:0])全为零,MAC不会检查第15和 16字节以进行VLAN标签比较,并将类型字段值为0x8100或0x88a8 的所有帧声明为VLAN帧。 | RW |
MAC Debug Register
MAC_DRBASE + 0x0024
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:26 | Reserved | 写入无影响,读取为零。 | R |
| 25 | TXSTSFSTS | MTLTxStatus FIFO 满状态 当为高电平时,此位表示MTLTxStatusFIFO已满。 因此,MTL无法再 接受任何帧进行传输。 此位在MAC-AHB和MAC-DMA配置中保留。 | |
| 24 | TXFSTS | MTLTxFIFO不为空状态 当为高电平时,此位指示MTLTxFIFO不为空,并且有数据待传输。 | R |
| 23 | Reserved | 写入无影响,读取为零。 | R |
| 22 | TWCSTS | MTLTxFIFO写控制器状态 当为高电平时,此位表示MTLTxFIFO写控制器处于活动状态,并且正 在将数据传输到TxFIFO。 | R |
| 21:20 | TRCSTS | MTL发送FIFO读取控制器状态 此字段指示发送FIFO读取控制器的状态: •00:空闲状态 | R |
| 19 | TXPAUSED | MAC发射器处于暂停状态 当该位为高电平时,表示MAC发射器处于暂停状态(仅全双工模式), 因此不安排任何帧进行传输。 | R |
| 18:17 | TFCSTS | MAC发送帧控制器状态 这个字段表示MAC发送帧控制器模块的状态: •00:空闲状态 •01:等待前一帧或IFG的状态或退避期结束 •10:生成并发送暂停控制帧(在全双工模式下) •11:传输输入帧以供发送 | R |
| 16 | TPESTS | MAC GMII或MII发送协议引擎状态 当该位为高电平时,表示MACGMII或MII发送协议引擎正在发送数据, 且不处于空闲状态。 | R |
| 15:10 | Reserved | 写入无影响,读取为零。 | R |
| 9:8 | RXFSTS | MTLRxFIFO填充水平状态 此字段给出RxFIFO的填充水平状态: •00:Rx FIFO空 •01:Rx FIFO填充水平低于流量控制停用阈值 •10:Rx FIFO填充水平高于流量控制启用阈值 •11:RxFIFO满 | R |
| 7 | Reserved | 写入无影响,读取为零。 | R |
| 6:5 | RRCSTS | MTLRxFIFO读取控制器状态 此字段给出RxFIFO读取控制器的状态: •00:空闲状态 •01:读取帧数据 •10:读取帧状态(或时间戳) •11:刷新帧数据和状态 | R |
| 4 | RWCSTS | MTLRxFIFO写入控制器活动状态 当该位为高电平时,表示MTLRxFIFO写入控制器处于活动状态,并且 正在将接收到的帧传输到FIFO。 | R |
| 3 | Reserved | 写入无影响,读取为零。 | R |
| 2:1 | RFCFCSTS | MAC接收帧控制器FIFO状态 当该字段为高电平时,表示MAC接收帧控制器模块的小型FIFO读写控 制器处于活动状态。 | R |
| 0 | RPESTS | MAC GMII或MII接收协议引擎状态 当该位为高电平时,表示MACGMII或MII接收协议引擎正在接收数据, 而不是处于空闲状态。 | R |
LPI Control and Status Register
LPI_CSRBASE + 0x0030
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:20 | Reserved | 写入无影响,读取为零。 | R |
| 19 | LPITXA | LPITX自动控制 这位控制MAC在发送端进入或退出LPI模式时的行为。 此位在 MAC-CORE配置中不起作用,在该配置中,Tx时钟门控是在LPI模 式下完成的。 如果LPITXA和LPIEN位设置为1,MAC只有在所有未 处理帧(核心内)和待处理帧(应用接口内)传输完毕后才会进入LPI 模式。 当应用程序发送任何帧以供传输或应用程序发出TXFIFO清空 命令时,MAC会退出LPI模式。 此外,MAC在退出LPI状态时会自 动清除LPIEN位。 如果设置了TXFIFO清空,在操作模式寄存器的第20位中,当MAC 处于LPI模式时,MAC会退出LPI模式。 当此位为0时,LPIEN位直 接控制MAC在进入或退出LPI模式时的行为。 | R |
| 18 | PLSEN | PHY链路状态 启用此位可使在RGMII、SGMII或SMII接收路径上接收到的链路状态 用于激活LPILS定时器。 设置后,MAC使用SGMII/RGMII/SMII状态 | RW |
| 17 | PLS | PHY链路状态 该位指示PHY的链路状态。 MAC发射器仅在链路状态正常(良好) 时才断言LPI模式,至少持续LPILS定时器所指示的时间。 设置后, 链路被视为正常(开启),重置后,链路被视为关闭。 | RW |
| 16 | LPIEN | LPI启用 当设置时,此位指示MAC发射器进入LPI状态。 复位时,此位指示 MAC退出LPI状态并恢复正常传输。 当LPITXA位被设置且MAC因 新数据包到达而退出LPI状态时,此位会被清除。 | RW[1] |
| 15:10 | Reserved | 写入无影响,读取为零。 | R |
| 9 | RLPIST | 接收LPI状态 当设置此位时,表示MAC正在通过GMII或MII接口接收LPI模式。 | R |
| 8 | TLPIST | 传输LPI状态 设置后,此位指示MAC正在通过GMII或MII接口传输LPI模式。 | R |
| 7:4 | Reserved | 写入无影响,读取为零。 | R |
| 3 | RLPIEX | 接收LPI退出 设置后,此位表示MAC接收器已停止在GMII或MII接口上接收LPI 模式,退出了LPI状态,并恢复了正常的接收。 通过读取该寄存器可 以清除此位。 注意:如果MAC在非常短暂的时间内,例如少于3个clk_csr_i时钟 周期,停止接收LPI模式,则此位可能不会被设置。 | R[2] |
| 2 | RLPIEN | 接收LPI进入 设置后,此位表示MAC接收器已接收到LPI模式并进入LPI状态。 读 取此寄存器时,该位会被清除。 注意:如果MAC在非常短的时间内停止接收LPI模式,例如少于3 个clk_csr_i时钟周期,则此位可能不会被设置。 | R[3] |
| 1 | TLPIEX | 传输LPI退出 设置后,此位表示在用户清除LPIEN位和LPITW定时器到期之后, MAC发射器已退出LPI状态。 通过读取该寄存器来清除此位。 | R[4] |
| 0 | TLPIEN | 传输LPI进入 当设置时,此位指示MAC发送器由于LPIEN位的设置而进入LPI状 态。 通过读取该寄存器清除此位。 | R[5] |
LPI Timers Control Register
LPI_TCRBASE + 0x0034
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:26 | Reserved | 写入无影响,读取为零。 | R |
| 25:16 | LST | LPILS定时器 此字段指定物理层应保持链路状态(正常)的最短时间(以毫秒为单位), 在此之后才能向物理层发送LPI模式。 即使LPIEN位被设置,MAC也 不会发送LPI模式,除非LPILS定时器达到预设的终端计数。 根据IEEE 标准,LPILS定时器的默认值为1000 (1秒)。 | RW |
| 15:0 | TWT | LPITW定时器 此字段指定MAC在停止向PHY发送LPI模式后,并在恢复正常传输之 前等待的最短时间(以微秒为单位)。 此定时器到期后,TLPIEX状态位 将被设置。 | RW |
MAC Interrupt Status Register
MAC_ISRBASE + 0x0038
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:11 | Reserved | 写入无影响,读取为零。 | R |
| 10 | LPIIS | LPI中断状态 当启用能效以太网功能时,此位在MAC发送器或接收器中的任何 LPI状态进入或退出时被设置。 读取LPI控制和状态寄存器的第0位 时,此位被清除。 在所有其他模式下,此位保留。 | R |
| 9 | TSIS | 时间戳中断状态 当启用高级时间戳功能时,当以下任一条件为真时,此位会被设置: •系统时间值等于或超过目标时间高和低寄存器中指定的值。 •秒寄存器中发生溢出。 •辅助快照触发器被激活。 读取时间戳状态寄存器的第0位时,此位会被清除。 如果启用了默认时间戳,则在设置后,此位表示系统时间值等于或超 过目标时间寄存器中指定的值。 在此模式下,读取此位完成后,此位 会被清除。 在所有其他模式下,此位是保留的。 | R |
| 8 | Reserved | 写入无影响,读取为零。 | |
| 7 | MMCRXIPIS | MMC接收校验和卸载中断状态 此位在MMC接收校验和卸载中断寄存器中生成中断时设置为高。 此 位在清除此中断寄存器中的所有位时清除。 仅当您在核心配置期间选择可选的MMC模块和校验和卸载引擎(类 型2)时,此位才有效。 | R |
| 6 | MMCTXIS | MMC传输中断状态 此位在MMC传输中断寄存器中生成中断时设置为高。 当此中断寄存 器中的所有位被清除时,此位被清除。 仅在核心配置期间选择可选MMC模块时,此位才有效。 | R |
| 5 | MMCRXIS | MMC接收中断状态 此位在MMC接收中断寄存器中生成中断时设置为高。 当此中断寄存 器中的所有位被清除时,此位被清除。 | R |
| 4 | MMCIS | MMC中断状态 当位[7:5]中的任意一位被设置为高电平时,此位将被设置为高电平, 并且只有当所有这些位都为低电平时才会被清除。 仅在核心配置过程中选择可选的MMC模块时,此位才有效。 | R |
| 3 | PMTIS | PMT中断状态 当在断电模式下接收到Magic数据包或Wake-on-LAN帧时,此位被 设置(参见PMT控制和状态寄存器中的第5和6位)。 当对PMT 控制和状态寄存器进行读操作导致第6和5位均被清除时,此位被 清除。 此位仅在核心配置过程中选择可选的PMT模块时有效。 | R |
| 2 | PCSANCIS | PCS自动协商完成 此位在TBI、RTBI或SGMII物理接口中自动协商完成后设置(自动 协商状态寄存器中的第5位)。 当您对自动协商状态寄存器执行读操 作时,此位被清除。 此位仅在核心配置和运行期间选择可选的TBI、 RTBI或SGMII物理接口时有效。 | R |
| 1 | PCSLCHGIS | PCS链路状态 更改这个位会因为TBI、RTBI或SGMII物理接口(第49位寄存器 中的第2位,即AN状态寄存器)的任何链路状态变化而被设置。 当 您对AN状态寄存器执行读操作时,此位会被清除。 只有在核心配置 和运行过程中选择可选的TBI、RTBI或SGMII物理接口时,此位才 有效。 | R |
| 0 | RGMII | RGMII或SMII中断状态 这位会在RGMII或SMII接口的链路状态值发生变化时被设置 (SGMII/RGMII/SMII状态寄存器中的第3位)。 当您对 SGMII/RGMII/SMII状态寄存器执行读操作时,此位会被清除。 只有在核心配置和运行过程中选择可选的RGMII或SMII以太网物理 接口时,此位才有效。 | R |
MAC Interrupt Mask Register
MAC_IMRBASE + 0x003C
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:11 | Reserved | 写入无影响,读取为零。 | R |
| 10 | LPIIM | LPI中断屏蔽位 设置后,由于在中断状态寄存器中设置了LPI中断状态位,因此禁用 中断信号的断言。 仅当在核心配置期间选择“节能以太网”功能时,此位才有效。 在所 有其他模式下,此位保留。 | RW |
| 9 | TSIM | 时间戳中断屏蔽位 设置后,由于在中断状态寄存器中设置了时间戳中断状态位,因此禁 用中断信号的断言。 仅当启用IEEE1588时间戳时,此位才有效。 在所有其他模式下,此 位保留 | R |
| 8:4 | Reserved | 写入无影响,读取为零。 | |
| 3 | PMTIM | PMT中断屏蔽 当设置时,此位禁用中断信号的断言,因为中断状态寄存器中的PMT 中断状态位被设置。 | RW |
| 2 | PCSANCIM | PCS自动协商完成位屏蔽 设置后,该位将禁用中断信号的断言,因为中断状态寄存器中的PCS 自动协商完成位被设置。 | RW |
| 1 | PCSLCHGIM | PCS链路状态中断屏蔽位 设置后,此位会禁用中断信号的断言,因为中断状态寄存器中的PCS 链路状态更改位已设置。 | RW |
| 0 | RGMII | RGMII或SMII中断屏蔽位 设置后,该位会禁用中断信号的断言,因为中断状态寄存器中的RGMII 或SMII中断状态位被设置。 | RW |
| 31 | AE | 地址启用 此位始终设置为1。 | R |
| 30:16 | Reserved | 写入无影响,读取为零。 | R |
| 15:0 | ADDRHI | MAC地址0[47:32] 此字段包含前6字节MAC地址的高16位(47:32)。 MAC使用此字 段来过滤接收到的帧,并在发送流量控制(暂停)帧中插入MAC地址。 | RW |
MAC Address0 High Register
MAC_A0HRBASE + 0x0040
| Bit | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 字段 | AE | Reserved | ADDRHI | |||||||||||||||||||||||||||||
| RST | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31 | AE | 地址启用,此位始终设置为 1。 | R |
| 30:16 | Reserved | 保留。 | R |
| 15:0 | ADDRHI | MAC 地址 0[47:32]。 | RW |
MACAddress0 LOW Register
MAC_A0LRBASE + 0x0044
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | ADDRLO | MAC地址0[31:0] 此字段包含前6字节MAC地址的低32位。 MAC使用此字段过滤接 收到的帧,并在发送流量控制(暂停)帧中插入MAC地址。 | RW |
MACAddress1 High Register
MAC_A1HRBASE + 0x0048
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31 | AE | 地址启用 当此位被设置时,地址过滤模块使用第二个MAC地址进行完美的过滤。 当此位被复位时,地址过滤模块忽略该地址进行过滤。 | RW |
| 30 | SA | 源地址 当此位被设置时,MAC地址1[47:0]用于与接收到的帧的SA字段进行 比较。 当此位被复位时,MAC地址1[47:0]用于与接收到的帧的DA 字段进行比较。 | RW |
| 29:24 | MBC | 掩码字节控制 这些位是用于比较每个MAC地址字节的掩码控制位。 当设置为高电平 时,MAC不会将接收到的数据地址或服务地址的相应字节与MAC地址 1寄存器的内容进行比较。 每个位控制字节的掩码方式如下: •位29:MAC地址1高寄存器[15:8] •位28:MAC地址1高寄存器[7:0] •位27:MAC地址1低寄存器[31:24] •… •位24:MAC地址1低寄存器[7:0] 您可以通过掩码一个或多个地址字节来过滤一组地址(称为组地址过 滤)。 | RW |
| 23:16 | Reserved | 写入无影响,读取为零。 | R |
| 15:0 | ADDRHI | MAC地址1[47:32] 此字段包含第二个6字节MAC地址的高16位(47:32)。 | RW |
MACAddress1 LOW Register
MAC_A1LRBASE + 0x004C
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | ADDRLO | MAC地址1[31:0] | RW |
Timestamp Control Register
TCRBASE + 0x0700
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:29 | Reserved | 写入无影响,读取为零。 | R |
| 28 | ATSEN3 | 辅助快照3启用 此字段控制捕获辅助快照触发器3。 当此位被设置为 ptp_aux_trig_i[3]输入上的事件的辅助快照已启用。 当复位时,此输 入上的事件将被忽略。 当添加IEEE 1588辅助快照时,在内核配置期间未选择该选项或者 所选数字在“IEEE1588辅助快照输入数”选项中少于4,此位是保 留的。 | RW |
| 27 | ATSEN2 | 辅助快照2启用 此字段控制捕获辅助快照触发器2。 当此位设置为1,即启用 ptp_aux_trig_i[2]输入上的事件的辅助快照。 当复位时,此输入上的 事件将被忽略。 当添加IEEE 1588辅助快照时,在内核配置期间未选择该选项或者 所选数字在“IEEE1588辅助快照输入数”选项中少于3,此位是保 留的。 | RW |
| 26 | ATSEN1 | 辅助快照1启用 此字段控制捕获辅助快照触发器1。 当此位设置为1,即启用 ptp_aux_trig_i[1]输入上的事件的辅助快照。 当复位时,此输入上的 事件将被忽略。 当添加IEEE 1588辅助快照时,在内核配置期间未选择该选项或者 所选数字在“IEEE1588辅助快照输入数”选项中少于2,此位是保 留的。 | RW |
| 25 | ATSEN0 | 辅助快照0启用 此字段控制捕获辅助快照触发器0。 当此位设置为1时,将启用 ptp_aux_trig_i[0]输入上的辅助事件快照。 当复位时,此输入上的事 件将被忽略。 当添加IEEE 1588辅助快照时,在内核配置期间未选择该选项,此 位是保留的。 | RW |
| 24 | ATSFC | 辅助快照FIFO清除 当设置1时,它将重置辅助快照FIFO的指针。 当指针被重置且FIFO 为空时,此位将被清除。 当这个位是高电平时,辅助快照将存储在 FIFO中。 当在核心配置期间未选择“添加IEEE1588辅助快照”选 项时,将保留此位。 | R_WS _SC |
| 23:19 | Reserved | 写入无影响,读取为零。 | R |
| 18 | TSENMACAD DR | PTP帧过滤的MAC地址启用 当设置时,当PTP直接通过以太网发送时,DAMAC地址(匹配任 何MAC地址寄存器)被用于过滤PTP帧。 | RW |
| 17:16 | SNAPTYPSEL | 选择要拍摄快照的PTP数据包 这些位以及位15和位14决定了需要进行快照的PTP数据包类型集。 | RW |
| 15 | TSMSTRENA | 启用与主服务器相关的消息的快照 设置1后,只对与主节点相关的消息拍摄快照。 否则,将为与从节点 相关的消息进行快照。 | RW |
| 14 | TSEVNTENA | 启用事件消息的时间戳快照 设置1后,仅对事件消息(SYNC、Delay_Req、Pdelay_Req或 Pdelay_Resp)拍摄时间戳快照。 重置时,将对除宣布、管理和信令 外的所有消息进行快照。 | RW |
| 13 | TSIPV4ENA | 启用通过IPv4-UDP发送的PTP帧的处理 设置1后,MAC接收器通过IPv4数据包处理封装在UDP中的PTP 数据包。 当此位被清除时,MAC将忽略通过UDP-IPv4数据包传输 的PTP。 默认情况下是设置此位为1。 | RW |
| 12 | TSIPV6ENA | 启用通过IPv6-UDP发送的PTP帧的处理 设置1后,MAC接收器处理通过IPv6数据包封装在UDP中的PTP 数据包。 当此位被清除时,MAC将忽略通过UDP-IPv6数据包传输 的PTP。 | RW |
| 11 | TSIPENA | 启用在以太网帧上的PTP处理 设置1后,MAC接收机处理直接封装在以太网帧中的PTP数据包。 当此位被清除时,MAC将忽略以太网数据包上的PTP。 | RW |
| 10 | TSVER2ENA | 启用版本2格式的PTP数据包处理 在设置1后,PTP数据包将使用1588版本2格式进行处理。 否则, 将使用版本1的格式处理PTP数据包。 | RW |
| 9 | TSCTRLSSR | 时间戳数字或二进制翻转控制 设置1后,时间戳低寄存器在0x3B9A_C9FF值(即1纳秒精度)之 后滚动,并增加时间戳(高)秒。 重置时,次秒寄存器的翻转值为 0x7FFF_FFFF。 必须根据PTP参考时钟频率和该位的值来正确地编 程次秒增量。 | RW |
| 8 | TSENALL | 启用所有帧的时间戳 设置1后,将为MAC接收到的所有帧启用时间戳快照。 | RW |
| 7:6 | Reserved | 写入无影响,读取为零。 | R |
| 5 | TSADDREG | 更新添加寄存器 设置1后,时间戳添加寄存器的内容将在PTP块中更新以进行精细 校正。 更新完成时清除。 此寄存器位在设置之前应该为零。 | R_WS _SC |
| 4 | TSTRIG | 启用时间戳中断触发器 当设置1时,当系统时间大于目标时间寄存器中写入的值时,将生成 时间戳中断。 这个位在生成时间戳触发中断后被复位。 | R_WS _SC |
| 3 | TSUPDT | 时间戳更新 设置1后,系统时间将用系统时间-秒更新寄存器和系统时间-纳秒更 新寄存器中指定的值进行更新(加上或减去)。 这个位在更新它之前 应该被读取为零。 当在硬件中完成更新时,此位将被复位。 “时间戳 更高位的字”寄存器(如果在核心配置期间启用)不被更新。 | R_WS _SC |
| 2 | TSINIT | 设置1后,系统时间用系统时间-秒更新寄存器和系统时间-纳秒更新 寄存器中指定的值初始化(覆盖)。 这个位在更新它之前应该被读取 为零。 当初始化完成时,此位将被复位。 “时间戳更高位的字”寄存 器(如果在核心配置期间启用)只能被初始化。 | R_WS _SC |
| 1 | TSCFUPDT | 时间戳精细更新或粗略更新 设置1时,此位表示应使用精细更新方法完成系统时间更新。 当重置 时,它表示应该使用粗略的方法来完成系统时间戳更新。 | RW |
| 0 | TSENA | 启用时间戳 设置1后,将为发送和接收帧添加时间戳。 禁用时,不会为传输和接 收帧添加时间戳,并且时间戳生成器也会挂起。 在启用此模式后,您 需要初始化时间戳(系统时间)。 在接收端,MAC仅在设置了这个 位时才处理1588帧。 | RW |
Sub-Second Increment Register
SSIRBASE + 0x0704
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:8 | Reserved | 写入无影响,读取为零。 | R |
| 7:0 | SSINC | 次级秒增量值 此字段中编程的值会在每个时钟周期(clk_ptp_i)与亚秒寄存器的内容 一起累积。 例如,当PTP时钟为50MHz(周期为20纳秒)时,如果系 | RW |
System Time - Seconds Register
STSRBASE + 0x0708
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | TSS | 时间戳值 此字段中的值表示由MAC维护的系统时间中以秒为单位的当前值。 | R |
System Time - Nanoseconds Register
STNRBASE + 0x070C
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31 | Reserved | 写入无影响,读取为零。 | R |
| 30:0 | TSSS | 时间戳值 该字段中的值具有时间的次秒表示,精度为0.46ns。 当在时间戳控制寄 存器中设置第9bit(TSCTRLSSR)为1时,每个位表示1ns,最大值 为0x3B9A_C9FF,之后它回转为零。 | R |
System Time - Seconds Update Register
STSURBASE + 0x0710
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | TSS | 时间戳值 此字段中的值表示要初始化或添加到系统时间中的时间,单位为秒。 | RW |
System Time - Nanoseconds Update Register
STNURBASE + 0x0714
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31 | ADDSUB | 添加或减去时间 设置此位后,用更新寄存器的内容减去时间值。 当这个位被复位时,时 间值将与更新寄存器的内容一起添加。 | RW |
| 30:0 | TSSS | 时间戳值 该字段中的值具有时间的次秒表示,精度为0.46ns。 当在时间戳控制 寄存器中设置第9bit(TSCTRLSSR)为1时,每个位代表1ns,编程 值不应超过0x3B9A_C9FF。 | RW |
TimestampAddend Register
TARBASE + 0x0718
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | TSAR | 时间戳加法寄存器 此字段表示要添加到累积器寄存器以实现时间同步的32位时间值。 | RW |
Target Time Seconds Register
TTSRBASE + 0x071C
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | TSTR | 目标时间秒寄存器 此寄存器以秒为单位存储时间。 当时间戳值匹配或超过两个目标时间戳 寄存器时,然后基于PPS控制寄存器的位[6:5],MAC将启动或停止PPS 信号输出并生成中断(如果启用)。 | RW |
Target Time Nanoseconds Register
TTNRBASE + 0x0720
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31 | TRGTBUSY | 目标时间寄存器繁忙 | R_WS |
| 30:0 | TTSLO | 目标时间戳低寄存器 此寄存器存储时间为(符号)纳秒。 当时间戳的值与两个目标时间戳 寄存器匹配时,然后基于PPS控制寄存器中的TRGTMODSEL0字段 (位[6:5]),MAC启动或停止PPS信号输出并生成中断(如果启用)。 当在时间戳控制寄存器中设置了位9(TSCTRLSSR)时,此值不应超 过0x3B9A_C9FF。 PPS信号输出的实际开始或停止时间可能具有高 达一个单位的亚秒增量值的误差幅度。 | RW |
System Time - Higher Word Seconds Register
STHWSRBASE + 0x0724
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:16 | Reserved | 写入无影响,读取为零。 | R |
| 15:0 | TSHWR | 时间戳高位字寄存器 此字段包含时间戳秒值的最高16位。 此寄存器是可选的,可在核心配 置期间使用“启用IEEE1588高级Word寄存器”选项进行选择。 该寄 存器直接写入以初始化值。 当系统时间-秒寄存器的32位发生溢出时, 此寄存器递增。 | R_W_ SU |
Timestamp Status Register
TSRBASE + 0x0728
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:30 | Reserved | 写入无影响,读取为零。 | R |
| 29:25 | ATSNS | 辅助时间戳快照的数量 此字段表示FIFO中可用的快照数量。 一个等于选定的FIFO深度(4、 8或16)的值表示辅助快照FIFO已满。 当设置辅助快照FIFO清除位 时,这些位被清除(为00000)。 只有在核心配置期间选择了“添加IEEE 1588辅助快照”选项时, 此位才有效。 | R |
| 24 | ATSSTM | 辅助时间戳快照触发器丢失 当辅助时间戳快照FIFO满且设置外部触发器时设置此位。 这表明最 新的快照没有存储在FIFO中。 只有在核心配置期间选择了“添加IEEE 1588辅助快照”选项时, 此位才有效。 | R |
| 23:20 | Reserved | 写入无影响,读取为零。 | R |
| 19:16 | ATSSTN | 辅助时间戳快照触发器标识符 这些位标识了适用于辅助快照寄存器中可用的时间戳的辅助触发器 输入。 当同时设置多个位时,这意味着相应的辅助触发器在同一时钟 上被采样。 只有当辅助快照的数量超过1时,这些位才适用。 为每个 触发器分配一个位,如下列表所示: 位16:辅助触发器0 位17:辅助触发器1 位18:辅助触发器2 位19:辅助触发器3 软件可以读取此寄存器,以查找在取时间戳时设置的触发器。 | R_SS _RC |
| 15:10 | Reserved | 写入无影响,读取为零。 | R |
| 9 | TSTRGTERR3 | 时间戳目标时间错误 当在PPS3目标时间秒寄存器和PPS3目标时间纳秒寄存器中被编程 的目标时间已经过去时,就设置该位。 当被应用程序读取时,将清除 | R_SS _RC |
| 8 | TSTARGT3 | 时间戳目标时间已达到的目标时间PPS3 当设置为1时,该位表示系统时间的值大于或等于在PPS3目标时间 秒寄存器和PPS3目标时间纳秒寄存器中指定的值。 | R_SS _RC |
| 7 | TSTRGTERR2 | 时间戳目标时间错误 当在PPS2目标时间秒寄存器和PPS2目标时间纳秒寄存器中被编程 的目标时间已经过去时,就设置该位。 当被应用程序读取时,将清除 此位。 | R_SS _RC |
| 6 | TSTARGT2 | 时间戳目标时间已达到的目标时间PPS2 当设置为1时,该位表示系统时间的值大于或等于在PPS2目标时间 秒寄存器和PPS2目标时间纳秒寄存器中指定的值。 | R_SS _RC |
| 5 | TSTRGTERR1 | 时间戳目标时间错误 当在PPS1目标时间秒寄存器和PPS1目标时间纳秒寄存器中被编程 的目标时间已经过去时,就设置该位。 当被应用程序读取时,将清除 此位。 | R_SS _RC |
| 4 | TSTARGT1 | 时间戳目标时间PPS1 当设置为1时,该位表示系统时间的值大于或等于在PPS1目标时间 秒寄存器和PPS1目标时间纳秒寄存器中指定的值。 | R_SS _RC |
| 3 | TSTRGTERR | 时间戳目标时间错误 当在目标时间秒数寄存器和目标时间纳秒寄存器中被编程的目标时 间已经过去时,就设置该位。 当被应用程序读取时,将清除此位。 | R_SS _RC |
| 2 | AUXTSTRIG | 辅助时间戳触发器快照 当辅助快照写入FIFO时,此位设置为高。 只有当选择了启用IEEE 1588辅助快照特性时,此位才有效。 | R_SS _RC |
| 1 | TSTARGT | 达到时间戳目标时间 当设置为1时,该位表示系统时间的值大于或等于在目标时间秒寄存 器和目标时间纳秒寄存器中指定的值。 | R_SS _RC |
| 0 | TSSOVF | 时间戳秒溢出 设置为1时,此位表示时间戳(支持版本2格式时)的秒值已溢出, 超过32‘hFFFF_FFFF。 | R_SS _RC |
| 31 | Reserved | 写入无影响,读取为零。 | R |
| 30:29 | TRGTMODSEL3 | PPS3输出的目标时间寄存器模式 该字段表示PPS3输出信号的目标时间寄存器(PPS3目标时间秒 寄存器和497)模式。 此字段类似于TRGTMODSEL0字段。 | RW |
| 28:27 | Reserved | 写入无影响,读取为零。 | R |
| 26:24 | PPSCMD3 | 灵活的PPS3输出控制 该字段控制灵活的PPS3输出(ptp_pps_o[3])信号,此字段在功 能上类似于PPSCMD0[2:0]。 | R_WS _SC |
| 23 | Reserved | 写入无影响,读取为零。 | R |
| 22:21 | TRGTMODSEL2 | PPS2输出的目标时间寄存器模式 该字段表示PPS2输出信号的目标时间寄存器(PPS2目标时间高 寄存器和489)模式。 此字段类似于TRGTMODSEL0字段。 | RW |
| 20:19 | Reserved | 写入无影响,读取为零。 | R |
| 18:16 | PPSCMD2 | 灵活的PPS2输出控制 该字段控制柔性PPS2输出(ptp_pps_o[2])信号。 此字段在功能 上类似于PPSCMD0[2:0] | R_WS _SC |
| 15 | Reserved | 写入无影响,读取为零。 | R |
| 14:13 | TRGTMODSEL1 | PPS1输出的目标时间寄存器模式 该字段表示PPS1输出信号的目标时间寄存器(寄存器480和481) 模式。 此字段类似于TRGTMODSEL0字段。 | RW |
| 12:11 | Reserved | 写入无影响,读取为零。 | R |
| 10:8 | PPSCMD1 | 柔性PPS1输出控制 该字段控制柔性PPS1输出(ptp_pps_o[1])信号。 此字段在功能 上类似于PPSCMD0[2:0]。 | R_WS _SC |
| 7 | Reserved | 写入无影响,读取为零。 | R |
| 6:5 | TRGTMODSEL0 | PPS0输出的目标时间寄存器模式 | RW |
| 4 | PPSEN0 | 启用灵活地PPS输出模式 当设置为低时,位[3:0]作为PPSCTRL(向后兼容)。 当设置为 高时,Bits[3:0]作为PPSCMD。 | RW |
| 3:0 | PPSCTRL0 | PPSCTRL0: PPS0输出频率控制 该字段控制PPS0输出(ptp_pps_o[0])信号的频率。 PPSCTRL 的默认值为0000,PPS输出为每秒1个脉冲(宽度为clk_ptp_i)。 对于PPSCTRL的其他值,PPS输出成为以下频率的生成时钟: 0001:二进制翻转为2Hz,数字翻转为1Hz; 0010:二进制翻转为4Hz,数字翻转为2Hz; 0011:二进制翻转为8Hz,数字翻转为4Hz; 0100:二进制翻转为16 Hz,数字翻转为8Hz。 ...... 1111:二进制翻转为32.768 KHz,数字翻转为16.384 KHz。 注意: 在二进制翻转模式下,PPS输出(ptp_pps_o)具有这些频率的 50%的占空比。 在数字翻转模式下,PPS输出频率是一个平均数。 实际的时钟是不同的频率的,每秒钟都会同步一次。 例如: 当PPSCTRL=0001时,PPS(1Hz)的低周期为537ms,高周 期为463 ms 当PPSCTRL= 0010时,PPS(2Hz)的序列为: - 一个50%占空比和537ms周期的时钟 - 第二个时钟,周期为463 ms(低268 ms,高195ms) 当PPSCTRL= 0011时,PPS(4Hz)的序列为: - 三个50%占空比和268ms周期 - 第四个时钟,周期为195 ms(低134 ms,高61 ms) |
PPS Control Register
PPSCRBASE + 0x072C
| Bit | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 字段 | Reserved | TRGTMODSEL3 | Reserved | PPSCMD3 | Reserved | TRGTMODSEL2 | Reserved | PPSCMD2 | Reserved | TRGTMODSEL1 | Reserved | PPSCMD1 | Reserved | TRGTMODSEL0 | PPSEN0 | PPSCTRL0 | ||||||||||||||||
| RST | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31 | Reserved | 保留。 | R |
| 30:29 | TRGTMODSEL3 | PPS3 输出的目标时间寄存器模式。 | RW |
| 28:27 | Reserved | 保留。 | R |
| 26:24 | PPSCMD3 | 灵活的 PPS3 输出控制。 | R_WS_SC |
| 23 | Reserved | 保留。 | R |
| 22:21 | TRGTMODSEL2 | PPS2 输出的目标时间寄存器模式。 | RW |
| 20:19 | Reserved | 保留。 | R |
| 18:16 | PPSCMD2 | 灵活的 PPS2 输出控制。 | R_WS_SC |
| 15 | Reserved | 保留。 | R |
| 14:13 | TRGTMODSEL1 | PPS1 输出的目标时间寄存器模式。 | RW |
| 12:11 | Reserved | 保留。 | R |
| 10:8 | PPSCMD1 | 柔性 PPS1 输出控制。 | R_WS_SC |
| 7 | Reserved | 保留。 | R |
| 6:5 | TRGTMODSEL0 | PPS0 输出的目标时间寄存器模式。 | RW |
| 4 | PPSEN0 | 启用灵活 PPS 输出模式。 | RW |
| 3:0 | PPSCTRL0 | PPS0 输出频率控制。 |
Auxiliary Timestamp - Nanoseconds Register
ATNRBASE + 0x0730
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31 | Reserved | 写入无影响,读取为零。 | R |
| 30:0 | AUXTSLO | 包含辅助时间戳的低31位(纳秒字段)。 | R |
Auxiliary Timestamp - Seconds Register
ATSRBASE + 0x0734
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | AUXTSHI | 包含辅助时间戳的“秒”字段的低32位。 | R |
AV MAC Control Register
AVMACCRBASE + 0x0738
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:26 | Reserved | 写入无影响,读取为零。 | R |
| 25:24 | PTPCH | 用于排队的PTP数据包的通道 此字段指定通过以太网有效负载而不是通过IPv4或IPv6发送的未标记 的PTP数据包正在排队的通道。 00:0通道 01:1通道 10:2通道 11:保留 | RW |
| 23 | Reserved | 写入无影响,读取为零。 | R |
| 22:21 | AVCH | 用于排队AV控制数据包的通道 此字段指定接收到的未标记的AV控制数据包正在排队的通道。 00:0通道 01:1通道 10:2通道 11:保留 如果通道1或通道2的接收路径未启用,则会保留这些位。 | RW |
| 20 | AVCD | 禁用AV通道 设置后,MAC将所有数据包转发到默认的通道0,并忽略在AVP、AVCH 和PTPCH字段中编程的值。 如果在核心配置期间未选择通道1或通道2 接收路径,则此位为保留且只读。 | RW |
| 19 | Reserved | 写入无影响,读取为零。 | R |
| 18:16 | AVP | 队列的AV优先级 在这些位中编程的值控制接收信道(0、1,以及必须排队的AV包或2)。 如果仅启用通道1接收路径,则优先值大于或等于编程值的AV包在通 道1上排队,所有其他分组在通道0上排队。 如果通道2的接收路径也被启用,则优先级值大于或等于编程值的AV 数据包将在通道2上排队。 在通道1上值小于编程值的AV数据包和所有其他数据包在通道0上排 队。 仅当在AV模式中选择了至少一个附加的接收信道时,这些位才适用。 | RW |
| 15:0 | AVT | AV以太网类型值 此字段包含与传入(已标记或未标记)以太网帧的以太类型字段进行比 | RW |
PPS0 Interval Register
PPS0IRBASE + 0x0760
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | PPSINT | PPS0输出信号间隔 这些位以亚秒增量值的单位来存储PPS0信号输出的上升边缘之间的间 隔。 您需要编程一个小于所需时间间隔的值。 例如,如果PTP参考时钟 为50MHz(周期为20ns),并且PPS0信号输出的上升边缘之间的期 望间隔为100ns(即5个单位的亚秒增量值),那么您应该在这个寄存 器中编程值4(5-1)。 | RW |
PPS0 Width Register
PPS0WRBASE + 0x0764
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | PPSWIDTH | PPS0输出信号宽度 这些比特以亚秒增量值的单位来存储PPS0信号输出的上升边和相应 的下降边之间的宽度。 您需要编程一个小于所需时间间隔的值。 例如, 如果PTP参考时钟为50MHz(周期为20ns),并且PPS0信号输出 的上升和相应下降边缘之间的期望宽度为80ns(即4个单位的亚秒增 | RW |
PPS1 Target Time Seconds Register
PPS1TTSRBASE + 0x0780
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31:0 | TSTRH1 | PPS1目标时间秒寄存器 此寄存器以秒为单位存储时间。 当时间戳值匹配或超过两个目标时间戳 寄存器时,然后基于PPS控制寄存器的位[14:13]TRGTMODSEL1,MAC 启动或停止PPS信号输出并生成中断(如果启用)。 | RW |
PPS1 Target Time Nanoseconds Register
PPS1TTNRBASE + 0x0784
| 位 | 名称 | 说明 | RW |
|---|---|---|---|
| 31 | TRGTBUSY | PPS1目标时间寄存器繁忙 PPS控制寄存器中的PPSCMD1字段(位[10:8])被编程为010或 011时,MAC设置此位。 将PPSCMD1字段编程为010或011,将指 示MAC将目标时间寄存器同步到PTP时钟域。 在将目标时间寄存器 同步到PTP时钟域之后,MAC将清除此位。 当这个位被读取为1时, 应用程序不能更新目标时间寄存器。 否则,先前编程时间的同步将被 损坏。 | R_WS _SC |
| 30:0 | TTSL1 | PPS1寄存器的目标时间下限 此寄存器存储时间为(符号)纳秒。 当时间戳的值与两个目标时间戳 寄存器匹配时,然后基于PPS控制寄存器中的TRGTMODSEL1字段 (位[14:13]),MAC启动或停止PPS信号输出并生成中断(如果启 用)。 当在时间戳控制寄存器中设置了位9(TSCTRLSSR)时,此值 不应超过0x3B9A_C9FF。 PPS信号输出的实际开始或停止时间可能 具有高达一个单位的亚秒增量值的误差幅度。 | RW |