找回密码
 加入计匠网
搜索
热搜: BIOS ACPI CPU Windows
查看: 8440|回复: 7

请问EC如何做电池报警

[复制链接]
发表于 2008-7-29 19:33:00 | 显示全部楼层 |阅读模式
各位同行,我遇到一个问题,客户提出让我做笔记本电脑的报警功能,就是在电池电量到达10%左右,系统发声,就是播放wav音乐。2 [: `4 _- c$ _$ Y4 @& e
5 V2 b6 W6 D$ v- T7 S
客户说就是EC侦测到电池电量,在10%时就给OS发命令;但我不太明白,那个电池电量多少时报警是可以随意调的,如果调到50%,OS又不通知BIOS知道,那状态不就混乱了么,所以发声警告应该是系统做的。
; A6 S' V) i7 g9 y6 X5 e( H/ Q3 h. k+ u7 |' `5 d
不过确实这个功能没有实现,我也没思路如何做,请大家谁做过这个功能的告诉一下,十分感谢!
发表于 2008-7-30 08:19:50 | 显示全部楼层
所以要单独做一个SCI 事件. 只有当 EC 侦测到 电池电量为10% 时的时候. 再由BIOS 通知上层AP 发声音出来./ g' Z" S4 u: M
但是客户硬要将OS 判定电量底时的值设成例如50%,那么等电池电量为50%是,OS的报警就会生效. 等电量再降到10%的时候,我们自己的报警会再次生效!
回复

使用道具 举报

发表于 2008-7-30 09:40:32 | 显示全部楼层
这个应该只要调整ASL就好了,我记得ACPI的spec里面有关于类似的描述。。不过应该也要BIOS参与,看懂以后就和你们BIOS team谈判去吧。呵呵
1 r# j+ Q: o, p/ K4 M2 Q
; P9 T9 o8 C. {) n+ v5 [$ ~9 Q[ 本帖最后由 freevanx 于 2008-7-30 09:41 编辑 ]
回复

使用道具 举报

发表于 2008-7-30 12:56:00 | 显示全部楼层
在Windows Vista下,应该可以通过 HotStart 实现
回复

使用道具 举报

发表于 2008-8-5 12:49:09 | 显示全部楼层
AP层就可以做了吧,API里有个GetSystemPowerStatus的函数,就可以获取到电量了,如果非要和EC扯上关系,感觉有点绕弯子了
+ Q% s+ Y3 @1 [* v0 I: Q. F
5 _) r7 K6 t4 l; r8 L% z要不然就做10个SCI时间,10%一个,到一个点就去告诉BIOS一下,再和客户的值比一下。。。
回复

使用道具 举报

发表于 2008-10-22 10:18:27 | 显示全部楼层
电量报警的百分比是可以通过OS调整到EC的,这个点叫trip point, OS 可以直接通过/或者通过BIOS 下IO/EC命令给EC 改变trip point的值,EC探测到trip point后发SCI给系统,系统再来播放WAV。
回复

使用道具 举报

发表于 2008-10-30 18:19:56 | 显示全部楼层

回复 6# 的帖子

电池低电量报警有两个8 D# W2 q. C! _: j# }/ Z8 U
1,OS自己的报警,就是大家说的系统下可以设置的那个. F7 L- W! _8 r  i% B
2,EC的报警。EC通过SMBus得到电池所有信息如电压,温度,进行电池的充放电管理和电池保护;当没有适配器时,EC侦测到电池容量小于一定值后会以一定的频率输出PWM波使能声卡芯片,发出报警声。
' |" b1 {: J/ ]8 W( TPS:插拔适配器的报警声也是这样做的。
回复

使用道具 举报

发表于 2008-12-2 20:53:20 | 显示全部楼层
俺没用EC就做出来了,把南桥smbus接上电池充电芯片,加点asl代码,搞定。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入计匠网

本版积分规则

Archiver|手机版|小黑屋|计匠网

GMT+8, 2025-4-29 03:54 , Processed in 0.030197 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表