|
|
. A3 T8 t3 T" @/ S/ _" B
1. What’s it?
7 m0 B: S7 T3 ?7 N( d / L, ?+ o( \2 x' e; b: k6 X* z
$ ]% b" S ` Y+ P, N2 K
. B. {. q0 Q7 M8 c! W- e& T+ iAuto Detect Function 指的是BIOS和EC配合探测NB上存在哪些device。常见的device如wlan,bluetooth,camera ,3G等都是USBDevice,它们都接在usb port上面,而始能信号则是由EC控制。探测结束以后,当用户按下hot key时EC可以根据探测的结果给出相应Function。比如当wlan不存在时,该hotkey的功能可能就是search key 功能。/ a% l# U9 [) I. ]" J- ~7 o6 ]) k
6 N/ V) ~& h+ |: [* \9 j1 }# b2. Why need it?( b2 F- q/ ]4 c/ ~) z7 c$ B8 O( i
! {) E/ F+ a4 h% L# E4 z
# D& [ ?8 O& ^9 `
, \/ M3 x! T+ s# ~+ J
0 N# v. E- u$ f Y3 m; c这个功能的存在主要是因为同一个model在出货的时候因为客户要求,或者市场地位的不同可能配置会不一样,比如搭配不同的cpu,上不同的外围Device等等。这样EC就需要知道哪些设备存在,否则就会出现漏电以及配合NB上层软体出错的状况。另外Auto Detect还有一个功能就是它能够保持device的前一次的开关状态,这样只要没有断电就算是下了S5再回到S0,这些设备还会保持下S5之前的状态,这样可能会比较人性化一些。1 R, I1 Q, Z3 L l/ s" r8 a
3 u7 n7 I& [5 g4 \2 L3 m/ [
3. How to implement?
) R; D' I! K' x: f 9 n' n+ [6 W+ f l) p
9 D3 Z% }- p/ u" Y5 o) f
( }2 l1 w6 T: @Auto Detect听上去挺神秘,其实实现起来也还是挺简单的J。因为这些device都是接在usb port上,如果它们power on那么usb port上的Connect status 就会显示device is present on port,如此BIOS就可以检测出设备存在与否。具体来讲是这样首先BIOS要从EC读回所有device的上次power status,
4 P3 B1 q4 J6 g1 \# U4 y然后BIOS发命令让EC power on device,BIOS读取相关usb port上的状态确定device是否存在;接下来BIOS回填探测到的设备存在状况到EC相应位置;最后BIOS将读回的power status送给EC,EC根据这些状态给device送始能信号,这样device就保持了上次的状态,这就是Auto detect的完整过程,完整流程如下图1所示:7 k& u& D# l7 w. M) F" J
6 [( }' n2 d% K W% `
. {/ V2 E* c8 `8 z$ @! g
2 \! y, b; g/ z9 F图 1) m/ B7 r, p$ m: c* ?1 v6 K
5 ^) z# v3 Z/ }. I2 f) W8 V; |4 A1 y v+ R' I6 ~, ~
Peter |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入计匠网
×
|