|
|
w& J" r+ m9 R- n6 m3 M1. What’s it?
- C4 O& `( n7 |4 A
% b. |3 P, P$ y
5 O, d: q2 ~4 _: i& r; A2 z: k7 J s2 W! K
Auto Detect Function 指的是BIOS和EC配合探测NB上存在哪些device。常见的device如wlan,bluetooth,camera ,3G等都是USBDevice,它们都接在usb port上面,而始能信号则是由EC控制。探测结束以后,当用户按下hot key时EC可以根据探测的结果给出相应Function。比如当wlan不存在时,该hotkey的功能可能就是search key 功能。' [! ^, Y4 R# L9 {& w/ ]. \3 ?, R! ?, K
( V& F1 ^ E l# f2. Why need it? g: A0 V( w' b- x3 g; e
2 E1 u5 s% U6 @. X, q1 { g8 x9 z# @8 v' c+ D
" d# Y# H$ l( G: @3 l+ {
3 M7 h. S- E8 J. P5 h3 r$ c! z. Z
这个功能的存在主要是因为同一个model在出货的时候因为客户要求,或者市场地位的不同可能配置会不一样,比如搭配不同的cpu,上不同的外围Device等等。这样EC就需要知道哪些设备存在,否则就会出现漏电以及配合NB上层软体出错的状况。另外Auto Detect还有一个功能就是它能够保持device的前一次的开关状态,这样只要没有断电就算是下了S5再回到S0,这些设备还会保持下S5之前的状态,这样可能会比较人性化一些。: @4 C- `" k J0 S4 V3 N( h' j
$ M0 e/ ~( u' w! U. ?4 y% ~3. How to implement?
+ k( M+ E9 l; m) s/ m# S5 f! J) E ! `0 f) j _) D- y" {
. Q3 d* R- [ b- z
3 X5 T/ G4 e+ b8 J: K4 a& B7 {, {, C& W
Auto Detect听上去挺神秘,其实实现起来也还是挺简单的J。因为这些device都是接在usb port上,如果它们power on那么usb port上的Connect status 就会显示device is present on port,如此BIOS就可以检测出设备存在与否。具体来讲是这样首先BIOS要从EC读回所有device的上次power status,. f" @' t0 y& \- q3 ]+ V
然后BIOS发命令让EC power on device,BIOS读取相关usb port上的状态确定device是否存在;接下来BIOS回填探测到的设备存在状况到EC相应位置;最后BIOS将读回的power status送给EC,EC根据这些状态给device送始能信号,这样device就保持了上次的状态,这就是Auto detect的完整过程,完整流程如下图1所示:
3 V" l) F* z7 P F& d
' h( y/ Y$ E5 m5 w! @, z2 o7 n% [- x; y( q$ V E$ Z9 ^7 K
3 H8 g( S! C0 A6 i' \
图 1) I$ {/ J$ i, j0 j: v
* x- y, p6 t) Y/ G3 d
8 `/ k! g% `" z. b, v NPeter |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入计匠网
×
|