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

请问EC如何做电池报警

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

使用道具 举报

发表于 2008-7-30 09:40:32 | 显示全部楼层
这个应该只要调整ASL就好了,我记得ACPI的spec里面有关于类似的描述。。不过应该也要BIOS参与,看懂以后就和你们BIOS team谈判去吧。呵呵
3 A. t: v6 [* R/ C& U
7 O% Z! C& l' {, y: t  i[ 本帖最后由 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扯上关系,感觉有点绕弯子了
* W; g* I: L* @0 X$ s! s% J% x
* O& M. w1 N$ L2 U. a# G; D7 p1 O要不然就做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# 的帖子

电池低电量报警有两个% L0 b2 ^# d8 T! Z7 {
1,OS自己的报警,就是大家说的系统下可以设置的那个
+ S2 Z" I! {6 D* m& h- |7 m2,EC的报警。EC通过SMBus得到电池所有信息如电压,温度,进行电池的充放电管理和电池保护;当没有适配器时,EC侦测到电池容量小于一定值后会以一定的频率输出PWM波使能声卡芯片,发出报警声。! \: g3 {1 C& s9 r; R
PS:插拔适配器的报警声也是这样做的。
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-10-20 08:33 , Processed in 0.051237 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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