|
|
- }! Y* f& f9 r' t+ c: `& n4 F* _1. What’s it?
+ E2 y5 V' c. I
. S+ ], U" I7 ?4 r7 ^: a) {8 D9 e! a/ U4 g* o2 ^
/ S+ q/ D9 } k7 O
Auto Detect Function 指的是BIOS和EC配合探测NB上存在哪些device。常见的device如wlan,bluetooth,camera ,3G等都是USBDevice,它们都接在usb port上面,而始能信号则是由EC控制。探测结束以后,当用户按下hot key时EC可以根据探测的结果给出相应Function。比如当wlan不存在时,该hotkey的功能可能就是search key 功能。. ~5 n; c' W' {( L0 }
$ L# }9 L% y2 x0 p; O# W( m
2. Why need it?7 H; s: E- h1 Y9 P
# }2 s7 g: Z8 J* m2 L' k( ] B% j' v P K [
/ V" Y: a+ Q. u7 i7 L2 z! A5 [$ q0 ^, \3 Q
这个功能的存在主要是因为同一个model在出货的时候因为客户要求,或者市场地位的不同可能配置会不一样,比如搭配不同的cpu,上不同的外围Device等等。这样EC就需要知道哪些设备存在,否则就会出现漏电以及配合NB上层软体出错的状况。另外Auto Detect还有一个功能就是它能够保持device的前一次的开关状态,这样只要没有断电就算是下了S5再回到S0,这些设备还会保持下S5之前的状态,这样可能会比较人性化一些。
: r/ o5 i" n* g
2 p5 P- w/ ^3 T- c3. How to implement?/ _# j* A! y9 |8 [: g' v! E
7 `2 p0 k9 g+ p$ ^
& w2 s; o+ H5 z. W7 @# T$ l
* K5 M* V) y- HAuto Detect听上去挺神秘,其实实现起来也还是挺简单的J。因为这些device都是接在usb port上,如果它们power on那么usb port上的Connect status 就会显示device is present on port,如此BIOS就可以检测出设备存在与否。具体来讲是这样首先BIOS要从EC读回所有device的上次power status,& s% P5 Q1 X( l; Z9 @
然后BIOS发命令让EC power on device,BIOS读取相关usb port上的状态确定device是否存在;接下来BIOS回填探测到的设备存在状况到EC相应位置;最后BIOS将读回的power status送给EC,EC根据这些状态给device送始能信号,这样device就保持了上次的状态,这就是Auto detect的完整过程,完整流程如下图1所示:9 t: H3 `& Y* d" _1 D3 O
8 m& c6 p5 p3 r, q
4 Q( L; F I1 X7 A$ }
( d6 M" U9 z+ z2 l1 \
图 1
$ w$ F( w. e9 H2 N
% f; H( u, p; ` L+ {; a" _8 B' y7 g' p" b' y- P
Peter |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入计匠网
×
|