|
|
! P2 b1 N7 c1 h4 P' e% S
1. What’s it?8 V. D9 F& }2 I1 _7 k0 z
2 k+ Q- d. u9 f% ?9 j: ]
9 f: J, G! R2 S; j5 D" |9 u) q7 L. f5 y. l0 k( K, i: n
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 J& f) @* i0 H! H
O$ N8 D3 D1 Q. @1 q- V5 {2. Why need it?# R5 s4 h& G' r2 H' R7 K8 v
' N+ T' Q1 D6 }& l, H
% d3 w1 q) {# {$ F1 W' s% O% o- S; a1 L5 G2 f' f7 A
4 x4 D) T$ e2 _& P( N$ _0 |这个功能的存在主要是因为同一个model在出货的时候因为客户要求,或者市场地位的不同可能配置会不一样,比如搭配不同的cpu,上不同的外围Device等等。这样EC就需要知道哪些设备存在,否则就会出现漏电以及配合NB上层软体出错的状况。另外Auto Detect还有一个功能就是它能够保持device的前一次的开关状态,这样只要没有断电就算是下了S5再回到S0,这些设备还会保持下S5之前的状态,这样可能会比较人性化一些。* ~- F3 X0 P0 @5 ?* R
3 L3 m9 J/ }, Q' E3. How to implement?
+ o! h' h7 i0 B. b. c " p; E7 x( W. R2 g/ ~: i
) L; P$ M( I" |2 g- t$ z1 M& `: L" f3 k
, H/ w1 O# D, M& {9 ~
Auto Detect听上去挺神秘,其实实现起来也还是挺简单的J。因为这些device都是接在usb port上,如果它们power on那么usb port上的Connect status 就会显示device is present on port,如此BIOS就可以检测出设备存在与否。具体来讲是这样首先BIOS要从EC读回所有device的上次power status,0 O) Z& _9 F C6 b- N9 Y
然后BIOS发命令让EC power on device,BIOS读取相关usb port上的状态确定device是否存在;接下来BIOS回填探测到的设备存在状况到EC相应位置;最后BIOS将读回的power status送给EC,EC根据这些状态给device送始能信号,这样device就保持了上次的状态,这就是Auto detect的完整过程,完整流程如下图1所示:& Q" Y3 b5 j/ m( V( I9 W7 E) a
: Q Y5 D% Y# n" X* m
( a7 _2 X& m" ?5 Q4 U @
$ w1 ]: }: x7 B图 1
5 E; W4 }6 h9 ]) ?8 |" A; |" p# e9 O( I3 n9 L
/ _0 p; r3 w4 r* QPeter |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入计匠网
×
|