• DP83848+网线热拔插


    过程说明

     

    1掉电和中断

            掉电和中断功能在设备的7脚上复用。默认情况下,这个pin作为断电输入,中断功能被禁用。设置MICR位0 (INT_OE)(0x11h)将引脚配置为一个激活的低电平中断输出。

    2掉电控制模式

            PWRDOWN_INT引脚可以被断言为低电平以将设备置于Power Down模式。这是相当于在基本模式控制寄存器BMCR (0x00h)中设置第11位(下电)。一个外部利用控制信号驱动引脚低,克服了内部上拉电阻较弱的缺点。另外,通过使用外部下拉电阻,设备可以配置为初始化到Power Down状态在PWRDOWN_INT引脚上。由于设备仍然会响应管理寄存器的访问,设置MICR寄存器中INT_OE位将禁用PWRDOWN_INT输入,允许设备退出断电状态。

    3中断机制

            中断功能通过寄存器访问来控制。 默认情况下,所有中断源都是禁用的。 将MICR(0x11h)的位1(INTEN)置1将使中断输出,具体取决于在MISR(0x12h)的低字节中设置的中断屏蔽。 发生中断条件时,PWRDOWN_INT引脚异步置为低电平。 可以通过读取MISR的高字节来确定中断源。 MISR中的一位或多位将被置1,表示所有当前未决的中断。 读取MISR会清除所有未决的中断。

    示例:要在链接状态更改或能量检测电源状态更改时生成中断,步骤如下:
    •将0003h写入MICR以设置INTEN和INT_OE
    •向MISR写入0060h以设置ED_INT_EN和LINK_INT_EN
    •监控器PWRDOWN_INT引脚
            当PWRDOWN_INT引脚为低电平时,用户将读取MISR寄存器以查看ED_INT或LINK_INT位置1,例如,引起中断的源。 读取MISR后,中断位应清零,PWRDOWN_INT引脚将置为无效。

     寄存器

      

     

    代码说明

    1. DP83848的7脚INT接入MCU的IO口,IO配置为外部中断,

    2.设置MICR(0x11)的INTEN和INT_OE位为1,

    3.设置MISR(0x12)的ED_INT_EN和LINK_INT_EN位为1,

    4.在外部中断中查看MISR(0x12)中ED_INT和LINK_INT位是否置1,

    5.若ED_INT和LINK_INT位为1,则进一步查看BMSR(0x01)的LINK STATUS和AUTO-NEGOTIATION 位是否为1,若为1则说明网线已插入,初始化网络并创建tcp链接;若不为1则说明网线已拔出,关闭tcp链接。

     

     

     

     

     

  • 相关阅读:
    使用Java客户端发送消息和消费的应用
    【博客542】k8s使用EndpointSlices扩展大规模service后端服务数量
    Apache Hive 入门
    nohup命令后台启动jar包
    L1-017 到底有多二 C++解法
    25道Python经典面试题大全,看这一篇就够了
    云计算-桌面云-国产-华为-FusionAccess+HCIE Cloud相关知识点+笔试题库
    Java文件拷贝方式和效率性能对比
    vite基础,vite中 `@`符号是不被支持,不用@符号,直接用层级(./,../等)
    【MySQL】如何使用SQL语句获取表结构和获取全部表名
  • 原文地址:https://blog.csdn.net/pingxiaozhao/article/details/125459956