|
|
* ^2 N$ W1 k* o2 t$ g
1. What’s it?
i! Q3 e% Z# V5 d4 v( ?9 x
. C* ?/ s, B0 |1 n. a7 e$ \) H5 u; m8 G) l7 i
. n. H- x# L1 _9 z1 tAuto Detect Function 指的是BIOS和EC配合探测NB上存在哪些device。常见的device如wlan,bluetooth,camera ,3G等都是USBDevice,它们都接在usb port上面,而始能信号则是由EC控制。探测结束以后,当用户按下hot key时EC可以根据探测的结果给出相应Function。比如当wlan不存在时,该hotkey的功能可能就是search key 功能。
# {) u7 {7 n' n( r3 Y ! g: ]9 _4 J& \' G5 ^, D h
2. Why need it?$ A$ V: ^, d2 [
$ \: c5 _0 L1 j8 u2 a1 i# P
6 v+ S8 J8 P1 h& R" i0 _
8 p1 V/ d: ?/ @7 o8 o
6 \3 t& ?$ y* {1 i N j: R这个功能的存在主要是因为同一个model在出货的时候因为客户要求,或者市场地位的不同可能配置会不一样,比如搭配不同的cpu,上不同的外围Device等等。这样EC就需要知道哪些设备存在,否则就会出现漏电以及配合NB上层软体出错的状况。另外Auto Detect还有一个功能就是它能够保持device的前一次的开关状态,这样只要没有断电就算是下了S5再回到S0,这些设备还会保持下S5之前的状态,这样可能会比较人性化一些。
2 ]3 e3 q9 c: S 7 F: U( I; S# V
3. How to implement?) K- T) f' E/ l# X
1 ]3 O& {/ L9 t) v8 Q
- k+ b' v# E; j6 H, r
" [* ]) ?0 q6 bAuto Detect听上去挺神秘,其实实现起来也还是挺简单的J。因为这些device都是接在usb port上,如果它们power on那么usb port上的Connect status 就会显示device is present on port,如此BIOS就可以检测出设备存在与否。具体来讲是这样首先BIOS要从EC读回所有device的上次power status,5 h/ N' n3 E& `, K9 Y w
然后BIOS发命令让EC power on device,BIOS读取相关usb port上的状态确定device是否存在;接下来BIOS回填探测到的设备存在状况到EC相应位置;最后BIOS将读回的power status送给EC,EC根据这些状态给device送始能信号,这样device就保持了上次的状态,这就是Auto detect的完整过程,完整流程如下图1所示:
' Y- C- Q3 J; [; N: g! U ! w+ ?$ W# U( I1 F
- `7 D1 W7 Z3 H% d- u/ |
) v. F0 t& `5 Y图 1
3 X; b5 t" h; l ^! i3 I; h+ [) G$ w4 _" `9 B9 \
3 m% r% q- _9 O# {1 `$ g
Peter |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入计匠网
×
|