我所知道的EC====>System Architecture 1.EC 功能概述
: p3 P. U" y7 f$ g/ b/ X& n: W. Z! C
( Q2 R0 Q! f' h. TEC是NB独有的组成部分。它将MB上面的keyboard、mouse集中于一体在,EC内部提供了KBC控制器统一控制它们,这样大大节省了空间实现了便携。NB的另一个特点是它需要电池供电,这样省电是一个重要的问题。EC配合chipset在S3、S4、S5分别供不同的电源策略以达到节省的目的,另外EC也会控制电池的冲放电的过程,检测电池电量用于决定是否待机or紧急关机
" A7 P; |6 T2 H" m8 cor Wakeup等。另外由于NB集成度高、空间受限,散热非常重要但同时还要兼顾噪音的问题,EC会通过thermal sensor获得当前的CPU和VGA温度,根据不同的温度自动调节风扇的转速。这些都是EC提供的功能。: k) X7 q5 E, x+ _9 T9 \5 ]0 y0 k7 M
2.常见HW架构' G# P( T5 w5 { ^* n
4 C$ Y/ u* f" d$ G6 b. k* i; Z. m2 G# q
现在NB HW线路系统中EC的常见架构有两种,比较旧一点的案子会将BIOS和EC的code放在一起挂在EC的X-BUS下面。而新一些的做法会将BIOS和EC分开;BIOS挂在SB LPC或者SPI下面而EC挂在EC的SPI下面。如下图所示:
5 o8 Z; q8 `* a) I& g$ `0 P3 m1 f
7 U9 z( U# k1 Z# P/ C+ i5 d那么为什么会有两种架构呢?他们有什么区别呢?听我慢慢道来Jzzz。这其实是个多方原因导致的结果。1.出于成本的考虑。大家都知道现在NB的价格战是愈演愈烈,大家都在拼成本。所以低端机种都在拼命的cost down.很明显第一种架构也就是图1左边的架构会省掉一颗IC的成本。那么大家可能又会问既然这么economic为什么还要导入第二种架构呢?2.出于性能的考虑“有所得就有所失”没有完美的方案,第一种架构存在一个致命得缺陷,就是BIOS和EC跑code时会抢总线,也就是说有可能某一段时间BIOS狂飙得时候,EC就卡住了,反之亦然。于是就发现POST时间过长,S3、S4 Resume 时间过长的问题了。于是乎第二种架构应运而生;所以在新机种以及那些高性能的game系列中就会采用这种架构。(PS:现在应该以第二种架构为主了)- u4 i ]. P' O" ?( r4 ~- [* g
3.EC如何与HOST通信
! r! Q3 P. m* v7 V3 w5 a L
: ^0 v. M1 c: U8 b由图1可以看出EC与SB通过LPC相连,所以EC与HOST端的通信主要是通过LPC BUS进行的,除此之外EC还会有SMI,SCI的pin拉到SB上也就是说EC也可以通过发SCI,SMI的中断通知Chipset, Chipset再从LPC BUS获得相关的EVENT(PS:后续的会详细讨论这部分)。LPC BUS通信的部分如下图所示:, i& m6 k/ B$ _' o' `3 `( u
- } u R3 q; b
* f2 ^1 R( \$ Q3 X& u5 ^2 `
总之EC是NB系统中最为底层的部件,只要有电EC就会工作,检测各种输入信息,同时它还负责提供power sequence和host通信等重要的工作。
, [% l7 G' K% A+ }. ~, O( p
8 q1 W1 D" ?) u% I5 _* d
6 A+ o1 c! p/ O. B3 k; x, F9 r7 V |