|
|
. j9 `6 m/ g8 s3 w* N9 {. \
1. What’s it?
/ W* f9 Y" \9 j' R: ^
/ P* H7 C* @0 t6 @5 \" x3 A! p+ Z& B% M# X8 v: D8 [
+ X( r8 f; m2 |' c$ `
Auto Detect Function 指的是BIOS和EC配合探测NB上存在哪些device。常见的device如wlan,bluetooth,camera ,3G等都是USBDevice,它们都接在usb port上面,而始能信号则是由EC控制。探测结束以后,当用户按下hot key时EC可以根据探测的结果给出相应Function。比如当wlan不存在时,该hotkey的功能可能就是search key 功能。
8 r( a3 X+ X) M( ^ # B$ h W* P# h
2. Why need it?; @/ a& i9 ]3 z: p/ L$ T
: n4 I6 U, M* N% Y% S
7 c C: G* R2 Z
2 z# t: y/ b* I# {( k ^- |
]4 D) X, ~- M. g, B
这个功能的存在主要是因为同一个model在出货的时候因为客户要求,或者市场地位的不同可能配置会不一样,比如搭配不同的cpu,上不同的外围Device等等。这样EC就需要知道哪些设备存在,否则就会出现漏电以及配合NB上层软体出错的状况。另外Auto Detect还有一个功能就是它能够保持device的前一次的开关状态,这样只要没有断电就算是下了S5再回到S0,这些设备还会保持下S5之前的状态,这样可能会比较人性化一些。
3 Z: H! e5 h: \! f
& m1 w/ e, [8 p+ U1 `3. How to implement?
: s7 r! F8 f0 A; s9 h5 P/ y 8 N5 J) h+ I6 f
5 m9 m7 i, h& p' P5 M' J( P! n9 N
( f- D6 H& O/ Y0 mAuto Detect听上去挺神秘,其实实现起来也还是挺简单的J。因为这些device都是接在usb port上,如果它们power on那么usb port上的Connect status 就会显示device is present on port,如此BIOS就可以检测出设备存在与否。具体来讲是这样首先BIOS要从EC读回所有device的上次power status,
3 m. |' p! v: S4 l0 r3 ]# m然后BIOS发命令让EC power on device,BIOS读取相关usb port上的状态确定device是否存在;接下来BIOS回填探测到的设备存在状况到EC相应位置;最后BIOS将读回的power status送给EC,EC根据这些状态给device送始能信号,这样device就保持了上次的状态,这就是Auto detect的完整过程,完整流程如下图1所示:
7 `+ M% M: y- E' j7 F- Z( m
0 c& j3 E7 g( F. c% k e* S5 _/ a6 ^/ C* F4 u
7 a8 A' Z8 ]* M$ ^( l( j h图 1
2 g) v" R) Y1 F; ?3 Y8 _" m$ q7 B
! ^4 n, l# d/ L. [+ O8 E0 B0 C: n
; O- X0 `2 R }5 R. f) |4 p' t6 KPeter |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入计匠网
×
|