|
|
: o( n* `3 ~% D: Y5 j4 E/ `
1. What’s it?/ v+ h4 U& J0 p# s
o/ V" f- K G( ^) ~
1 R5 L% T: I; x6 o! [, e) Q# t
" Z# V4 W' b% ?Auto Detect Function 指的是BIOS和EC配合探测NB上存在哪些device。常见的device如wlan,bluetooth,camera ,3G等都是USBDevice,它们都接在usb port上面,而始能信号则是由EC控制。探测结束以后,当用户按下hot key时EC可以根据探测的结果给出相应Function。比如当wlan不存在时,该hotkey的功能可能就是search key 功能。
. I! g i2 U7 C! u* |4 }$ ]0 [. g( b % l! f5 B* L8 z4 X4 R9 R& P
2. Why need it?
- @! Y2 E6 m/ P
2 C0 V; Y" _) S; I' X! h& M A9 q7 x) q# M1 v
5 `$ v3 s7 L% _) O
8 y8 z; ~" g/ w, r1 u
这个功能的存在主要是因为同一个model在出货的时候因为客户要求,或者市场地位的不同可能配置会不一样,比如搭配不同的cpu,上不同的外围Device等等。这样EC就需要知道哪些设备存在,否则就会出现漏电以及配合NB上层软体出错的状况。另外Auto Detect还有一个功能就是它能够保持device的前一次的开关状态,这样只要没有断电就算是下了S5再回到S0,这些设备还会保持下S5之前的状态,这样可能会比较人性化一些。# z }: t( t/ r
* w3 Y' W$ n: S+ o/ a/ ` T6 V
3. How to implement?6 p! Y+ ` o, P$ I! v
3 O1 F$ X; l- V- w5 r
" z1 P9 k0 N, C0 U1 u* X E- j: ^( B9 s5 t- \
Auto Detect听上去挺神秘,其实实现起来也还是挺简单的J。因为这些device都是接在usb port上,如果它们power on那么usb port上的Connect status 就会显示device is present on port,如此BIOS就可以检测出设备存在与否。具体来讲是这样首先BIOS要从EC读回所有device的上次power status,1 R* X9 W# P8 ]
然后BIOS发命令让EC power on device,BIOS读取相关usb port上的状态确定device是否存在;接下来BIOS回填探测到的设备存在状况到EC相应位置;最后BIOS将读回的power status送给EC,EC根据这些状态给device送始能信号,这样device就保持了上次的状态,这就是Auto detect的完整过程,完整流程如下图1所示:
3 h# o' a! v% z) N8 B" w
2 L9 w, w4 z7 g3 n0 V
4 n$ ^( u. `) ?
$ G* `9 i4 Y8 n; B' |9 R9 x图 1( p6 q4 k" H( B5 M4 h: U9 _
7 K: ?1 ~8 M0 P
, q# i/ x' k$ \( ]Peter |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入计匠网
×
|