|
* h" `# S, |; S/ K1. What’s it?! ~5 h! Q! v* Y" G
( D9 H6 J3 n1 i1 y6 |" F) f0 |( O) F) X- g4 q9 r2 H1 G+ f
$ m* I4 C) {0 @Auto Detect Function 指的是BIOS和EC配合探测NB上存在哪些device。常见的device如wlan,bluetooth,camera ,3G等都是USBDevice,它们都接在usb port上面,而始能信号则是由EC控制。探测结束以后,当用户按下hot key时EC可以根据探测的结果给出相应Function。比如当wlan不存在时,该hotkey的功能可能就是search key 功能。
) l0 @) V7 Y+ t6 c8 G5 x# } 6 t) w+ S0 n K2 I
2. Why need it?
" k( h+ Y. ^' x' \
. c% A0 ]1 }9 H& v7 R" b7 ]. T) W2 b
. i9 u% F0 \" i2 v7 v
* r5 r1 c D7 `2 m8 ?
这个功能的存在主要是因为同一个model在出货的时候因为客户要求,或者市场地位的不同可能配置会不一样,比如搭配不同的cpu,上不同的外围Device等等。这样EC就需要知道哪些设备存在,否则就会出现漏电以及配合NB上层软体出错的状况。另外Auto Detect还有一个功能就是它能够保持device的前一次的开关状态,这样只要没有断电就算是下了S5再回到S0,这些设备还会保持下S5之前的状态,这样可能会比较人性化一些。
3 F9 Y% \) j$ X z* Z " \$ K' Z/ J; [: J' t: ?2 y
3. How to implement?
' r# D: y) i/ [0 o. M
3 I7 H$ y6 p6 d! V) K1 r) [5 K- q( Z: S
0 c+ d8 ^. [9 b2 g/ K' f7 x5 X
Auto Detect听上去挺神秘,其实实现起来也还是挺简单的J。因为这些device都是接在usb port上,如果它们power on那么usb port上的Connect status 就会显示device is present on port,如此BIOS就可以检测出设备存在与否。具体来讲是这样首先BIOS要从EC读回所有device的上次power status,
* x1 f1 o* C2 i1 S然后BIOS发命令让EC power on device,BIOS读取相关usb port上的状态确定device是否存在;接下来BIOS回填探测到的设备存在状况到EC相应位置;最后BIOS将读回的power status送给EC,EC根据这些状态给device送始能信号,这样device就保持了上次的状态,这就是Auto detect的完整过程,完整流程如下图1所示:
2 I* Z+ J/ |0 n1 x5 J8 _. B . d! S M( d( B
6 }* y, z! t" ^6 Q! E. M
, u6 W. q) I6 m! h' J3 z; N图 1' g) l% Y) ~) g; Q) \4 n+ w
3 Q- u( j# L# j# D7 H2 H2 R& t4 K# i
& f9 z. I9 i- s5 G1 R7 a
Peter |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入计匠网
×
|