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

请问EC如何做电池报警

[复制链接]
发表于 2008-7-29 19:33:00 | 显示全部楼层 |阅读模式
各位同行,我遇到一个问题,客户提出让我做笔记本电脑的报警功能,就是在电池电量到达10%左右,系统发声,就是播放wav音乐。
& l7 M" m3 Z( C4 e* ~
! R7 k( u3 u% l( a9 h客户说就是EC侦测到电池电量,在10%时就给OS发命令;但我不太明白,那个电池电量多少时报警是可以随意调的,如果调到50%,OS又不通知BIOS知道,那状态不就混乱了么,所以发声警告应该是系统做的。
+ p" u$ e! C+ H" C7 j1 p4 F+ a& z9 x! b5 O
不过确实这个功能没有实现,我也没思路如何做,请大家谁做过这个功能的告诉一下,十分感谢!
发表于 2008-7-30 08:19:50 | 显示全部楼层
所以要单独做一个SCI 事件. 只有当 EC 侦测到 电池电量为10% 时的时候. 再由BIOS 通知上层AP 发声音出来.- q: |  j( Y6 S/ q& x& p$ ^3 h1 c1 y6 j
但是客户硬要将OS 判定电量底时的值设成例如50%,那么等电池电量为50%是,OS的报警就会生效. 等电量再降到10%的时候,我们自己的报警会再次生效!
回复

使用道具 举报

发表于 2008-7-30 09:40:32 | 显示全部楼层
这个应该只要调整ASL就好了,我记得ACPI的spec里面有关于类似的描述。。不过应该也要BIOS参与,看懂以后就和你们BIOS team谈判去吧。呵呵9 j( A8 x: `$ p4 J: ~. {/ m

- c5 a/ W$ O( k[ 本帖最后由 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扯上关系,感觉有点绕弯子了
4 V* P, ?( }! E9 ~* n8 P0 K4 Y
# K) S* i, a: n* f5 q. q) R: w9 m要不然就做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# 的帖子

电池低电量报警有两个
2 ]' y4 v/ d# G2 ?9 D4 y2 m6 W! s1,OS自己的报警,就是大家说的系统下可以设置的那个6 H- `: K, U2 k+ t
2,EC的报警。EC通过SMBus得到电池所有信息如电压,温度,进行电池的充放电管理和电池保护;当没有适配器时,EC侦测到电池容量小于一定值后会以一定的频率输出PWM波使能声卡芯片,发出报警声。- ]0 ^! ?2 e5 i1 x/ _
PS:插拔适配器的报警声也是这样做的。
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 23:19 , Processed in 0.034281 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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