LAN9253中文注释第七章

7.0 系统中断

7.1 中断系统概述

LAN9253 的系统中断为向量式可屏蔽中断,支持多中断源独立使能 / 禁用、中断状态单独查询与清零,中断输出引脚(IRQ)可配置极性和输出模式,适配不同主机的中断处理机制,同时中断可作为低功耗模式的唤醒源,实现功耗控制与事件响应的结合。

核心特性

  • 支持16 个独立可配置中断源,覆盖 EtherCAT、以太网 PHY、电源管理、主机接口、通用定时器等全功能模块;
  • 中断状态位为粘性位(置位后持续保持,需软件主动写 1 清零),避免短时间事件导致的中断丢失;
  • IRQ 引脚支持推挽 / 开漏输出模式高 / 低电平有效极性,开漏模式下可线或连接,适配多器件中断信号共享场景;
  • 提供独立的中断使能寄存器,可单独屏蔽某一中断源,不影响其他中断的正常触发;
  • 低功耗模式下,使能的中断可直接触发唤醒流程,器件自动恢复正常工作并响应中断;
  • 所有中断配置与状态均通过系统 CSR 寄存器实现,支持 HBI/SPI/SQI 直接访问,配置后立即生效。

7.2 中断源与分类

器件的 16 个中断源按功能模块分类,每个中断源对应独立的状态位和使能位,部分中断源为组合型(多个子事件触发同一中断位),子事件可通过对应功能模块的寄存器进一步识别。

所有中断源分为高优先级普通优先级,高优先级中断(如 EtherCAT 复位、硬件复位)将跳过屏蔽直接触发,普通优先级中断需使能后才可触发 IRQ 引脚。

7.2.1 中断源详细列表

下表为 16 个中断源的完整定义,包含对应功能、触发条件、优先级及关联章节,位序号与中断寄存器的位一一对应

位序号 中断名称 功能归属 触发条件 优先级 关联章节
15 RESERVED 保留 无(写 0,读无定义) - -
14 ECAT_WDG_INT EtherCAT 同步管理器看门狗超时 / 触发 普通 11.0 EtherCAT
13 ECAT_FRAME_INT EtherCAT 接收到指向本器件的 EtherCAT 数据帧 / 命令帧 普通 11.0 EtherCAT
12 ECAT_RST_INT EtherCAT 检测到 EtherCAT 系统复位命令序列 6.2.2.7
11 PHY_B_INT 以太网 PHY PHY B 端口发生链路状态变化 / 错误(Link Up/Down、接收错误) 普通 10.0 以太网 PHY
10 PHY_A_INT 以太网 PHY PHY A 端口发生链路状态变化 / 错误(Link Up/Down、接收错误) 普通 10.0 以太网 PHY
9 WKE_INT 电源管理 检测到已使能的唤醒事件(除高优先级复位类) 普通 6.3.1
8 SPI_SQI_INT SPI/SQI 客户端 SPI/SQI 接口传输完成 / 错误 普通 9.0 SPI/SQI
7 HBI_INT 主机总线接口 HBI 接口传输完成 / 错误、总线超时 普通 8.0 HBI
6 GPT_INT 通用定时器 通用定时器计数达到预设值(定时溢出) 普通 14.0 定时器
5 EEPROM_INT EEPROM 接口 EEPROM 读 / 写 / 擦除操作完成 / 错误 普通 12.0 EEPROM
4 GPIO_INT 数字 I/O/GPIO 配置为中断模式的 GPIO 引脚检测到电平跳变(上升沿 / 下降沿) 普通 15.0 其他功能
3 RST_PIN_INT 硬件复位 RST# 引脚检测到低电平复位信号 6.2.2.6
2 PMT_ERR_INT 电源管理 电源管理模块检测到电压异常 / 低功耗模式进入 / 退出失败 6.3.0
1 SYS_ERR_INT 系统核心 器件内部总线错误 / 寄存器访问错误 / 配置带锁存错误 5.0 寄存器映射
0 INT_ALL 中断总控 所有中断源总触发位(任意使能的中断置位时,该位自动置 1) - 7.3 中断寄存器

7.2.2 高优先级中断规则

高优先级中断为不可屏蔽中断,满足以下特性:

  1. 无需在中断使能寄存器中置位,触发后直接置位对应状态位并驱动 IRQ 引脚;
  2. 低功耗模式下,高优先级中断将强制触发唤醒流程,不受功耗等级限制;
  3. 中断状态位仍需软件写 1 清零,清零前将持续驱动 IRQ 引脚。

7.2.3 组合型中断源识别

对于组合型中断源(如 PHY_INT、WKE_INT),单个中断位对应多个子事件,需通过以下方式识别具体触发事件:

  1. PHY_INT:读取 PHY A/B 的状态寄存器(PHY_STS_x),查询链路状态位、错误状态位;
  2. WKE_INT:读取唤醒事件状态寄存器(WKE_STS),查询具体唤醒源位;
  3. SYS_ERR_INT:读取硬件配置寄存器(HW_CFG)的错误状态位,识别配置带 / 总线错误类型;
  4. GPIO_INT:读取 GPIO 中断状态寄存器,查询具体触发中断的 GPIO 引脚。

7.2.4 中断触发方式

所有中断源的触发方式均为边沿触发 ,部分源支持上升沿 / 下降沿可配置 (如 GPIO_INT、PHY 链路变化),其余源为固定边沿触发(如定时器溢出为上升沿、错误事件为下降沿),具体配置见对应功能模块章节。

7.2.5 中断与低功耗的联动

低功耗模式下,中断系统的工作规则:

  1. 已使能的中断源对应的检测电路保持工作,未使能的中断源电路断电;
  2. 普通优先级中断触发后,先执行唤醒流程,器件就绪(READY=1)后再驱动 IRQ 引脚;
  3. 高优先级中断触发后,立即驱动 IRQ 引脚,同时并行执行唤醒流程;
  4. 唤醒完成后,中断状态位保持置位,直至软件清零,确保主机能识别中断源。

7.2.6 中断抑制

部分场景下可通过寄存器位临时抑制所有普通优先级中断,高优先级中断不受影响:

  • 置位中断配置寄存器(IRQ_CFG)的INT_MASK_ALL位,将屏蔽所有普通优先级中断的 IRQ 引脚驱动,状态位仍正常置位;
  • 该位为临时屏蔽位,清 0 后将立即检测所有置位的状态位,若有未清零的,将重新驱动 IRQ 引脚。

7.2.7 时钟输出测试模式

为便于系统级调试,可将25MHz 晶体时钟映射到 IRQ 引脚,实现时钟输出测试,规则如下:

  1. 置位中断配置寄存器(IRQ_CFG)的IRQ_CLK_TEST位,IRQ 引脚将输出 25MHz 时钟,中断功能暂时禁用;
  2. 清 0 该位后,IRQ 引脚立即恢复中断输出功能,未清零的中断状态位将重新驱动引脚;
  3. 测试模式下,IRQ 引脚为推挽输出、高电平有效,不受原有配置影响;
  4. 该模式仅适用于调试,正常工作时需清 0,避免中断功能失效。

7.3 中断寄存器

中断系统的所有配置、状态、使能均通过3 个核心寄存器实现,均为 32 位,偏移地址在兼容模式和 EtherCAT 直接映射模式下不同,复位后所有位恢复默认值(除高优先级中断状态位)。

寄存器列表:

  1. 中断配置寄存器(IRQ_CFG):配置 IRQ 引脚模式、极性,设置中断抑制 / 测试模式;
  2. 中断状态寄存器(INT_STS):指示各中断源的触发状态,粘性位,写 1 清零;
  3. 中断使能寄存器(INT_EN):单独使能 / 禁用各普通优先级中断源,高优先级中断无对应使能位。

7.3.1 中断配置寄存器(IRQ_CFG)

  • 兼容模式偏移地址:054h
  • EtherCAT 直接映射模式偏移地址:3054h
  • 位宽:32 位
  • 类型:R/W(部分位为 RO)
  • 核心功能:配置 IRQ 引脚的电气特性,设置中断全局抑制、时钟测试模式,无默认值的保留位写 0 读无定义。
位序号 位名称 功能描述 类型 默认值
31:8 RESERVED 保留位 RO -
7 IRQ_CLK_TEST 时钟输出测试模式:1=IRQ 引脚输出 25MHz 时钟,禁用中断;0 = 恢复中断功能 R/W 0b
6 INT_MASK_ALL 普通中断全局屏蔽:1 = 屏蔽所有普通优先级中断的 IRQ 驱动;0 = 正常触发 R/W 0b
5:4 RESERVED 保留位 RO -
3 IRQ_POLARITY IRQ 引脚极性:1 = 高电平有效;0 = 低电平有效 R/W 0b
2 IRQ_MODE IRQ 引脚输出模式:1 = 开漏输出(需外接上拉电阻);0 = 推挽输出 R/W 0b
1:0 RESERVED 保留位 RO -

:开漏输出模式下,IRQ 引脚为线或兼容,多个器件的 IRQ 引脚可直接连接,外接 10kΩ 典型值上拉电阻至 VDDIO。

7.3.2 中断状态寄存器(INT_STS)

  • 兼容模式偏移地址:058h
  • EtherCAT 直接映射模式偏移地址:3058h
  • 位宽:32 位
  • 类型:RO/W1C(读仅查看状态,写 1 清零,写 0 无效,高优先级位强制置位)
  • 核心功能:指示各中断源的触发状态,任意中断源触发时,对应位置 1;位 0 为总触发位,自动随其他位置位 / 清零。
位序号 位名称 功能描述 清零方式 优先级
31:16 RESERVED 保留位(读 0,写无效) - -
15 RESERVED 保留位 - -
14 ECAT_WDG_INT EtherCAT 看门狗中断状态 W1C 普通
13 ECAT_FRAME_INT EtherCAT 帧接收中断状态 W1C 普通
12 ECAT_RST_INT EtherCAT 复位中断状态 W1C
11 PHY_B_INT PHY B 端口中断状态 W1C 普通
10 PHY_A_INT PHY A 端口中断状态 W1C 普通
9 WKE_INT 唤醒事件中断状态 W1C 普通
8 SPI_SQI_INT SPI/SQI 接口中断状态 W1C 普通
7 HBI_INT 主机总线接口中断状态 W1C 普通
6 GPT_INT 通用定时器中断状态 W1C 普通
5 EEPROM_INT EEPROM 接口中断状态 W1C 普通
4 GPIO_INT GPIO 引脚中断状态 W1C 普通
3 RST_PIN_INT RST# 引脚复位中断状态 W1C
2 PMT_ERR_INT 电源管理错误中断状态 W1C
1 SYS_ERR_INT 系统核心错误中断状态 W1C
0 INT_ALL 中断总触发位:1 = 任意使能 / 高优先级中断置位;0 = 所有中断位清零 自动清零 -
关键规则
  1. INT_ALL 位:为只读自动位,无需软件操作,所有其他中断位清零后,该位自动清 0;
  2. 清零顺序:建议先读取寄存器识别中断源,再对对应位写 1 清零,避免误清零未处理的中断;
  3. 高优先级位:即使中断全局屏蔽(INT_MASK_ALL=1),高优先级中断触发后仍会置位对应位,屏蔽解除后立即驱动 IRQ;
  4. 背对背访问:写入该寄存器后,需遵守 5.4 节时序要求,等待至少 180ns 再进行读操作,避免读取过时状态。

7.3.3 中断使能寄存器(INT_EN)

  • 兼容模式偏移地址:05Ch
  • EtherCAT 直接映射模式偏移地址:305Ch
  • 位宽:32 位
  • 类型:R/W(高优先级中断对应位为 RO,写 0 无效)
  • 核心功能:单独使能 / 禁用普通优先级中断源,1 = 使能(触发后驱动 IRQ),0 = 禁用(仅置位状态位,不驱动 IRQ);高优先级中断无使能位,强制使能。

位序号 位名称 功能描述 类型 默认值 优先级
31:16 RESERVED 保留位(写 0,读无定义) RO - -
15 RESERVED 保留位 RO - -
14 ECAT_WDG_EN EtherCAT 看门狗中断使能 R/W 0b 普通
13 ECAT_FRAME_EN EtherCAT 帧接收中断使能 R/W 0b 普通
12 RESERVED 对应 ECAT_RST_INT(高优先级,无使能位) RO 0b
11 PHY_B_EN PHY B 端口中断使能 R/W 0b 普通
10 PHY_A_EN PHY A 端口中断使能 R/W 0b 普通
9 WKE_EN 唤醒事件中断使能 R/W 0b 普通
8 SPI_SQI_EN SPI/SQI 接口中断使能 R/W 0b 普通
7 HBI_EN 主机总线接口中断使能 R/W 0b 普通
6 GPT_EN 通用定时器中断使能 R/W 0b 普通
5 EEPROM_EN EEPROM 接口中断使能 R/W 0b 普通
4 GPIO_EN GPIO 引脚中断使能 R/W 0b 普通
3 RESERVED 对应 RST_PIN_INT(高优先级,无使能位) RO 0b
2 RESERVED 对应 PMT_ERR_INT(高优先级,无使能位) RO 0b
1 RESERVED 对应 SYS_ERR_INT(高优先级,无使能位) RO 0b
0 INT_EN_ALL 普通中断总使能:1 = 使能所有已单独置位的普通中断;0 = 禁用所有普通中断 R/W 0b -
关键规则
  1. INT_EN_ALL 位 :为普通中断总控位,置 1 时所有单独使能的普通中断源生效,置 0 时直接禁用所有普通中断,优先级高于单独使能位;
  2. 高优先级对应位:位 12、3、2、1 为保留位,对应高优先级中断,写操作无效,读操作返回 0;
  3. 配置生效:寄存器写操作完成后,配置立即生效,无需额外操作;
  4. 背对背访问:写入该寄存器后,需遵守 5.4 节时序要求,等待至少 90ns 再进行读操作,避免读取过时配置。

7.4 IRQ 引脚电气特性

IRQ 引脚的电气特性由IRQ_CFG 寄存器的 IRQ_MODE 和 IRQ_POLARITY 位配置,不同配置下的电气参数遵循器件通用 I/O 引脚规范,核心参数如下(典型值,VDDIO=3.3V):

配置模式 输出高电平电压(V) 输出低电平电压(V) 灌电流(mA) 拉电流(mA) 上拉电阻(kΩ)*
推挽 - 低电平有效 2.8~3.3 0~0.5 ±8 ±8
推挽 - 高电平有效 2.8~3.3 0~0.5 ±8 ±8
开漏 - 低电平有效 高阻 0~0.5 8 0 外接 10(典型)
开漏 - 高电平有效 0~0.5 高阻 8 0 外接 10(典型)

* 注:开漏模式下,器件内部无内置上拉电阻,必须外接上拉电阻至 VDDIO,否则 IRQ 引脚将处于高阻状态,无法输出有效信号。

7.5 中断处理流程

器件的中断处理为硬件触发 + 软件清零 的标准流程,主机需按照固定步骤处理,避免中断丢失或重复触发,低功耗模式下需额外结合唤醒流程

7.5.1 正常工作模式下的中断处理流程

  1. 中断触发:硬件检测到中断源事件,置位 INT_STS 对应状态位,若为使能的普通中断 / 高优先级中断,驱动 IRQ 引脚至有效电平;
  2. 主机响应:主机检测到 IRQ 引脚有效,进入中断服务程序(ISR);
  3. 中断源识别 :主机读取INT_STS 寄存器,根据置位的位识别具体中断源,组合型中断源需读取对应功能模块寄存器识别子事件;
  4. 事件处理:主机根据中断源执行对应处理逻辑(如处理 EtherCAT 帧、清除 PHY 错误、响应唤醒事件);
  5. 中断清零 :处理完成后,主机对 INT_STS 寄存器中对应置位的位写 1 清零,避免重复触发;
  6. 中断退出:所有置位的中断位清零后,INT_ALL 位自动清 0,IRQ 引脚恢复至无效电平,主机退出中断服务程序。

7.5.2 低功耗模式下的中断处理流程

  1. 中断触发与唤醒:硬件检测到使能的中断源,若为普通中断,先触发唤醒流程,器件自动恢复电源和时钟;若为高优先级中断,同时触发唤醒和 IRQ 驱动;
  2. 器件就绪:等待器件就绪(PMT_CTRL.READY=1),所有模块恢复正常工作;
  3. 后续步骤:执行 7.5.1 节的步骤 2-6,与正常工作模式一致。

7.5.3 中断处理注意事项

  1. 清零时机 :必须在事件处理完成后再清零中断位,若先清零再处理,处理过程中再次触发同一事件将导致中断丢失;
  2. 组合型中断:需先识别具体子事件并处理,再清零对应中断位,避免子事件未处理导致的功能异常;
  3. 高优先级中断:高优先级中断(如系统错误、电源异常)需优先处理,避免器件进入异常状态;
  4. IRQ 引脚线或:多器件线或连接时,某一器件清零中断后,IRQ 引脚可能仍为有效电平(其他器件有未处理中断),主机需通过轮询识别对应器件;
  5. 时序要求 :所有中断寄存器的读写操作,均需遵守 5.4 节背对背周期限制,避免读取过时数据或写入失效;
  6. 中断嵌套:器件本身不支持中断嵌套,主机需在处理完当前中断后,再响应新的中断。

7.6 中断系统使用建议

  1. 中断使能策略:仅使能系统需要的中断源,禁用无用中断,减少主机中断响应开销;
  2. 高优先级中断处理:为高优先级中断(如 SYS_ERR_INT、PMT_ERR_INT)设计独立的快速处理逻辑,避免器件异常扩大;
  3. IRQ 引脚配置 :多器件系统建议配置为开漏 + 低电平有效 ,外接 10kΩ 上拉电阻,实现线或共享;单器件系统建议配置为推挽 + 高电平有效,提高驱动能力;
  4. 低功耗中断配置:低功耗模式下,仅使能必要的唤醒 / 中断源(如 EtherCAT 帧、RST# 引脚),其余禁用,降低功耗;
  5. 调试与测试 :利用IRQ_CLK_TEST位实现时钟输出测试,验证晶体振荡器和时钟电路是否正常工作;
  6. 中断状态轮询 :若主机无中断响应功能,可通过轮询 INT_STS 寄存器的方式检测事件,建议轮询周期不大于 1ms,避免事件延迟。

7.7 中断系统总结

LAN9253 的中断系统为高度可编程、高可靠性的向量式可屏蔽中断,通过 16 个独立中断源实现全功能模块的事件响应,结合高 / 普通优先级划分、IRQ 引脚灵活配置,适配不同工业嵌入式系统的中断处理需求。

中断系统与电源管理深度联动,支持低功耗模式下的事件唤醒,兼顾了功耗控制与实时性;所有配置与状态均通过系统 CSR 寄存器实现,与主机接口(HBI/SPI/SQI)无缝兼容,简化了软件设计与系统集成。

同时,中断状态位的粘性特性、高优先级中断的不可屏蔽特性,确保了关键事件无丢失,提升了器件在工业现场复杂环境下的可靠性。

相关推荐
山岚的运维笔记6 小时前
SQL Server笔记 -- 第53章:INSERT 第54章:主键
数据库·笔记·sql·microsoft·sqlserver
weixin_448119947 小时前
Datawhale 大模型算法全栈基础篇 202602第1次笔记
笔记
柳鲲鹏7 小时前
股市赚钱学概论:自序
笔记
烟花落o7 小时前
算法的时间复杂度和空间复杂度
开发语言·数据结构·笔记·算法
Blue16°9 小时前
Day28:英语翻译 + 单词打卡
笔记
xian_wwq10 小时前
【学习笔记】OAuth 2.0 安全攻防:从 Portswigger 六大实验看认证漏洞挖掘
笔记·学习·安全
山野万里_10 小时前
B站DR_CAN【Advanced控制理论】课程笔记
笔记
2501_9011478310 小时前
粉刷房子问题:从DP基础到空间极致优化学习笔记
笔记·学习·动态规划
时代的凡人10 小时前
0215晨间笔记
笔记·晨间日记