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

请问EC如何做电池报警

[复制链接]
发表于 2008-7-29 19:33:00 | 显示全部楼层 |阅读模式
各位同行,我遇到一个问题,客户提出让我做笔记本电脑的报警功能,就是在电池电量到达10%左右,系统发声,就是播放wav音乐。
4 C9 [) e  {. }9 ]& r8 _
7 g3 a& g$ G. g# L9 S/ `) z& e& @客户说就是EC侦测到电池电量,在10%时就给OS发命令;但我不太明白,那个电池电量多少时报警是可以随意调的,如果调到50%,OS又不通知BIOS知道,那状态不就混乱了么,所以发声警告应该是系统做的。/ N) O5 p' e9 f, A

1 i6 P* x1 a3 r, P不过确实这个功能没有实现,我也没思路如何做,请大家谁做过这个功能的告诉一下,十分感谢!
发表于 2008-7-30 08:19:50 | 显示全部楼层
所以要单独做一个SCI 事件. 只有当 EC 侦测到 电池电量为10% 时的时候. 再由BIOS 通知上层AP 发声音出来.
3 T0 e1 d$ G( t6 x但是客户硬要将OS 判定电量底时的值设成例如50%,那么等电池电量为50%是,OS的报警就会生效. 等电量再降到10%的时候,我们自己的报警会再次生效!
回复

使用道具 举报

发表于 2008-7-30 09:40:32 | 显示全部楼层
这个应该只要调整ASL就好了,我记得ACPI的spec里面有关于类似的描述。。不过应该也要BIOS参与,看懂以后就和你们BIOS team谈判去吧。呵呵! _% V! Y" x" Y/ k6 b3 A8 l0 j4 H

3 a+ a5 d) r" ^[ 本帖最后由 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扯上关系,感觉有点绕弯子了- I0 T  V- N% q$ B
0 O; ^1 p+ X  i! z5 R% _' [( k
要不然就做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# 的帖子

电池低电量报警有两个
& \* P- R" W' J1,OS自己的报警,就是大家说的系统下可以设置的那个
/ S" A3 u4 D7 j( w/ N, R8 o5 ^4 N; W2,EC的报警。EC通过SMBus得到电池所有信息如电压,温度,进行电池的充放电管理和电池保护;当没有适配器时,EC侦测到电池容量小于一定值后会以一定的频率输出PWM波使能声卡芯片,发出报警声。8 n% p' D* T: y/ ~# K9 @" f! ]2 G
PS:插拔适配器的报警声也是这样做的。
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-12 06:55 , Processed in 0.018065 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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