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

请问EC如何做电池报警

[复制链接]
发表于 2008-7-29 19:33:00 | 显示全部楼层 |阅读模式
各位同行,我遇到一个问题,客户提出让我做笔记本电脑的报警功能,就是在电池电量到达10%左右,系统发声,就是播放wav音乐。7 g2 K3 D" o! S0 i
- E0 x5 ]! |: t
客户说就是EC侦测到电池电量,在10%时就给OS发命令;但我不太明白,那个电池电量多少时报警是可以随意调的,如果调到50%,OS又不通知BIOS知道,那状态不就混乱了么,所以发声警告应该是系统做的。( y0 Z+ C9 f& E7 n
6 x7 G5 C( ?2 H: r0 i2 }
不过确实这个功能没有实现,我也没思路如何做,请大家谁做过这个功能的告诉一下,十分感谢!
发表于 2008-7-30 08:19:50 | 显示全部楼层
所以要单独做一个SCI 事件. 只有当 EC 侦测到 电池电量为10% 时的时候. 再由BIOS 通知上层AP 发声音出来.& y* [( Q/ E. f3 u
但是客户硬要将OS 判定电量底时的值设成例如50%,那么等电池电量为50%是,OS的报警就会生效. 等电量再降到10%的时候,我们自己的报警会再次生效!
回复

使用道具 举报

发表于 2008-7-30 09:40:32 | 显示全部楼层
这个应该只要调整ASL就好了,我记得ACPI的spec里面有关于类似的描述。。不过应该也要BIOS参与,看懂以后就和你们BIOS team谈判去吧。呵呵
8 y; \" `! C' l! J) F. |$ f( ]# q/ N; t" ]6 o5 j3 H1 S1 ~
[ 本帖最后由 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扯上关系,感觉有点绕弯子了
9 q+ d# B( P  S2 v6 n5 I% H. H0 [/ C& F3 R6 ~0 V
要不然就做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 L' _/ s/ h" p+ n1,OS自己的报警,就是大家说的系统下可以设置的那个8 T9 }4 u. f7 A# c% s7 M
2,EC的报警。EC通过SMBus得到电池所有信息如电压,温度,进行电池的充放电管理和电池保护;当没有适配器时,EC侦测到电池容量小于一定值后会以一定的频率输出PWM波使能声卡芯片,发出报警声。; K- R0 T! M7 e9 V( D5 D
PS:插拔适配器的报警声也是这样做的。
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 23:21 , Processed in 0.029195 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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