|
6 U, q1 u: C" Y+ W
1. What’s it?
1 |2 a! z9 B, a9 t 2 z- T7 @2 p4 b# \( i
6 q6 V! s# w3 ]6 B" h; h7 W6 O
8 S# m L' L7 OAuto Detect Function 指的是BIOS和EC配合探测NB上存在哪些device。常见的device如wlan,bluetooth,camera ,3G等都是USBDevice,它们都接在usb port上面,而始能信号则是由EC控制。探测结束以后,当用户按下hot key时EC可以根据探测的结果给出相应Function。比如当wlan不存在时,该hotkey的功能可能就是search key 功能。
Q; r& I/ `* c% l. N: w/ E4 a ' V: J" K* O6 @4 `
2. Why need it?
) c+ z/ Z/ {1 P5 K$ N" D$ P; ]$ E4 k0 C$ n- Z4 j9 F& h
4 Z Q2 |- B; p% Q" e2 B! A9 F
7 f- p0 m2 ^9 m1 P
2 F6 @9 ~; {6 y" n: D4 k这个功能的存在主要是因为同一个model在出货的时候因为客户要求,或者市场地位的不同可能配置会不一样,比如搭配不同的cpu,上不同的外围Device等等。这样EC就需要知道哪些设备存在,否则就会出现漏电以及配合NB上层软体出错的状况。另外Auto Detect还有一个功能就是它能够保持device的前一次的开关状态,这样只要没有断电就算是下了S5再回到S0,这些设备还会保持下S5之前的状态,这样可能会比较人性化一些。
: W4 _9 s! m f$ Z+ u * G# A2 J" x1 y4 O# E
3. How to implement?
2 o; ^# m7 }0 J* S) F 9 v2 E# T, k9 c: p0 C& w
: P) \# t6 ]$ d% { M _
& B* d. Z3 w( u# u8 n0 ?
Auto Detect听上去挺神秘,其实实现起来也还是挺简单的J。因为这些device都是接在usb port上,如果它们power on那么usb port上的Connect status 就会显示device is present on port,如此BIOS就可以检测出设备存在与否。具体来讲是这样首先BIOS要从EC读回所有device的上次power status,: c1 h; M7 i( S: V0 X; l2 C) _6 ^
然后BIOS发命令让EC power on device,BIOS读取相关usb port上的状态确定device是否存在;接下来BIOS回填探测到的设备存在状况到EC相应位置;最后BIOS将读回的power status送给EC,EC根据这些状态给device送始能信号,这样device就保持了上次的状态,这就是Auto detect的完整过程,完整流程如下图1所示:. \1 ]7 P4 o5 X7 X5 L' z
! _0 o: D) }! ]& D/ {
+ t5 b2 C( L- q- I+ h4 ^5 }$ r. v. j0 m
图 11 ]; h. E; s0 E, ~, x
8 G4 d" E$ I+ b, e7 `8 [+ W M- E8 P% e0 D5 I9 W3 y
Peter |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入计匠网
×
|