EC简介

什么是EC

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

EC在笔记本电脑的整个生涯中都存在,这里的意思是即使笔记本关机,EC也还在工作,除非拔掉电池,EC芯片没有供电,只要有供电,EC就开始工作,并等待按键然后处理电源上电时序并将笔记本上电。

 

EC与其它组件

EC芯片的另一个名称是IO芯片,这个名字当然不是很恰当。谈到IO,这里需要说明IO的意义,实际上它的意思是对主芯片(CPU/PCH/SoC)的IO扩展,比如EC,它要扩展的就是笔记本电脑的键盘、触摸板等外设。而与IO扩展相关的还有几个概念,这里做一个大致的说明。

首先是BIOS,全称Basic Input Outpu System,这里也包含IO这个词。BIOS是一个软件的概念,运行它的是笔记本电脑的主芯片,它是用来初始化主系统(也就是我们的笔记本)的硬件,当然也包括外设。BIOS的运行要比EC晚,因为EC有电源管理的作用。当EC将笔记本上电之后,BIOS才会开始运行。当BIOS启动的过程中,会与EC进行交互,以确保EC已经正常工作,之后BIOS才会运行下去并启动操作系统。

然后是SIO,全称是Super Input Output,这里也有一个IO,SIO也是一个独立的芯片,它的功能跟EC比较相似,也有控制键盘、风扇的作用,不过SIO一般没有独立运行的软件,而是将初始化和配置的操作放在BIOS里面。相比于其它的组件,SIO与EC是最接近的。

最后一个是BMC, 全称是Baseboard Manager Controller,它也是一个独立的芯片,有独立的软件运行其上,BMC也可以控制风扇,但是它的作用会更多,程序也更加的复杂,BMC会跟BIOS交互,但是一般不会跟EC交互。BMC名字里面虽然没有IO,但是它也从某些方面扩展了主芯片的IO,并且扩展之全面是其它几个组件不能比拟的。

以上的这些组件,都是与IO扩展相关,而且在计算机的不同领域发挥作用,EC常用在笔记本上,SIO会用在台式机上,而BMC是服务器发挥作用,至于BIOS在上述的所有领域都有用到。下面是一个简单的图示:

 

EC芯片厂商

目前常用的EC芯片厂商有ITE和Winbond,两家都是台湾的公司。具体的EC产品可以登陆它们的官网查看,如http://www.ite.com.tw/en/product/category?cid=1

 

BIOS与EC的交互

前面已经介绍过BIOS和EC固件是有交互的,EC主要通过与主芯片的LPC连接来完成通信,因此BIOS可以通过固定的IO地址来访问EC。下面是一个简单的示例图:

对应的IO地址通常是60h/64h和62h/66h,实际上这也是键盘控制器的地址,这也好理解,因为EC的一个很重要的功能就是做键盘控制器。

至于BIOS和EC有哪些方面的交互,需要看具体的EC芯片手册来确定,目前由于没有手册,所以也不确定。

 

EC编程

缺少。