0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Windows中PNP和电源特性

jf_78858299 来源:电路之家 作者:电路之家 2023-03-09 14:51 次阅读

这一节讲述一般设备的PNP和电源特性。PNP特性PNP是Plug And Play的简称,代表和外部设备插拔有关事件的处理。PNP是现代操作系统必须支持的基本特性,其目的是希望操作系统能够在软硬件支援下,在基本无需用户干预的情况下,即可很好地处理外部设备的接入和移除操作;当设备配置发生动态变更时,系统也能悄没生息地处理好,并一切正常地使用它们。有些笔记本是当成工作站来用的,这样就需要很多外部接口。但一般的笔记本,局限于物理空间,不能够提供过多的外部接口,会使用接口坞来扩展。大的接口坞上通常有十几、数十个扩展接口,来满足工作站的接口要求。其实,一些移动设备,如手机、平板电脑,也使用接口坞的方式实现扩展,不过接口少一些。接口坞接入主机的时候,系统如果有PNP支援,就能够直接使用上面的接口了,不用重启系统,一般也不用手动安装设备驱动。PNP特性,需要操作系统、驱动程序和硬件的三方支持。缺了某一方都不能实现。比如PCI设备,虽然可以在PCI驱动程序中实现某种程度的PNP支持,但因为设备本身的电气化特性,是不支持PNP的,所以我们仍不能热插拔PCI设备。另外一种情况是,如果设备驱动写得不好,未能正确地处理PNP请求,那么即使设备本身是支持热插拔的,也会有问题。比如现在很多定制的USB设备,如加密U盘、网银密码器等,如果驱动写的不好,用户往往会在插拔设备的时候遭遇蓝屏。概括地讲,为了很好地支援PNP特性,需要做到下面几点:运行时识别设备。不仅在系统初始化的时候,能识别并正确配置设备。在系统正常运行的过程中,如果有设备动态接入,也能够正确识别并配置设备;如果设备动态移除,也能够正确响应并回收系统资源。系统还需要为设备动态加载设备驱动程序。设备的驱动信息保存在注册表中,系统从注册表中查找设备的驱动信息。如果注册表中找不到相关记录,系统会尝试自动为设备安装驱动,否则就通过UI界面,要求用户手动安装驱动。动态配置设备。操作系统为设备动态地分配系统资源,设备可能需要用到的资源包括:IO地址空间、物理内存映射、中断、DMA等。设备驱动再根据它所动态获取的资源来配置设备。比如一个支持硬件中断的设备,它每次从系统处获得的中断号,都可能不同。那么设备和驱动程序,就不能假定设备的中断号是一个固定的值。PNP接口。操作系统中有一个PNP管理器模块,包含用户和内核两个子模块,所以它能够对用户程序和内核驱动分别提供PNP支持。它们和设备驱动、用户程序之间,有一个定义良好的接口。这个接口用来互相通知PNP事件。简略地讲,它包含三个方面:1. 当PNP管理器检测到PNP事件的时候,能够把这些事件通知给设备驱动。包括设备接入、移除、异常移除等。2. 当设备驱动需要向系统报告子设备的时候,能把这个信息通知给系统。当用户程序想动态移除指定设备的时候,也可能通过UI程序实现,这些UI程序实际上是调用了系统提供的PNP接口来实现的。比如我们在移除U盘设备的时候,一般不会直接拔除,而是先通过托盘栏中的弹出设备程序移除设备,以免破坏数据。3. 驱动或用户程序,还可以通过注册通知函数,来接收PNP通知。比如内核驱动可以通过调用IoRegisterPlugPlayNotification函数注册一个通知函数,当感兴趣的目标发生PNP事件时,PNP管理器就会调用它的通知函数,并通过参数告知它PNP事件的详细信息。用户程序也可以通过WM_DEVICECHANGE消息来接收设备PNP的通知。这套接口,主要由PNP管理器所提供的若干接口函数,若干类型为IRP_MJ_PNP的IRP包,及驱动程序所提供的AddDevice回调来实现。电源特性电源操作的目的是类似的,也是为了能够在用户尽量少介入的情况下,就能够正确地配置和使用外部设备。现代计算机和操作系统,都实现了多个级别的系统和设备电源状态。系统和设备可以在这些电源状态之间进行切换,并达到正常情况下全力供电,空闲情况下尽量省电的目的。系统的电源状态用S0-S5来标识。S0是正常状态,S1-S3是休眠状态,但休眠的深度有差别,S4是睡眠状态,S5是软关机状态(Soft Off,不完全等同于断电)。除了S0和S5这两个必须支持的状态外,系统还支持哪些电源状态,是由系统BIOS决定的。一般来讲,计算机系统都会支持S3和S4这两个状态。否则除了开机就是关机,电脑用起来会很麻烦。设备的电源状态用D0-D3来标识。D0是正常状态,D1-D2是休眠状态,但深度有差别,D3是断电状态。其中D3还分Hot和Cold两种子状态。在D3Hot状态下,设备的功能已丧失但仍有外部或总线供电,使得设备本身还能被系统检测到。和设备相连的控制器设备认为此设备还连接着,只要控制器上有设备连接着,控制器就要处于工作状态。但在D3Cold状态下,系统已检测不到设备,这可能是由于设备的已经断电了,或者系统本身已经处于休眠状态而导致的。和设备连接的控制器,已经不认为设备和自己连着,在其它条件满足的情况下,控制器可以进入完全的休眠状态。设备电源状态,需要由设备本身和设备驱动一起来实现。有些设备只支持正常和断电两种状态(即D0和D3),而没有休眠的功能。那么设备驱动只需要处理D0和D3两种状态即可。有些设备则提供了休眠功能(即可进入D1或D2状态),驱动程序在这种情况下,仍然可以决定支持或不支持设备的休眠状态。在支持的情况下,当设备进入休眠状态时,驱动程序负责关闭部分硬件模块,让其它模块继续工作。系统中有一个电源管理器模块,它负责系统范围内的电源策略。当系统的电源状态发生变化时,它负责把要进行的电源操作及电源状态,通知给每个设备栈,让它们来处理电源变化。设备驱动需正确地处理电源事件,有很多系统蓝屏就发生在驱动程序处理电源事件的过程中。物理设备的功能设备驱动,一般就是这个物理设备的电源策略制定者,功能设备驱动在设备初始化的时候,会把设备电源状态映射到系统电源状态,并把这个映射汇报给电源管理器。这样电源管理器就可以根据系统电源状态,发送相应的设备电源状态给设备驱动。这个映射体现在设备管理器程序中的设备属性界面中,我们可以通过它来观察不同设备的电源状态映射。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • WINDOWS
    +关注

    关注

    3

    文章

    3519

    浏览量

    88303
  • pnp
    pnp
    +关注

    关注

    11

    文章

    295

    浏览量

    51651
  • 电源特性
    +关注

    关注

    0

    文章

    3

    浏览量

    2544
收藏 人收藏

    评论

    相关推荐

    plcnpn和pnp的接线方法

    plcnpn和pnp的接线方法
    发表于 05-24 15:39 8.1w次阅读
    plc<b class='flag-5'>中</b>npn和<b class='flag-5'>pnp</b>的接线方法

    电源管理芯片使用特性

    限制冲击电流,避免设备在启动时遭到损坏。  以上就是电源管理芯片使用特性,只有了解了它的特性,才能够在使用中正确操作,延长使用的时间。
    发表于 10-08 11:25

    PNP

    三极管PNP的发射极接电源的情况是什么。
    发表于 01-13 22:27

    接近开关PNP与NPN区别

    光电传感器有NPN型输出型(电流流入)和PNP输出型(电流流出)两种,当电流流出的传感器(PNP输出型)在接通时, 电流是从电源经传感器的输出端(output)流到负载(load)上,进入负载
    发表于 10-11 20:37

    NPN和PNP的联系与区别

    从低电位处流行高电位的情况。如今流行的电路图画法,通常习惯“男上女下”,哦不对,“阳上阴下”,也就是“正电源在上负电源在下”。那NPN电路,E 最终都是接到地板(直接或间接),C 最终都是接到天花板
    发表于 11-23 18:54

    Windows XP Embedded的新特性是什么?

    Windows XP Embedded的新特性是什么?它有什么功能?
    发表于 04-25 09:25

    S8550(PNP型)和S8050(NPN型)的特性分别是什么?

    什么是H桥电路?S8550(PNP型)和S8050(NPN型)的特性分别是什么?有什么区别?
    发表于 06-30 06:37

    PNP晶体管的工作原理,如何识别PNP晶体管

    型掺杂半导体材料隔开。PNP晶体管的大多数电流载流子是空穴s,而电子是少数电流载流子。施加到PNP晶体管的所有电源电压的极性都是反转的。电流在PN
    发表于 02-03 09:44

    关于PNP晶体管的常见问题

    PNP晶体管在哪里使用?放大电路采用PNP晶体管。达林顿对电路采用PNP晶体管。机器人应用利用了PNP晶体管。PNP 晶体管用于控制大功率应
    发表于 02-03 09:45

    什么是PNP和NPN晶体管?PNP和NPN有什么区别?

    的主要电荷载流子。因此,NPN型晶体管的响应时间比PNP型晶体管快。因此,NPN型晶体管是高频相关器件中最常用的,并且它们比PNP型晶体管制造简单,使它们成为两种类型更常用的。PNP
    发表于 02-03 09:50

    NPN型和PNP型半导体元件特性曲线图示仪

    NPN型和PNP型半导体元件特性曲线图示仪
    发表于 02-25 18:19 4314次阅读
    NPN型和<b class='flag-5'>PNP</b>型半导体元件<b class='flag-5'>特性</b>曲线图示仪

    采用PNP管扩展输入的正极性输出稳压电源电路图

    采用PNP管扩展输入的正极性输出稳压电源电路图 图 采用PNP
    发表于 07-20 15:30 2547次阅读
    采用<b class='flag-5'>PNP</b>管扩展输入的正极性输出稳压<b class='flag-5'>电源</b>电路图

    浅谈WindowsPNP电源特性

    PNP是Plug And Play的简称,代表和外部设备插拔有关事件的处理。PNP是现代操作系统必须支持的基本特性,其目的是希望操作系统能够在软硬件支援下,在基本无需用户干预的情况下,即可很好地处理外部设备的接入和移除操作
    发表于 09-15 14:15 1992次阅读
    浅谈<b class='flag-5'>Windows</b><b class='flag-5'>中</b>的<b class='flag-5'>PNP</b>和<b class='flag-5'>电源</b><b class='flag-5'>特性</b>

    PNP晶体管的工作原理和结构特性

    PNP晶体管是一种三极管,是现代电子技术不可或缺的电子元件。它由三个半导体区域——两个P型半导体夹着一个N型半导体构成,这种特殊的结构赋予了PNP晶体管独特的电学特性。本文将详细探讨
    的头像 发表于 05-22 16:11 2955次阅读

    NPN型和PNP型三极管的基本特性

    三极管,作为电子学的基本元器件之一,在现代电子技术和通信领域发挥着至关重要的作用。其中,NPN型和PNP型三极管是最常见的两种类型。它们的基本特性决定了在电路的应用方式和效果。本文
    的头像 发表于 05-28 14:25 2890次阅读