4.0 电源连接
4.1 内部稳压器
器件包含两个内部 1.2V 稳压器:1.2V 内核稳压器和 1.2V 晶体振荡器稳压器。
4.1.1 1.2V 内核稳压器
- 为主要内核数字逻辑、I/O 焊盘、PHY 数字逻辑供电,也可通过外部连接为 PHY 模拟部分提供 1.2V 电源。
- REG_EN 输入引脚接 3.3V 时,内核稳压器启用,VDD33 引脚提供 3.3V 输入;稳压器相关的 VDDCR 引脚必须连接 1.0μF、ESR 为 0.1Ω 的电容。
- REG_EN 输入引脚接 VSS 时,内核稳压器禁用;但 VDD33 引脚仍需提供 3.3V 电源,1.2V 内核电压需通过外部输入到 VDDCR 引脚。
4.1.2 1.2V 晶体振荡器稳压器
- 为晶体振荡器和 CLK_25 引脚提供 1.2V 电源。
- REG_EN 输入引脚接 3.3V 时,晶体振荡器稳压器启用,VDD33 引脚提供 3.3V 输入;无需外接电容。
- REG_EN 输入引脚接 VSS 时,晶体振荡器稳压器禁用;但 VDD33 引脚仍需提供 3.3V 电源,1.2V 晶体振荡器电压需通过外部输入到 OSCVDD12 引脚。
4.2 电源连接框图
- 图 4-1:稳压器启用时的电源连接(内核、I/O、PHY、晶体振荡器等电源路径及去耦电容配置)。
- 图 4-2:稳压器禁用时的电源连接(外部提供 1.2V 内核和晶体振荡器电源,其他电源路径配置)。
注:PCB 需根据需求配置旁路电容和大容量电容。
5.0 寄存器映射
5.1 寄存器映射概述
本章详细介绍器件寄存器映射,总结各类可直接寻址的系统控制与状态寄存器(CSR);功能对应的章节提供系统 CSR 的详细描述;器件各子模块中还有额外的间接寻址寄存器,其详细信息也在对应章节中说明。
5.1.1 直接寻址寄存器
- EtherCAT 直接映射模式下的 EtherCAT 内核控制与状态寄存器及过程 RAM(见 11.15 节 "EtherCAT CSR 和过程数据 RAM 访问寄存器(直接寻址)")。
- 系统控制与状态寄存器(见 5.1 节)。
5.1.2 间接寻址寄存器
- PHY 寄存器(见 10.2.18 节)。
- EtherCAT 内核 CSR 寄存器(间接寻址)(见 11.16 节)。
5.2 地址模式
- 兼容模式:默认寄存器映射与 LAN9252 兼容,EtherCAT 内核控制与状态寄存器及过程 RAM 通过命令和数据寄存器结构访问。
- EtherCAT 直接映射模式:启用后,EtherCAT 内核控制与状态寄存器及过程 RAM 映射到其原生地址(字节地址 0h-FFFh 和 1000h-2FFFh),系统控制与状态寄存器重新映射到基地址偏移 3000h 开始的区域。
注:EtherCAT 直接映射模式下,11.15 节中的 EtherCAT CSR 和过程数据 RAM 访问寄存器(包括 EtherCAT 过程 RAM 读写数据 FIFO)不使用且不可访问;寄存器位类型定义见 1.3 节 "寄存器命名规则";并非所有器件寄存器都支持内存映射或直接寻址,具体访问方式参考上述对应章节。
5.3 系统控制与状态寄存器
系统 CSR 为直接寻址的内存映射寄存器,兼容模式下基地址偏移范围为 050h-314h,EtherCAT 直接映射模式下为 3050h-31FCh;主机可通过主机总线接口(HBI)或 SPI/SQI 访问这些寄存器;所有系统 CSR 在芯片级复位时复位为默认值。
5.3 系统控制与状态寄存器
| 地址 | EtherCAT 直接映射模式地址 | 寄存器名称(符号) |
|---|---|---|
| 000h-01Ch | N/A | EtherCAT 过程 RAM 读数据 FIFO(ECAT_PRAM_RD_DATA) |
| 020h-03Ch | N/A | EtherCAT 过程 RAM 写数据 FIFO(ECAT_PRAM_WR_DATA) |
| 050h | 3050h | 芯片 ID 和版本(ID_REV) |
| 054h | 3054h | 中断配置寄存器(IRQ_CFG) |
| 058h | 3058h | 中断状态寄存器(INT_STS) |
| 05Ch | 305Ch | 中断使能寄存器(INT_EN) |
| 064h | 3064h | 字节顺序测试寄存器(BYTE_TEST) |
| 074h | 3074h | 硬件配置寄存器(HW_CFG) |
| 084h | 3084h | 电源管理控制寄存器(PMT_CTRL) |
| 08Ch | 308Ch | 通用定时器配置寄存器(GPT_CFG) |
| 090h | 3090h | 通用定时器计数寄存器(GPT_CNT) |
| 09Ch | 309Ch | 自由运行 25MHz 计数器寄存器(FREE_RUN) |
| 1F8h | 31F8h | 复位控制寄存器(RESET_CTL) |
| 300h | N/A | EtherCAT CSR 接口数据寄存器(ECAT_CSR_DATA) |
| 304h | N/A | EtherCAT CSR 接口命令寄存器(ECAT_CSR_CMD) |
| 308h | N/A | EtherCAT 过程 RAM 读地址和长度寄存器(ECAT_PRAM_RD_ADDR_LEN) |
| 30Ch | N/A | EtherCAT 过程 RAM 读命令寄存器(ECAT_PRAM_RD_CMD) |
| 310h | N/A | EtherCAT 过程 RAM 写地址和长度寄存器(ECAT_PRAM_WR_ADDR_LEN) |
| 314h | N/A | EtherCAT 过程 RAM 写命令寄存器(ECAT_PRAM_WR_CMD) |
系统控制与状态寄存器可分为以下子类别,对应章节提供详细描述:
- 复位寄存器(见 6.2.3 节)
- 电源管理寄存器(见 6.3.5 节)
- 中断寄存器(见 7.3 节)
- EtherCAT CSR 和过程数据 RAM 访问寄存器(直接寻址)(见 11.15 节)
- 其他系统配置与状态寄存器(见 15.1 节)
- 通用定时器与自由运行时钟寄存器(见 14.3 节)
注:未列出的寄存器为未来扩展预留。
5.4 背对背周期的特殊限制
5.4.1 背对背写 - 读周期
主机写 - 读操作的时序存在特定限制,涉及写入寄存器后新值的可用延迟,以及写入对其他寄存器的副作用延迟。为避免主机读取过时数据,需遵守以下最小等待时间要求:
| 写入寄存器后 | 等待时间(纳秒) | 或执行 BYTE_TEST 读取次数(假设 T_cyc=45ns) | 读取目标 |
|---|---|---|---|
| 任意寄存器 | 45 | 1 | 同一寄存器或受写入影响的其他寄存器 |
| 中断配置寄存器(IRQ_CFG) | 60 | 2 | 中断配置寄存器(IRQ_CFG) |
| 中断使能寄存器(INT_EN) | 90 | 2 | 中断配置寄存器(IRQ_CFG) |
| 中断使能寄存器(INT_EN) | 60 | 2 | 中断状态寄存器(INT_STS) |
| 中断状态寄存器(INT_STS) | 180 | 4 | 中断配置寄存器(IRQ_CFG) |
| 中断状态寄存器(INT_STS) | 170 | 4 | 中断状态寄存器(INT_STS) |
| 电源管理控制寄存器(PMT_CTRL) | 165 | 4 | 电源管理控制寄存器(PMT_CTRL) |
| 电源管理控制寄存器(PMT_CTRL) | 170 | 4 | 中断配置寄存器(IRQ_CFG) |
| 电源管理控制寄存器(PMT_CTRL) | 160 | 4 | 中断状态寄存器(INT_STS) |
| 通用定时器配置寄存器(GPT_CFG) | 55 | 2 | 通用定时器配置寄存器(GPT_CFG) |
| 通用定时器配置寄存器(GPT_CFG) | 170 | 4 | 通用定时器计数寄存器(GPT_CNT) |
| EtherCAT 过程 RAM 写数据 FIFO(ECAT_PRAM_WR_DATA) | 50 | 2 | EtherCAT 过程 RAM 写命令寄存器(ECAT_PRAM_WR_CMD) |
说明:
- 读取 BYTE_TEST 寄存器("虚拟读取")是满足最小写 - 读时序限制的便捷方式,表格中次数基于 45ns 最小周期;总线速度较慢的微处理器可减少读取次数,只要总时间不小于表格规定值。
- 无需严格执行虚拟读取,只要满足最小等待时间即可。
- 取决于主机接口模式,基本主机接口周期可能自然满足写 - 读之间的足够时间,系统设计和寄存器访问机制需确保时序正确(例如,同一寄存器的写 - 读可能比不同寄存器的写 - 读更快)。
- 8 位和 16 位写周期中,背对背写 - 读操作的等待时间仅适用于完成单个双字传输的最后一个字节或字的写入。
- 索引地址模式 HBI 操作中,背对背写 - 读操作的等待时间仅适用于内部寄存器和 FIFO 访问,不适用于主机总线接口索引寄存器和配置寄存器。
5.4.2 背对背读周期
特定主机背对背读操作同样存在限制,涉及读取具有副作用的资源后,控制与状态寄存器值的预期变化延迟。为避免主机读取过时数据,需遵守以下最小等待时间要求:
| 读取寄存器后 | 等待时间(纳秒) | 或执行 BYTE_TEST 读取次数(假设 T_cyc=45ns) | 读取目标 |
|---|---|---|---|
| EtherCAT 过程 RAM 读数据 FIFO(ECAT_PRAM_RD_DATA) | 50 | 2 | EtherCAT 过程 RAM 读命令寄存器(ECAT_PRAM_RD_CMD) |
说明:
- 读取 BYTE_TEST 寄存器("虚拟读取")是满足最小读 - 读时序限制的便捷方式,表格中次数基于 45ns 最小周期;总线速度较慢的微处理器可减少读取次数,只要总时间不小于表格规定值。
- 无需严格执行虚拟读取,只要满足最小等待时间即可。
- 取决于主机接口模式,基本主机接口周期可能自然满足读 - 读之间的足够时间,系统设计和寄存器访问机制需确保时序正确(例如,同一寄存器的多次读取可能比不同寄存器的读取更快)。
- 8 位和 16 位读周期中,背对背读操作的等待时间仅适用于完成单个双字传输的最后一个字节或字的读取;双字传输内的字节或字访问之间无等待要求。
5.5 寄存器映射总结
寄存器映射支持两种地址模式,兼容模式确保与 LAN9252 的硬件和软件兼容性,EtherCAT 直接映射模式优化小数据块传输速度。系统控制与状态寄存器覆盖复位、电源管理、中断、定时器等核心功能,通过明确的地址偏移和访问规则实现主机对器件的全面控制。背对背读写周期的时序限制需严格遵守,以避免数据读取错误或寄存器配置失效。