|
|
* G5 g0 q- {' M; c/ u1. What’s it?0 ]3 r; b8 b& x9 z
/ V8 I- m( j+ [6 p. O
. ]1 i; J: P5 b
2 f0 |7 p7 H* [6 D3 g' GAuto Detect Function 指的是BIOS和EC配合探测NB上存在哪些device。常见的device如wlan,bluetooth,camera ,3G等都是USBDevice,它们都接在usb port上面,而始能信号则是由EC控制。探测结束以后,当用户按下hot key时EC可以根据探测的结果给出相应Function。比如当wlan不存在时,该hotkey的功能可能就是search key 功能。
9 K/ J x5 ~4 @3 \ ) }) m# h- W+ y% J
2. Why need it?
6 K" U# m3 @2 |( P* ]1 p! V5 l% K, W- ~: b7 A, F
9 E+ z9 X3 Z) O) e; K
7 ~2 `: A8 e6 ]2 v0 _) _
" w' ]7 s) N; \6 y9 N" I( i9 X W这个功能的存在主要是因为同一个model在出货的时候因为客户要求,或者市场地位的不同可能配置会不一样,比如搭配不同的cpu,上不同的外围Device等等。这样EC就需要知道哪些设备存在,否则就会出现漏电以及配合NB上层软体出错的状况。另外Auto Detect还有一个功能就是它能够保持device的前一次的开关状态,这样只要没有断电就算是下了S5再回到S0,这些设备还会保持下S5之前的状态,这样可能会比较人性化一些。
6 k. s' y/ i$ c% Z( [7 i
% l1 y" A$ [# K1 _) H$ ^, H( T3. How to implement?
* w' {6 _, R& @# Y/ a
$ x/ E; S2 Y1 i- D4 C8 I% B! h @2 V7 @ L2 \
" D; R! q1 }! X$ J" _' cAuto Detect听上去挺神秘,其实实现起来也还是挺简单的J。因为这些device都是接在usb port上,如果它们power on那么usb port上的Connect status 就会显示device is present on port,如此BIOS就可以检测出设备存在与否。具体来讲是这样首先BIOS要从EC读回所有device的上次power status,. Z4 G! O' \) r
然后BIOS发命令让EC power on device,BIOS读取相关usb port上的状态确定device是否存在;接下来BIOS回填探测到的设备存在状况到EC相应位置;最后BIOS将读回的power status送给EC,EC根据这些状态给device送始能信号,这样device就保持了上次的状态,这就是Auto detect的完整过程,完整流程如下图1所示:$ Q- u8 H4 j: P6 C
& G c0 p+ X% @4 r @( J5 \6 G6 O
3 x0 t: e; V) o& e$ ?; ^+ V$ u, w; T: ?, a
图 1- v9 } N6 M" |, P, s2 U
' r& j9 U. F; Y8 t0 T
f, M- d1 z/ V; R, V" ?Peter |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入计匠网
×
|