设备树中MAC控制器各类中断的作用

先来看一个GMAC设备树配置的片段:

gmac0: ethernet@fe1b0000 {
    …其它部分省略…
    interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH>,
             <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH>;
    interrupt-names = "macirq", "eth_wake_irq";
    …其它部分省略…
};

解释:
● GIC_SPI为表示中断类型为共享处理器中断(Shared Processor Interrupt),这是ARM架构中常见的中断类型之一
● 227和226为中断号
● IRQ_TYPE_LEVEL_HIGH为中断触发类型,此处表示中断触发类型为高电平触发
● interrupt-names表示这两个中断的名称分别为macirq和eth_wake_irq。

这两个中断有什么作用呢?还有哪些常见的中断呢?

  1. macirq(MAC中断)通常在以下情况下使用:
    a. 数据传输完成:当MAC层完成数据包的发送或接收时,会触发macirq中断,通知处理器进行后续处理。
    b. 错误检测:如果在数据传输过程中发生错误(如帧校验错误、碰撞检测等),macirq中断会被触发,以便处理器能够及时处理这些错误。
    c. 状态变化:当网络连接状态发生变化(如链路断开或重新连接)时,macirq中断会通知处理器更新网络状态。
    d. 缓冲区管理:在接收或发送缓冲区需要管理时(如缓冲区满或空),macirq中断会被触发,以便处理器进行相应的缓冲区管理操作。

  2. eth_wake_irq(以太网唤醒中断)
    用于在系统处于低功耗模式(如休眠或待机)时,通过以太网活动唤醒系统。当以太网接口检测到特定的网络活动(如Magic Packet或特定的数据包)时,会触发eth_wake_irq中断,通知处理器从低功耗模式中恢复正常运行。
    这种功能通常用于需要网络唤醒功能的设备,例如远程管理或网络唤醒(Wake-on-LAN)应用。

  3. lpi_irq中断
    eth_lpi(Low Power Idle,低功耗空闲)是节能以太网(Energy-Efficient Ethernet, EEE)的一部分,基于IEEE 802.3az标准12。它允许以太网设备在没有数据传输时进入低功耗模式,从而减少能耗。
    具体来说,eth_lpi在以下情况下使用:
    a. 空闲状态:当以太网链路处于空闲状态且没有数据传输时,设备会进入LPI模式,降低功耗。
    b. 唤醒信号:当有数据需要传输时,设备会发送唤醒信号,迅速恢复到正常工作状态。
    c. 周期性刷新:在LPI模式下,设备会周期性地发送刷新信号,以保持链路的完整性和同步。
    这种机制有助于在网络空闲时显著降低能耗,同时确保在需要时能够快速恢复正常工作状态。

  4. 除此之外,还可能包括以下几种中断类型:
    a. tx_irq:发送中断,用于通知处理器发送操作完成。
    b. rx_irq:接收中断,用于通知处理器接收操作完成。
    c. link_irq:链路状态中断,用于检测网络连接状态的变化,如链路断开或重新连接。
    d. error_irq:错误中断,用于处理各种网络传输错误,如帧校验错误、碰撞检测等。
    e. ts_irq:时间戳中断,用于高精度时间同步应用。
    这些中断类型可以帮助处理器高效地管理网络数据传输和错误处理,确保网络设备的稳定运行。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值