嵌入式系统端口寄存器与错误管理详解
在嵌入式系统中,端口寄存器的管理和错误处理至关重要。本文将详细介绍各类端口寄存器的功能、设置以及错误管理扩展寄存器的相关内容。
1. 端口相关寄存器介绍
1.1 端口本地ackID状态寄存器(Port n Local ackID Status CSRs)
端口本地ackID状态寄存器可由本地处理器和外部设备访问。读取该寄存器可返回设备输出和输入端口的本地ackID状态。其位设置如下表所示:
| 位 | 名称 | 复位值 | 描述 |
| — | — | — | — |
| 0 - 4 | Reserved | - | 保留位 |
| 5 - 7 | Inbound_ackID | 0b000 | 输入端口下一个预期的ackID值 |
| 8 - 15 | Reserved | - | 保留位 |
| 16 - 23 | Outstanding_ackID | 0x00 | 输出端口未确认的ackID状态,只读 |
| 24 - 28 | Reserved | - | 保留位 |
| 29 - 31 | Outbound_ackID | 0b000 | 输出端口下一个要传输的ackID值,软件可通过写入该值强制重传未确认的数据包以手动实现错误恢复 |
1.2 端口错误和状态寄存器(Port n Error and Status CSRs)
当本地处理器或外部设备希望检查端口错误和状态信息时,会访问这些寄存器。其位设置如下表:
| 位 | 名称 | 复位值 | 描述 |
| — | — | — | —