|
|
. l9 ]6 K2 A: D
1. What’s it?
- p6 G: \2 H% ~3 u ~ @# B+ U# l
8 t. H5 p3 ]' B7 Q" G O$ |; u, D! y
4 G9 W/ b Z r% Y, a! rAuto Detect Function 指的是BIOS和EC配合探测NB上存在哪些device。常见的device如wlan,bluetooth,camera ,3G等都是USBDevice,它们都接在usb port上面,而始能信号则是由EC控制。探测结束以后,当用户按下hot key时EC可以根据探测的结果给出相应Function。比如当wlan不存在时,该hotkey的功能可能就是search key 功能。' ^' z% f0 ~. C, R1 p
4 w- U( V2 E$ a$ ~9 L: D- f
2. Why need it?. c1 u# u3 E8 W7 O8 ~2 o; o& y) D
6 j) }" N! f# t. p. Y: i
/ q8 w. V% M: a- D
% w' `4 `2 d* U$ E2 P: K2 H7 P# {' g$ u, Q' l! I* E7 z
这个功能的存在主要是因为同一个model在出货的时候因为客户要求,或者市场地位的不同可能配置会不一样,比如搭配不同的cpu,上不同的外围Device等等。这样EC就需要知道哪些设备存在,否则就会出现漏电以及配合NB上层软体出错的状况。另外Auto Detect还有一个功能就是它能够保持device的前一次的开关状态,这样只要没有断电就算是下了S5再回到S0,这些设备还会保持下S5之前的状态,这样可能会比较人性化一些。
% D0 v4 S- D8 ?4 _/ d/ U & r& [9 C# d3 w/ j9 {( {
3. How to implement?
) d( {8 o) t2 L& T3 \( `
, g* h0 l$ A I3 S. V
: ]6 {1 j& @# z' o- T* y. C% M; S+ H G* o, M
Auto Detect听上去挺神秘,其实实现起来也还是挺简单的J。因为这些device都是接在usb port上,如果它们power on那么usb port上的Connect status 就会显示device is present on port,如此BIOS就可以检测出设备存在与否。具体来讲是这样首先BIOS要从EC读回所有device的上次power status,
) m, a! L5 y, u9 Y/ f2 q然后BIOS发命令让EC power on device,BIOS读取相关usb port上的状态确定device是否存在;接下来BIOS回填探测到的设备存在状况到EC相应位置;最后BIOS将读回的power status送给EC,EC根据这些状态给device送始能信号,这样device就保持了上次的状态,这就是Auto detect的完整过程,完整流程如下图1所示:5 K- E5 X r2 Z/ y2 k4 o1 N7 J2 C$ |
8 ]9 ?5 ]( |. O/ `; H
( T& u4 h* \" g% r! C# v/ K; C1 i, k8 T' _+ s7 }% t
图 1
8 W. J6 t6 i$ S$ y8 _! V2 ^7 d1 a: }/ W! W( h `
. P" ?& L" x: d/ N
Peter |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入计匠网
×
|