|
|
2 q$ L, o1 Z' z' a0 ?: k
1. What’s it?0 f( s& q/ Y9 H, L" K
0 A, I* F% p- S4 p
1 U5 \8 R8 @9 u& |7 H/ z+ B k$ ~
1 s- [; a; T7 a$ _1 j+ \Auto Detect Function 指的是BIOS和EC配合探测NB上存在哪些device。常见的device如wlan,bluetooth,camera ,3G等都是USBDevice,它们都接在usb port上面,而始能信号则是由EC控制。探测结束以后,当用户按下hot key时EC可以根据探测的结果给出相应Function。比如当wlan不存在时,该hotkey的功能可能就是search key 功能。
$ U7 i7 u# J, e4 z& |% \
% q, t7 {) k2 y7 u: K( O/ J4 k2. Why need it?: J$ `& r$ F5 O2 d
( k" W& L X3 n1 Y- ~
+ M* P- p C4 M5 g! _8 r* |3 F3 L
$ X+ s# a( O& k7 a0 J
) _4 L4 ~) M$ q2 a) S8 b这个功能的存在主要是因为同一个model在出货的时候因为客户要求,或者市场地位的不同可能配置会不一样,比如搭配不同的cpu,上不同的外围Device等等。这样EC就需要知道哪些设备存在,否则就会出现漏电以及配合NB上层软体出错的状况。另外Auto Detect还有一个功能就是它能够保持device的前一次的开关状态,这样只要没有断电就算是下了S5再回到S0,这些设备还会保持下S5之前的状态,这样可能会比较人性化一些。
9 k) n! ? ~, u' ]( W
8 Y. Z9 g2 f" \3. How to implement?( {0 y# J9 P, h3 A
7 @! w7 s4 L# e* |2 p) N' a: g6 e) a" L3 V5 i* h3 c0 i
' g0 Q; j' G0 \. NAuto Detect听上去挺神秘,其实实现起来也还是挺简单的J。因为这些device都是接在usb port上,如果它们power on那么usb port上的Connect status 就会显示device is present on port,如此BIOS就可以检测出设备存在与否。具体来讲是这样首先BIOS要从EC读回所有device的上次power status,8 F4 {+ F( @1 l9 G! G" D
然后BIOS发命令让EC power on device,BIOS读取相关usb port上的状态确定device是否存在;接下来BIOS回填探测到的设备存在状况到EC相应位置;最后BIOS将读回的power status送给EC,EC根据这些状态给device送始能信号,这样device就保持了上次的状态,这就是Auto detect的完整过程,完整流程如下图1所示: P. p* x4 b3 A t
4 k% |/ ~+ @* n- Z; f& R- S' f* ~4 C9 m* @1 k' T5 W
0 s5 S* t; G: O- v! p4 `图 1& \3 b' m9 t: ^3 h' I5 i
0 a8 K: X/ q. |% b a* |( J
: e; ^8 }& _9 ?, X3 x% _
Peter |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入计匠网
×
|