迅维网

查看: 11869|回复: 54
打印 上一主题 下一主题
[笔记本]

对I2C总线诊断卡的一点分析

    [复制链接]
跳转到指定楼层
1#
发表于 2013-10-13 17:54:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自: 山东烟台 来自 山东烟台

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

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

x
本帖最后由 小小学徒工 于 2013-10-13 18:11 编辑

笔记本诊断卡,大部分采用抓取LPC总线信号来跑码,不过最近发现采用I2C总线跑码的诊断卡越来越多,于是抱着好奇的心理就简单研究了一下,拿来结果给大家分享,不对的地方还请大家讨论,指正
IBM诊断卡如下图


第一次见这种插在电池接口上跑码的诊断卡当时都蒙了,压根不知道原来电池接口还能跑码。。。。。而淘宝上的卖家也没有提供这款诊断卡的具体构造,没办法只能自己按照实物跑线自己分析


电池端接口,从实物上看是第3,4针通过USB线缆连接到了跑码卡上,第5针接了个30K电阻到地,最后两针为接地,抓来图纸对照

第3,4针为I2C_CLK_BT0和I2C_DATA_BT0,第5针为M_TEMP温控信号。
不难看出,应该是通过第3,4针的信号出来的代码,但是怎么工作的确不清楚,从字面意思上看是I2C总线,I2C_CLK_BT0和I2C_DATA_BT0 是由H8提供

我对由H8发出的I2C总线有些疑惑,一直以来我把南桥发出的SMBUS和I2C总线认为是相同的总线,所以想如果把I2C_CLK_BT0和I2C_DATA_BT0这两个信号接到南桥的ICH_SMBDATA和ICH_SMBCLK会不会跑码呢?

不过翻完资料后发现如果真按照自己的想法那就太错特错,资料如下

所以I2C和SMBUS是两种完全不同的总线


第二片,仁宝专用跑码卡,看到不少人用此卡,而且使用说明上也有简单的介绍,所以入手一片拿来研究

这个卡从外观上看不支持LPC总线,只有一个4针接口,按照说明书来看,是3V  GND   TX和RX支持有DEBUG接口的主板
我手上现有4张仁宝主板分别是 LA-4102P   LA-4114P  LA4731P  LA3732P 翻了下他们的图纸
发现这四张主板采用的都是KB926的EC
LA4114P  LA3732P 预留了  4针DEBUG接口 LA-4102P和LA-4731P留的是LPC总线接口
  


从图上看,第2,3脚的数据线连接到了EC第30,31脚

而没有预留4针DEBUG接口的LA-4102P和LA-4731P ,EC第30,31脚确成为了无线网卡电源开启脚LAN_POWER_OFF_R


以上为图纸分析,测试了两张实物主板 型号分别是LA-5751P 和LA-7322P
先看LA-5751P 此板用的EC也是KB926
第30,31脚为TX和RX
与此信号相连的DEBUG JP11
连上诊断卡测试
可跑码,不过初始代码不是00
EC_TX_P80_DATA和EC_RX_P80_CLK除了与JP11相连外也连到了PCI-E的第49和51脚上
从实物上看第49脚与第51脚与上面的4针是相连的,直接放主板上测试
顺利跑码
LA-7322P因为主板接口本身也支持LPC跑码,所以将俩个诊断卡一起放上去测试
测试结果如下

发现I2C与LPC总线跑码一致

所以通过我的分析(不确定对不对) EC内部将LPC总线转换成I2C总线信号,然后将转换来的数据,地址,波形传送至跑码卡上,跑码卡接收信号后经过单片机自身的信息对比输出代码

后来又翻了下纬创图纸里夹杂的一些资料

纬创设计的DB1图纸里面EC上也有专用的DEBUG接口,不过是不是I2C总线就未可知了
不过从下面的解释里也能看出点端倪



1) Use probe to touch the DBG2 pin 2 ( DEBUG_OUT )
1)使用探针接触dbg2引脚2(debug_out)
without inserting AC adapter.
没有插入交流适配器。
2) As for oscilloscope, set up Trigger Mode : Normal.
2)作为示波器,设置触发模式:正常。
3) Final step that have to insert AC adapter but do not press Power Button.
3)最后的一步,必须插入交流适配器,但不要按下电源按钮。
4) Eventually, we should have 4 set of pulses as below.
4)最后,我们应该有4组脉冲如下。

不难看出,如果没有4组波形的话应该是没有走吗,因为手上没有一样的主板,所以无法得知,是怎样的总线,不过我相信如果有此板用双踪示波器同时抓下数据线,和时钟线也许通过分析会判断出是否是I2C总线。因为没有硬件条件,所以对此类的诊断卡告一段落

购买记录

购买人数2价格购买时间
 会员461120.5元2019-6-23 12:05
 会员11027760.2元2018-5-11 11:00

查看所有购买记录


点评

最后的那个4组波形,是指适配器插入后,Macallen3 is working 的信号。而不是机器走吗。  发表于 2013-10-13 21:34

评分

参与人数 18下载分 +135 收起 理由
whdiy + 10 赞一个!楼主辛苦了!
哈斯奇 + 5 很给力!
落叶流声 + 10
阿桑 + 5 赞一个!
xiaorui2349092 + 10 很给力!
冰风古 + 5 很给力!
linjianguo + 10 赞一个!
朱小伟 + 5 淡定
黄鑫船 + 10 淡定
huwei359 + 10 很给力!

查看全部评分

本文由 会员25250 原创或被授权转载制作,其他机构或个人未经许可严禁转载。
2#
发表于 2013-10-13 18:03:18 | 只看该作者 来自: 山东烟台 来自 山东烟台
本来还想写一写I2C总线的,可是能力有限 给链接大家自己看吧
http://wenku.baidu.com/view/e96fb548e45c3b3567ec8b07.html

回复 支持 反对

使用道具 举报

3#
发表于 2013-10-13 18:12:23 | 只看该作者 来自: 加纳 来自 加纳
THINKPAD 一直都应电池接口跑吗,USB 也可以跑的。

点评

反对楼主: 5.0
反对楼主: 5
USB不支持  发表于 2013-10-13 22:45
USB提供5V供电,不提供数据链  发表于 2013-10-13 18:15
回复 支持 反对

使用道具 举报

4#
发表于 2013-10-13 18:13:41 | 只看该作者 来自: 加纳 来自 加纳
另外LPC 走的是SPI总线模式!

回复 支持 反对

使用道具 举报

5#
发表于 2013-10-13 18:35:39 | 只看该作者 来自: 新疆喀什地区 来自 新疆喀什地区
好犀利 嘎嘎嘎

评分

参与人数 1下载分 -2 收起 理由
zhoufude -2 严禁灌水

查看全部评分

回复 支持 反对

使用道具 举报

受到警告 6#
发表于 2013-10-13 18:36:02 | 只看该作者 来自: 新疆喀什地区 来自 新疆喀什地区
学习学习 呵呵

评分

参与人数 1下载分 -6 收起 理由
天意wx -6 严禁灌水

查看全部评分

回复 支持 反对

使用道具 举报

7#
发表于 2013-10-13 18:41:30 | 只看该作者 来自: 江苏常州 来自 江苏常州
分析的非常给力

回复 支持 反对

使用道具 举报

8#
发表于 2013-10-13 18:50:51 | 只看该作者 来自: 安徽 来自 安徽
最近碰到好几片难修的板,本想找找LPC总线,然后飞线给LPC诊断卡,可是板子上就是没有预留。
反倒是留了4脚的DEBUG位置。

楼主的SMBUS  I2C分析,给我很大启发。

回复 支持 反对

使用道具 举报

9#
发表于 2013-10-13 19:09:46 | 只看该作者 来自: 广东深圳 来自 广东深圳
很不错学习中

点评

反对楼主: 5.0
反对楼主: 5
论坛总则 http://www.chinafix.com.cn/thread-5924-1-1.html 严禁灌水3次以上禁止发言或访问  发表于 2013-10-13 22:49

评分

参与人数 1下载分 -2 收起 理由
彭亮亮 -2 严禁灌水

查看全部评分

回复 支持 反对

使用道具 举报

10#
发表于 2013-10-13 20:42:40 | 只看该作者 来自: 上海 来自 上海
楼主用休闲时间能写出这些知识供大家参考精神可嘉啊!

回复 支持 反对

使用道具 举报

11#
发表于 2013-10-13 20:45:07 | 只看该作者 来自: 浙江宁波 来自 浙江宁波
楼主的功力深厚

回复 支持 反对

使用道具 举报

12#
发表于 2013-10-13 21:06:24 | 只看该作者 来自: 四川成都 来自 四川成都
楼主不错呀。分析得有道理。向你学习

回复 支持 反对

使用道具 举报

13#
发表于 2013-10-13 21:32:56 | 只看该作者 来自: 福建福州 来自 福建福州
给力加十分

回复 支持 反对

使用道具 举报

14#
发表于 2013-10-13 22:25:54 | 只看该作者 来自: 广东 来自 广东
楼主功力深厚,在我们还没有学会如何用诊断卡时,就能分析诊断卡的工作原理了!前面那种IBM专用诊断卡我见过,后面的图上带线的诊断卡没见过,是所有的主板都能用吗?

回复 支持 反对

使用道具 举报

15#
发表于 2013-10-13 22:38:49 | 只看该作者 来自: 浙江温州 来自 浙江温州
这样的帖子非常好,楼主应该花了不少时间整理这些资料。
如果是I2C总线,根据资料,主机与从机地址通讯必须应该知道从机地址。
不同I2C设备的地址是不一样的。又是挂在同一总线上。因此主机就应该能区别从机的地址。这个从机地址也只能事先知道后,主机再通过从机地址与各个从设备通讯。

4口的诊断卡插上后,EC是怎么知道诊断卡的地址。

回复 支持 反对

使用道具 举报

16#
发表于 2013-10-13 22:46:14 | 只看该作者 来自: 浙江金华 来自 浙江金华
我想试试看用ibm那种接仁宝上能不能跑,应该二者都是I2C的吧

点评

我个人认为应该是不可以的,除非他们输出的波形一致,诊断卡内部程序一致  发表于 2013-10-14 06:28
回复 支持 反对

使用道具 举报

17#
发表于 2013-10-13 22:47:53 | 只看该作者 来自: 浙江温州 来自 浙江温州
本帖最后由 百亿超市 于 2013-10-14 07:09 编辑

比如笔记本上的常见的温度传感器
la6751图纸




温度传感器EMC1402手册


温度传感器EMC1403手册





显然I2C设备有地址,可能会重复。但是同一总线上不会出现相同地址的设备。可能出于某种原因,也会有相同地址的设备。

还有的设备地址可以编程。我想应该都是硬件编程的,而不是软件修改的吧。

如存储芯片AT24C01的A0,A1,A2脚实现地址的编程。






不能软改的证据

英文原版i2c总线标准







那么从机地址到底怎么样呢。
硬件编程的情形




地址的可编程部分和通用呼叫地址的功能一













说了这么多,I2C总线通讯的第一步就是确定从机的地址,  

如果4pin的debug卡使用的是I2C总线,那么EC是怎么获得debug卡的地址呢。





通用呼叫地址的功能二







通过广播,从机获得主机地址,之后主机工作在从机接收模式,从机工作在主机发送模式。
I2C总线上的设备是平等的,谁都可以配置为主机或从机。
这大概就是EC如何获得debug卡的地址,而后将bios检测代码送到debug卡上。
因此那个应该是I2C总线了。

那个中文翻译说不清楚。
搞来搞去还是关于地址的问题。


I2C和SMBUS的区别
http://wenku.baidu.com/view/02cb536eb84ae45c3b358cdb.html






i2c总线标准(英文).pdf

279.86 KB, 下载次数: 1, 下载积分: 下载分 -5 分, 下载 1 次


点评

这个应该是SMBUS地址吧,其实我也有这种疑惑,不过我个人分析EC的I2C总线并没有和各个部件直接通讯,而是将LPC信号转换成I2C信号输出到了代码卡,不知道这种分析对不对  详情 回复 发表于 2013-10-14 06:31

评分

参与人数 1下载分 +10 收起 理由
小小学徒工 + 10 神马都是浮云

查看全部评分

回复 支持 反对

使用道具 举报

18#
发表于 2013-10-13 23:13:55 | 只看该作者 来自: 内蒙古包头 来自 内蒙古包头
真是差距啊.一直没买笔记本的诊断卡.结果你都研究这个怎么工作了.人家是给.给.给我密码我.我就能用.
我是给.给.给我诊断卡.我.我.我也弄不明白.

回复 支持 反对

使用道具 举报

19#
发表于 2013-10-13 23:31:18 | 只看该作者 来自: 广东深圳 来自 广东深圳
技术无极限,学习中

回复 支持 反对

使用道具 举报

20#
发表于 2013-10-13 23:33:59 | 只看该作者 来自: 浙江 来自 浙江
好用吗12C这种检测卡

回复 支持 反对

使用道具 举报

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

本版积分规则

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



芯片搜索

快速回复