马上注册,获取阅读精华内容及下载权限
您需要 登录 才可以下载或查看,没有帐号?注册
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,充电管理芯片为TI的bq24707A,照片附在最后。 充电芯片的手册说明如下 可以通过设置”command”为0xFF和0xFE来读取数据可以确认该芯片。
开始操作: 设置Transmit Slave Address Register为0x13H(0x12H+1),设置HostCommand Register为0xFE,按Word protocols读取数据,发现Host Status Register变为0x44(BUS_ERR)
然后想遍历Slave Address来找到该芯片。依次设置Transmit Slave Address Register为0x01H,0x03H,0x05H …0xFF,读取0xFEH寄存器。大部分的结果是Host Status Register变为0x44H,但在地址为0xA1H时,会返回正常的状态(0x42)和读取结果。在地址为0x89H时,状态显示正常,但是返回结果为0xFF00(Host Data 0 Register=0,Host Data 1 Register=0xFF),接着测试,发现只要地址为0x89H,command为任意值时,返回结果均为0xFF00
所以现在感到非常困惑,从图上看充电管理芯片的SDA和SCL管脚确实是焊到了主板上,难道是没有连到南桥芯片的SMBus总线上吗?还是说我访问SMBus的方法不对?望高人指点。
另外,是不是笔记本电池上面还有一块控制电池充放电的芯片,连到了南桥的SM总线上呢?在遍历地址的过程中,我也没发现这块芯片。像BatteryMon这类监控电池状态的软件是怎么访问到这块芯片的呢?或者问这类软件是怎么检测笔记本电池参数的?难道所有的笔记本的电池芯片的SM地址都是(0b0001011),控制命令都相同吗? 上图是我实拍的那块充电管理芯片,上面标的是“BQ07A”是TI公司的BQ24707A芯片的简写。
另外我顺便想问一个与本主题关系不大的问题,图中那个空着的排线插座是干什么用的?维修过宏基M5-481的兄弟能解答一下吗?
补充内容 (2013-10-31 21:45):
已解决,谢谢 |