BIOS/EC/ME/eMMC

EC 是什么?

2020-01-08 16:23:40 冯必正 641

       笔记本电脑中的隐形管家:EC

       在服务器中被称为BMC,笔记本电脑称EC,台式机称SuperIO。

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


EC 简介

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

      市面上有多种EC控制器,有ENE、ITE、Nuvoton和SMSC等玩家。它有自己的固件(Firmware),但主板厂商一般叫这个固件EC BIOS,它一般被焊接在笔记本主板上:

宁波云扬智能科技有限公司,版权所有,禁止转载!

图一:EC 芯片


EC 的工作原理

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

宁波云扬智能科技有限公司,版权所有,禁止转载!

图二:EC 电路工作逻辑

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


本文转载来源:https://zhuanlan.zhihu.com/p/80568996