google 找到的,非本人原创。觉得他解释的很清晰。希望对你有用。
) A, U! R8 H1 h1 q& M9 P% O0 p, M) w( j* d5 p3 f7 N# f7 O. Y& q
EC(embeded Controller,嵌入式控制器)是一个16位单片机,这是笔记本电脑中独具特色的部分,正是因为EC的使用,体现出了笔记本电脑与普通台式电脑的一个重要区别。
7 G7 P9 Z8 |1 b/ t2 o8 ~* u) v7 e0 K& H2 V7 v5 K! r
在台式电脑中,键盘和鼠标是独立与系统主机的,其一般标准的PS/2或USB端口与主机系统连接。而在笔记本电脑中,为了实现便携的目的。必然要使用内置键盘(矩阵译码型键盘)和内置鼠标(如触摸板、指点杆都属于内置鼠标设备)。为此我们需要专门的键盘控制器,笔记本的专用EC正是具备了这个功能。
5 H4 a6 c6 P4 f: ~3 r3 }( Z
, s+ N3 ]$ V: A& A' B! e2 C5 J 而且,笔记本电脑设计的一个最重要的问题就是要使系统更加省电,增加电池的续航能力,既要有良好的散热性能,又要尽量减少系统的噪音,所以要根据温度,控制CPU风扇的停转。笔记本电脑的一些电源管理,如笔记本进入待机或关机模式,外部电源系统的电力调度。智能电池的电力检测,充放电任务。以及一些实用的快捷按纽。这些重要的功能都是由EC来完成的。
9 i0 B$ n& o2 M2 e1 @ A
4 h5 B5 s% j1 t+ _ 实际上,笔记本的EC是传统的KBC(Keyboard controller,键盘控制器)的延伸,它具备了KBC和嵌入式控制两个部分功能。
+ `2 H2 A& C$ G! m9 }4 @
! y, O- S8 q3 X EC目前普遍应用在具备智能型节电功能的笔记本电脑设计中,它担负着笔记本内置键盘、触摸板(TOUCHPAD)、笔记本电池智能充放电管理以及温度监控等任务。EC在笔记本电脑的便携、智能化、个性化设计中起到了重要的作用。. r7 N$ s5 k1 W/ J) k: y, C
C* Z. l' V: V# ^) h 它内部本身也有一定容量的Flash来存储EC的代码。EC在系统中的地位绝不次于南北桥,在系统开启的过程中,EC控制着绝大多数重要信号的时序。在笔记本中,EC是一直开着的,无论你是在开机或者是关机状态,除非你把电池和Adapter完全卸除。, B' \+ K6 i7 ^. ~/ S. J4 Q
! N y; x" b/ x& U
在关机状态下,EC一直保持运行,并在等待用户的开机信息。而在开机后,EC更作为键盘控制器,充电指示灯以及风扇等设备的控制,它甚至控制着系统的待机、休眠等状态。
2 \: I7 V; n6 K8 v4 }1 @9 x/ `6 _- m. {- R+ M' q4 W
现在的EC有两种架构,即BIOS的FLASH通过X-BUS接到EC,然后EC通过LPC接到南桥,一般这种情况下EC的代码也是放在FLASH中的,也就是和BIOS共用一个FLASH。另一种的则是比较新的架构,EC和FLASH共同接到LPC总线上,一般它只使用EC内部的 ROM。至于LPC总线,它是INTEL当初为了取代低速落后的X-BUS而推出的总线标准。
. o2 v* C2 y) B
; h6 g* F+ D/ I" F& { EC上一般都含有键盘控制器,所以也称KBC(Keyboard Controller)。; W/ Y! M3 H7 W" m( w. f
. o1 @9 a6 i* V) m8 b! e+ Z 那EC和BIOS在系统中的工作到底有什么牵连呢?在这里我们先简单的分析一下,具体的过程在本文的最后会详细介绍。/ G- ~* S, h9 m& {0 X" S
( e- D4 q/ D3 D4 d2 W
在系统关机的时候,只有RTC部分和EC部分在运行。RTC部分维持着计算机的时钟和CMOS设置信息,而EC则在等待用户按开机键。在检测到用户按开机键后,EC会通知整个系统把电源打开(这部分在最后详细介绍)。CPU被RESET后,会去读BIOS内一个特定地址内的指令(其实是一个跳转指令,这个地址是由CPU硬件设定的)。
& Q! t7 U9 S* y2 n8 u+ i. z0 q7 g3 }, |
" _, O8 M( B3 x& N( b 这里开始分两种情况,对于上图左边的结构:CPU发出的这个地址通过FSB到北桥,然后通过HUB- LINK到南桥,通过LPC到EC,再通过X-BUS一直到达BIOS。在CPU读到所发出的地址内的指令后,执行它被RESET后的第一个指令。在这个系统中,EC起到了桥接BIOS和南桥(或者说整个系统)的作用。
) C, ]. t0 I' S' V* N! K$ v4 Q5 [/ ~: l
对于上图右边的结构:在这地址南桥后,会直接通过LPC到BIOS,不需要EC的桥接。
, i9 v* G, Q, G- u) T9 r
! ]5 t8 M( N# I' U 这里需要说明的是,对于台式机而言,一般是不需要EC的。这里原因有很多:比如台式机本身的ATX电源就具有一定的智能功能,他已经能受操作系统控制来实现待机、休眠的状态;其次由于笔记本的键盘不能直接接到PS/2接口,而必须接到EC之上;还有就是笔记本有更多的小功能,比如充电指示灯、WIFI指示灯、Fn等很多特殊的功能,而且笔记本必须支持电池的充放电等功能,而智能充放电则需要EC的支持;另外,笔记本TFT屏幕的开关时序也必须由EC控制。这些原因导致了笔记本使用EC来做内部管理的必要性。
4 G- Z4 k! `2 L/ X+ K+ n4 x0 c8 @# v) {
总体来说,EC和BIOS都处于机器的最底层。EC是一个单独的处理器,在开机前和开机过程中对整个系统起着全局的管理。而BIOS是在等EC把内部的物理环境初始化后才开始运行的。1 H+ P/ y# `$ _% v
: E9 R. L+ h6 X+ k# l9 v {2 D
看到这里,我想大家也明白EC到底是呵方神圣。如果说BIOS 是底层系统的话,那EC 似乎更加底层。5 l0 y$ |, }3 O9 O8 l
& r! K+ S0 F! L: @4 u, C; Q
在南桥上还有一个功能块就是电源管理单元(PM,Power Management)。( o! o3 |# f2 R4 ~6 O0 m
5 C ?6 u5 H! \, C u0 Q4 |- r
一般来说,他和EC来共同配合完成。这里包括从开机(power button)键按下后,启动,待机,休眠,关机的全部功能。还包括对背光亮度,声音等的控制等等。
' H1 o4 s3 U0 R- p& v" N# m6 f5 \! H+ r9 R% y# j
至于现在Intel的Speed Step技术,也有部分功能是透过南桥来实现的(南桥发送SLP、STPCLK(sleep,Stop Clock)来实现睡眠、深睡眠等)。 s. z6 F1 z0 e' z
9 s+ a I; G; H 这部分的设计比较简单,只需要点到点的连接南桥和CPU即可。通过EC BIOS(底层软件部分)与EC芯片(硬件电路设计部分)的结合,可以发挥出更多的创意与设计弹性,在温度监控与电源管理上达到更加的自动化。使我们的笔记本电脑为用户提供更多的附加值。
- K3 b4 b" o) Y1 B5 {2 |5 g
7 @+ g2 O, o9 t2 n* l( i. w" H% M% ^3 {. v. ^3 p- R
# [# G9 s. T1 p' V+ Q总结一下:) o( f. P4 u0 N5 @8 p
EC其实就是一个单片机,是传统KBC的延伸,基本上笔记本上面的许多功能都是通过EC完成的,如:2 R7 L: B0 k$ w* t) L
1. 为携带方便,其键盘,触摸板,指连杆功能;
8 ?. I9 h2 j6 z4 j' r4 _# |$ `# o2. 为省电,其电池续航功能;% w. [0 |4 J2 Y. o. n! l
3. 为散热,减少噪音,其风扇控制,温度监控功能;
0 d6 u# t# I. b( W1 \# H4. 进入待机或关机时的功能;
- |( d2 @6 n9 |5 P- E5. 智能电池电力检测,充放电功能;
' @: K! w, f9 a6. 特殊的hot key功能;
5 s' M% r3 ^7 W* I' j7 ? |