|
|
/ z! f) n! ^9 V1 P
1. What’s it?+ \2 X5 T' J" c, a) h0 z, q5 {6 x
8 g0 \1 O6 |$ ~" n% I/ s7 A( I" I5 T l; K
5 W5 H+ W9 k2 U M
Auto Detect Function 指的是BIOS和EC配合探测NB上存在哪些device。常见的device如wlan,bluetooth,camera ,3G等都是USBDevice,它们都接在usb port上面,而始能信号则是由EC控制。探测结束以后,当用户按下hot key时EC可以根据探测的结果给出相应Function。比如当wlan不存在时,该hotkey的功能可能就是search key 功能。
" x& h$ i# K. A+ n- J: r+ O
8 }; }0 U6 u3 T2. Why need it?
I1 t, `! e( M: G: h: H. q+ b7 i7 y! T$ ]" j( t
" y; t+ ]% V( {. C
: @6 h! n+ e+ ]: Y% H8 k; z* @: y4 b% C7 S) ?( \: G
这个功能的存在主要是因为同一个model在出货的时候因为客户要求,或者市场地位的不同可能配置会不一样,比如搭配不同的cpu,上不同的外围Device等等。这样EC就需要知道哪些设备存在,否则就会出现漏电以及配合NB上层软体出错的状况。另外Auto Detect还有一个功能就是它能够保持device的前一次的开关状态,这样只要没有断电就算是下了S5再回到S0,这些设备还会保持下S5之前的状态,这样可能会比较人性化一些。8 j3 S' N, i, `. k
+ l1 L6 V% a; _* J* e8 Y3. How to implement?
9 P3 T5 C r& [
$ H! {! b1 ~; t1 A3 I
) H' r6 G7 u1 B3 X1 V2 e* x$ c; B; g/ ^) k
Auto Detect听上去挺神秘,其实实现起来也还是挺简单的J。因为这些device都是接在usb port上,如果它们power on那么usb port上的Connect status 就会显示device is present on port,如此BIOS就可以检测出设备存在与否。具体来讲是这样首先BIOS要从EC读回所有device的上次power status,5 ?9 |+ K' l) U$ _9 U
然后BIOS发命令让EC power on device,BIOS读取相关usb port上的状态确定device是否存在;接下来BIOS回填探测到的设备存在状况到EC相应位置;最后BIOS将读回的power status送给EC,EC根据这些状态给device送始能信号,这样device就保持了上次的状态,这就是Auto detect的完整过程,完整流程如下图1所示:
) ]2 W# v3 g9 S' a
$ D _; o9 W/ F8 X5 S$ ~8 q6 c1 F3 w% r8 _$ ]
, z$ `/ T* N; I+ U
图 1
# F+ i1 C" Z* Z# b+ v ^1 m
! |9 [2 g }9 V7 \1 Y* ~4 P+ i$ m& q0 x! C4 {
Peter |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入计匠网
×
|