电源管理 - EC

  • 了解笔记本电源管理EC

1.概述

  EC的全称是Embedded Controller,嵌入式控制器。它实际上是一个单片机,常用于笔记本电脑中,用于键盘控制,触摸板,电源管理,风扇控制,笔记本电池管理等等的功能,所以虽然对于笔记本用户来说,EC一般是不可见的,但是却发挥着重要的作用。EC芯片通常是一个独立的芯片,并包含独立运行的软件,存放在自己(或者与BIOS共用)的非易失性介质中

  EC在笔记本电脑的整个生涯中都存在,这里的意思是即使笔记本关机,EC也还在工作,除非拔掉电池,EC芯片没有供电,只要有供电,EC就开始工作,并等待按键然后处理电源上电时序并将笔记本上电。市面上有多种EC控制器,有ENE、ITE、Nuvoton和SMSC等玩家,它一般被焊接在笔记本主板上。
在这里插入图片描述
2.BIOS与EC的交互

  EC通过BIOS的ACPI表将它所需要报告的信息和方法报告给操作系统,并与之交互。EC主要通过与主芯片的LPC连接来完成通信,因此BIOS可以通过固定的IO地址来访问EC。下面是一个简单的示例图:
在这里插入图片描述
在这里插入图片描述
  从这个例子中看到,电池报警、AC电源插入、温度传感器报告和LID(笔记本盖子)信息,先报告给EC不同的Q里,EC再接入ACPI的GPE,GPE的触发会产生SCI,这时候操作系统就知道了。一个Event产生,操作系统在收到SCI后,会检查GPE,看是谁触发了事件;在发现是GP_STS0后,就知道是EC产生的时间,接着会去检查EC的Q0x,看看具体是EC的哪个管脚引发的,按图索骥,最终发现Event的产生方,而对该消息作出相应处理。

  一起复盘一下合上盖子(LID)的整个过程:

  • 1.盖子合上。EC通过IO端口探知到这个变化,设置EC event标志位,从而触发一个SCI中断

  • 2.Windows在收到SCI中断后,知道这是一个ACPI中断,从而调用BIOS的_GPE event

  • 3.BIOS在_GPE的event处理method中,发现是个EC事件,在EC事件处理Method中进一步发现盖子合上了。通知LID对象变更状态。

  • 4.LID对象报告Windows盖子被合上了。

  • 5.Windows检查电源Policy,发现要进入S3。执行_PTS control method,获取SLP_TYP3,把SLP_TYP3数值写入PM1_CNT(Power Management 1 control)的slp_typ域,并且slp_en置1就可以使系统进入相应的S3.

  • 6.硬件做以下事情使系统进入S3状态:1)使memory进入低功耗自刷新状态。2)除了memory,把电源从其他设备移除,仅保留需要唤醒设备的后背电源。

  • 7.EC发现系统进入S3,置起呼吸灯等,提升用户现在已经进入S3。

refer to

  • https://zhuanlan.zhihu.com/p/80568996
  • http://www.yidianzixun.com/article/0PVU1qpZ

猜你喜欢

转载自blog.csdn.net/weixin_41028621/article/details/109398823