迅维网

查看: 11742|回复: 15
打印 上一主题 下一主题

通过南桥的SMBus访问笔记本的充电管理芯片,发现问题

  [复制链接]
跳转到指定楼层
1#
发表于 2013-10-30 12:25:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自: 浙江杭州 来自 浙江杭州

马上注册,获取阅读精华内容及下载权限

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 mashimaro221 于 2013-10-30 19:38 编辑

通过南桥的SMBus访问笔记本的充电管理芯片,发现问题
(刚注册的账号,不能在笔记本维修板块发帖,还拜请版主帮我移过去,先谢了)

使用RW访问南桥的SMBus(通过IO来访问),
使用这个网页提供的Word Read方法来访问SMBus(去掉连接前面的*)
h*ttp://white5168.blogspot.com/2012/09/rwsmbus-device.html#.UnBnvlggevw
能够正常读取地址0b1010000(Memory SlaveAddress)中的内容

使用的笔记本是宏碁M5-481,充电管理芯片为TIbq24707A,照片附在最后。
充电芯片的手册说明如下
可以通过设置”command”0xFF0xFE来读取数据可以确认该芯片。

开始操作:
设置Transmit Slave Address Register0x13H0x12H+1,设置HostCommand Register0xFE,按Word protocols读取数据,发现Host Status Register变为0x44BUS_ERR

然后想遍历Slave Address来找到该芯片。依次设置Transmit Slave Address Register0x01H,0x03H,0x05H …0xFF,读取0xFEH寄存器。大部分的结果是Host Status Register变为0x44H,但在地址为0xA1H时,会返回正常的状态(0x42)和读取结果。在地址为0x89H时,状态显示正常,但是返回结果为0xFF00Host Data 0 Register=0Host Data 1 Register=0xFF),接着测试,发现只要地址为0x89Hcommand为任意值时,返回结果均为0xFF00

所以现在感到非常困惑,从图上看充电管理芯片的SDASCL管脚确实是焊到了主板上,难道是没有连到南桥芯片的SMBus总线上吗?还是说我访问SMBus的方法不对?望高人指点。

另外,是不是笔记本电池上面还有一块控制电池充放电的芯片,连到了南桥的SM总线上呢?在遍历地址的过程中,我也没发现这块芯片。像BatteryMon这类监控电池状态的软件是怎么访问到这块芯片的呢?或者问这类软件是怎么检测笔记本电池参数的?难道所有的笔记本的电池芯片的SM地址都是(0b0001011),控制命令都相同吗?
上图是我实拍的那块充电管理芯片,上面标的是“BQ07A”是TI公司的BQ24707A芯片的简写。

另外我顺便想问一个与本主题关系不大的问题,图中那个空着的排线插座是干什么用的?维修过宏基M5-481的兄弟能解答一下吗?



补充内容 (2013-10-31 21:45):
已解决,谢谢

推荐
发表于 2013-10-30 18:19:40 | 只看该作者 来自: 浙江杭州 来自 浙江杭州
本帖最后由 mashimaro221 于 2013-10-30 18:28 编辑

哦,我想的其中的关系是这样的。南桥中集成的smbus controller 是挂在pci总线上,然后可以通过RW软件通过IO读写来操作smbus controller的寄存器,controller自身会处理smbus的访问任务。望指正。
附上我电脑南桥芯片的数据手册中的相关部分的截图。


通过操作这些smbus controller的寄存器,能够给controller下达访问sm总线的任务,然后返回结果到寄存器,具体的sm总线操作是由controller独立来完成。

回复 支持 1 反对 0

使用道具 举报

2#
发表于 2013-10-30 13:25:34 | 只看该作者 来自: 山东济南 来自 山东济南
好高深 没弄明白啥意思

回复 支持 反对

使用道具 举报

3#
发表于 2013-10-30 13:40:30 | 只看该作者 来自: 广东深圳 来自 广东深圳
搞不明白是啥东东

回复 支持 反对

使用道具 举报

4#
发表于 2013-10-30 14:52:59 | 只看该作者 来自: 河南 来自 河南
楼主研究方向错误,笔记本充电管理芯片和电池数据线路使用同一条线路,然后到io的数据脚上,而其他设备要访问该数据要通过南桥和io的总线,这中间就有一个数据的转换(数据总线的不同,数据的传输方式不同),而不是在器存器读取的那个数据和元数据比较,io作为数据读取,转换,控制的中心芯片,其工作是由软件来定义的,软件要想访问该芯片,就要通过总线来访问io,io再去读取电池芯片的数据来返回给软件,而实时状态和控制是由io通过smb总线控制充放电芯片来完成的。楼主你在吧这中间的关系顺清吧,

回复 支持 反对

使用道具 举报

5#
发表于 2013-10-30 14:54:50 | 只看该作者 来自: 河南 来自 河南
你的最后一个图片不明白什么意思,如果你有图纸,上面会表明什么借口或者什么总线

回复 支持 反对

使用道具 举报

7#
发表于 2013-10-30 18:29:29 | 只看该作者 来自: 浙江杭州 来自 浙江杭州
吴正海 发表于 2013-10-30 14:52
楼主研究方向错误,笔记本充电管理芯片和电池数据线路使用同一条线路,然后到io的数据脚上,而其他设备要访 ...

我的思路是这样的。
南桥中集成的smbus controller 是挂在pci总线上,然后可以通过RW软件通过IO读写来操作smbus controller的寄存器,controller自身会处理smbus的访问任务。
附上我电脑南桥芯片的数据手册中的相关部分的截图。
通过操作图中这些smbus controller的寄存器,能够给controller下达访问sm总线的任务,然后返回结果到寄存器,具体的sm总线操作是由controller独自来完成。
望指正。


回复 支持 反对

使用道具 举报

8#
发表于 2013-10-30 18:35:29 | 只看该作者 来自: 浙江杭州 来自 浙江杭州
吴正海 发表于 2013-10-30 14:54
你的最后一个图片不明白什么意思,如果你有图纸,上面会表明什么借口或者什么总线

最后一个图是我实拍的那块充电管理芯片,上面标的是“BQ07A”是TI公司的BQ24707A芯片的简写。

另外我顺便想问一个与本主题关系不大的问题,图中那个空着的排线插座是干什么用的?维修过宏基M5-481的兄弟能解答一下吗?

回复 支持 反对

使用道具 举报

9#
发表于 2013-10-30 18:45:50 | 只看该作者 来自: 浙江杭州 来自 浙江杭州
本帖最后由 mashimaro221 于 2013-10-30 18:46 编辑

我说的“使用RW访问南桥的SMBus(通过IO来访问)”
是指下面网页中说明的方法:
h*ttp://white5168.blogspot.com/2012/09/rwsmbus-device.html#.UnBnvlggevw
可能服务器不稳定,有的时候不能访问到,我把内容贴出来吧


回复 支持 反对

使用道具 举报

10#
发表于 2013-10-30 18:58:22 | 只看该作者 来自: 浙江杭州 来自 浙江杭州



回复 支持 反对

使用道具 举报

11#
发表于 2013-10-31 15:50:07 | 只看该作者 来自: 河南 来自 河南
大哥我研究硬件的,虽然我的英语专业16级,但是看不懂这些 ,不知道你是研究干什么用的,做电池吗?

回复 支持 反对

使用道具 举报

12#
发表于 2013-10-31 21:28:40 | 只看该作者 来自: 浙江杭州 来自 浙江杭州
吴正海 发表于 2013-10-31 15:50
大哥我研究硬件的,虽然我的英语专业16级,但是看不懂这些 ,不知道你是研究干什么用的,做电池吗?

我只是想搞清楚一下笔记本充电管理的机制。感谢大家的回复。

昨天在论坛找了一份宏基M5-481的电路原理图,电池中的控制芯片是挂在了EC的smbus上,而EC再通过spi总线连到南桥上。EC肯定不会开放直接访问电池芯片的接口。
这样的话应该就没办法直接访问控制电池中的管理芯片了。要获得电池状态只能透过WMI或是windows的API获得电池信息的。

另外,主板上的充电控制芯片BQ24707并没有连到任何smbus上。可能这块芯片出厂的时候设好了充电参数后就不再需要更改了。

回复 支持 反对

使用道具 举报

13#
发表于 2013-11-3 11:37:37 | 只看该作者 来自: 河南 来自 河南
你看到这个图电池是比较新的,而新电池都支持自动电源管理,在电池内部的程序中都已经定义好了充放电机制,而电源管理芯片的功能就可以限于充电,所以你的电源管理芯片可以不串总线中去,而通过电池的芯片就可以完成所有必需的动作。

回复 支持 反对

使用道具 举报

14#
发表于 2013-11-3 11:51:16 | 只看该作者 来自: 广西贵港 来自 广西贵港
电池SMBUS总线是有EC访问的

回复 支持 反对

使用道具 举报

15#
发表于 2013-11-25 19:36:00 | 只看该作者 来自: 北京 来自 北京
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~发错了

回复 支持 反对

使用道具 举报

16#
发表于 2013-11-25 22:50:00 | 只看该作者 来自: 湖北武汉 来自 湖北武汉
吴正海 发表于 2013-11-3 11:37
你看到这个图电池是比较新的,而新电池都支持自动电源管理,在电池内部的程序中都已经定义好了充放电机制, ...

想请教一下,如果充电芯片输出OK,电池OK,但充不进电的机是偿试更换EC还是刷BIOS来修复?之前遇到这样的机,但不懂总线是如何去控制电池的,所以很茫然,心里一直留有疑惑。希望您能够抽空回答一下

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图 AI维修
助手



芯片搜索

快速回复