笔记本电脑关机后指示灯还亮_笔记本电脑中的隐形管家:EC

66db30d7c35751612c607e3b6e204982.png

笔记本有很多台式机没有的有趣功能:合上盖子带上就走的便利性,睡眠时神秘的呼吸灯,漂亮的键盘灯等等。这些功能很多都可以在电脑关机的时候还在起作用,那么是谁在控制他们呢?肯定不是CPU,这也让Windows等操作系统失去了执行的土壤,他们也可以被排除。这个隐形的管家就是EC。

EC简介

几乎所有的笔记本的主板上都一个小家伙:EC(Embedded Controller),它是一个16位的小芯片,它与服务器中的BMC类似,掌控笔记本电脑的方方面面。它最早脱胎于笔记本的键盘控制器,现在笔记本上诸多特色功能,背后都有它的身影。充电指示灯为什么会亮?EC在合适的时间让它亮;风扇为什么狂转?EC觉得你的CPU太热了;各种功能键和上面的小灯也是它的功劳。甚至关机后EC还在不知疲倦的工作,它的特色功能也是笔记本厂商要发力的重点。

市面上有多种EC控制器,有ENE、ITE、Nuvoton和SMSC等玩家。它一般被焊接在笔记本主板上:

d5dee9a274d57415ea56bf3d2bc184de.png
3426c751de925bc677f8ed7af2dae319.png

联想Y700 EC的位置在左下角

它有自己的固件(firmware),但主板厂商一般叫这个固件EC BIOS,有点让人困惑。于此对应,笔记本主板的原理图是中间一般至少有一到两页的EC篇章:

6989d2a4acd36a993ce101a401418c04.png

一个简陋的例子

我在参考资料1 放了ENE的一款EC控制器芯片手册,对细节感兴趣的同学可以参考阅读一下。

EC的工作原理

EC和BIOS的合作十分紧密。EC通过BIOS的ACPI表将它所需要报告的信息和方法报告给操作系统,并与之交互。

一个典型的信息交互通道是这样:

268d3f58b5d462635ee43f5bbfd6b20b.png

它在ACPI table中的表现就是:

Device (EC0) { Name (_HID, EISAID(“PNP0C09”)) Method (_CRS) { … } Name (_GPE, 0 ) Method(_Q06) { … } Method(_Q07) { … } Method(_Q08) { … } Method(_Q0A) { … } // EC uses GPE0 // Adapter event // Thermal event // Battery event // LID event

从这个例子中看到,电池报警、AC电源插入、温度传感器报告和LID(笔记本盖子)信息,先报告给EC不同的Q里,EC再接入ACPI的GPE,GPE的触发会产生SCI,这时候操作系统就知道了。一个Event产生,操作系统在收到SCI后,会检查GPE,看是谁触发了事件;在发现是GP_STS0后,就知道是EC产生的时间,接着会去检查EC的Q0x,看看具体是EC的哪个管脚引发的,按图索骥,最终发现Event的产生方,而对该消息作出相应处理。

看起来似乎相当难懂!好吧,我们看个case study。

笔记本盖子开启/合上case study

我们来简化一下上面那个图:

4e1f488d24a4871e9503485899473949.png
  1. 笔记本合上,EC触发GPE。OS收到GPE,查看GP_STS,发现是GPE0触发,知道是EC导致。访问EC得知是Q0A。通过_LID的关键字和PNP知道是盖子信息,知道是盖子合上了。
cc9e2a94af2eb22a1b3f81691fc9d168.png

然后检查用户的电源管理策略作出相应处理:

b58ac2cd65e91ec0ca204d30418e17c1.png

2.盖子开启,GPEB会触发wake up相关动作。

结论

不但是LID,各种温度传感器也是先过EC的:

4374eb4dfb5becdaac99c27b7d96a2f4.png

AC插上,开启切换电源策略也是EC触发。甚至有的笔记本,AC插上旁边的小LED灯都是EC控制。

EC在笔记本电脑中如此重要,厂商为了作出自己不同的产品策略,开发花哨的功能,在EC上频频发力。EC不愧是笔记本中的隐形管家!

参考

  1. ENE datasheet https://reservice.pro/upload/Datasheets/kb9012qf.pdf
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值