迅维网

标题: 对I2C总线诊断卡的一点分析 [打印本页]

作者: 小小学徒工    时间: 2013-10-13 17:54
标题: 对I2C总线诊断卡的一点分析
本帖最后由 小小学徒工 于 2013-10-13 18:11 编辑

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

1.JPG
登录/注册后看高清大图

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

5.JPG
登录/注册后看高清大图

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

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

我对由H8发出的I2C总线有些疑惑,一直以来我把南桥发出的SMBUS和I2C总线认为是相同的总线,所以想如果把I2C_CLK_BT0和I2C_DATA_BT0这两个信号接到南桥的ICH_SMBDATA和ICH_SMBCLK会不会跑码呢?
7.JPG
登录/注册后看高清大图

不过翻完资料后发现如果真按照自己的想法那就太错特错,资料如下
8.JPG
登录/注册后看高清大图

所以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
17.JPG
登录/注册后看高清大图


以上为图纸分析,测试了两张实物主板 型号分别是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总线。因为没有硬件条件,所以对此类的诊断卡告一段落


作者: 小小学徒工    时间: 2013-10-13 18:03
本来还想写一写I2C总线的,可是能力有限 给链接大家自己看吧
http://wenku.baidu.com/view/e96fb548e45c3b3567ec8b07.html
作者: FOXCONNCHINA    时间: 2013-10-13 18:12
THINKPAD 一直都应电池接口跑吗,USB 也可以跑的。
作者: FOXCONNCHINA    时间: 2013-10-13 18:13
另外LPC 走的是SPI总线模式!
作者: nurlan    时间: 2013-10-13 18:35
好犀利 嘎嘎嘎
作者: nurlan    时间: 2013-10-13 18:36
学习学习 呵呵
作者: LQW520    时间: 2013-10-13 18:41
分析的非常给力
作者: 万佳国度    时间: 2013-10-13 18:50
最近碰到好几片难修的板,本想找找LPC总线,然后飞线给LPC诊断卡,可是板子上就是没有预留。
反倒是留了4脚的DEBUG位置。

楼主的SMBUS  I2C分析,给我很大启发。
作者: xianyunshishi    时间: 2013-10-13 19:09
很不错学习中

作者: weiyusong    时间: 2013-10-13 20:42
楼主用休闲时间能写出这些知识供大家参考精神可嘉啊!
作者: 小郭学维修    时间: 2013-10-13 20:45
楼主的功力深厚
作者: kaixian2010    时间: 2013-10-13 21:06
楼主不错呀。分析得有道理。向你学习
作者: 早起虫儿有鸟吃    时间: 2013-10-13 21:32
给力加十分
作者: 立足深圳    时间: 2013-10-13 22:25
楼主功力深厚,在我们还没有学会如何用诊断卡时,就能分析诊断卡的工作原理了!前面那种IBM专用诊断卡我见过,后面的图上带线的诊断卡没见过,是所有的主板都能用吗?
作者: 百亿超市    时间: 2013-10-13 22:38
这样的帖子非常好,楼主应该花了不少时间整理这些资料。
如果是I2C总线,根据资料,主机与从机地址通讯必须应该知道从机地址。
不同I2C设备的地址是不一样的。又是挂在同一总线上。因此主机就应该能区别从机的地址。这个从机地址也只能事先知道后,主机再通过从机地址与各个从设备通讯。

4口的诊断卡插上后,EC是怎么知道诊断卡的地址。
作者: wuaook    时间: 2013-10-13 22:46
我想试试看用ibm那种接仁宝上能不能跑,应该二者都是I2C的吧
作者: 百亿超市    时间: 2013-10-13 22:47
本帖最后由 百亿超市 于 2013-10-14 07:09 编辑

比如笔记本上的常见的温度传感器
la6751图纸
国主板维修基地_迅维网.png
登录/注册后看高清大图




温度传感器EMC1402手册
对I2C总线诊断卡的一点分析_笔记本维修论坛_中国主板维修基地_迅维网-.png
登录/注册后看高清大图


温度传感器EMC1403手册
EMC1403_百度搜索.png
登录/注册后看高清大图





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

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

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

基地_迅维网-.png
登录/注册后看高清大图





不能软改的证据

英文原版i2c总线标准


address_百度搜索.png
登录/注册后看高清大图





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

I2C总线协议_百度文库.png
登录/注册后看高清大图



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


线协议_百度文库.png
登录/注册后看高清大图



百度文库.png
登录/注册后看高清大图








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

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





通用呼叫地址的功能二

度文库.png
登录/注册后看高清大图



库.png
登录/注册后看高清大图



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

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


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






i2c总线标准(英文).pdf

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


作者: rich8077    时间: 2013-10-13 23:13
真是差距啊.一直没买笔记本的诊断卡.结果你都研究这个怎么工作了.人家是给.给.给我密码我.我就能用.
我是给.给.给我诊断卡.我.我.我也弄不明白.
作者: 794897717    时间: 2013-10-13 23:31
技术无极限,学习中
作者: CX丶小南    时间: 2013-10-13 23:33
好用吗12C这种检测卡
作者: baigehy520    时间: 2013-10-13 23:46
一直没怎么用过诊断卡。今天才知道仁宝也有专用诊断卡

作者: 小小学徒工    时间: 2013-10-14 06:31
百亿超市 发表于 2013-10-13 22:47
比如笔记本上的常见的温度传感器
la6751图纸

这个应该是SMBUS地址吧,其实我也有这种疑惑,不过我个人分析EC的I2C总线并没有和各个部件直接通讯,而是将LPC信号转换成I2C信号输出到了代码卡,不知道这种分析对不对
作者: 百亿超市    时间: 2013-10-14 07:30
本帖最后由 百亿超市 于 2013-10-14 07:31 编辑
小小学徒工 发表于 2013-10-14 06:31
这个应该是SMBUS地址吧,其实我也有这种疑惑,不过我个人分析EC的I2C总线并没有和各个部件直接通讯,而是 ...

两者不应该存在转化关系。
感觉机器复位自检中,bios代码分别向EC的I2C总线接口控制器和LPC总线接口控制器发送debug代码。接口再往总线上的设备发送debug代码。基本上是同时的吧,虽然代码程序有先后。
作者: 上网只为等你    时间: 2013-10-14 08:44
楼主,技术很好,又学到了。
作者: 新芯箱硬88    时间: 2013-10-14 08:53
虽然  看着不是很明白   不过很不错
作者: 鑫泰电脑维修    时间: 2013-10-14 12:50
强悍 强人。。。。。
作者: 皇族涛涛    时间: 2013-10-14 16:04
分析的不错

作者: 本人經不起誘惑    时间: 2013-10-14 16:19
学习了。。。。。。。。。。。。。
作者: 最怕欠人情    时间: 2013-10-14 20:50
楼主,你辛苦了,收藏先,备用
作者: pingfang    时间: 2013-10-14 21:26
写得很不错,感谢楼主分享,就是不知道这种笔记本的诊断卡号用不?
作者: 皇族涛涛    时间: 2013-10-14 21:46
写的那多 可以简单点 亲
作者: mfkdhtyv    时间: 2013-10-14 21:47
这种卡的通用性不强。只能用在仁宝,我买的五合一的卡,基本上都要飞线,麻烦

作者: 371833131    时间: 2013-10-14 23:05
I平方C总线和系统管理总线差不多,这个稍微了解下就行了,关键是现在新型的代码所表示的含义,我觉得比这个要重要呀。
作者: hlongxuan521    时间: 2013-10-14 23:06
很专业 楼主很强大
作者: 昨夜起风    时间: 2013-10-15 12:46
分析得不错,I2C分板得有样有板的
作者: huangshang    时间: 2013-10-15 19:17
那么复杂。。何时能自己弄个。。
作者: 就是我!    时间: 2013-10-15 21:45
本本的卡用的少,主要是飞线麻烦,学习了!
作者: 阿桑    时间: 2013-10-16 22:51
I2C太强大了。
作者: liqiang19831205    时间: 2013-10-17 10:52
这种好用么、??平时都没怎么用·
作者: chenpeng1234    时间: 2013-10-17 11:10
好  学习了
作者: 锐杰电脑3    时间: 2013-10-18 21:08
同意楼主,技术嘎嘎的
作者: whdiy    时间: 2013-10-18 22:32
又多一种测试有没有跑码的方法!太好了。我一般习惯找LPC总线用示波器测波型变化次数和时间长短判断大概的跑码情况,飞线接诊断卡是没办法的时候用一下。
作者: sparkk    时间: 2013-10-19 17:26
楼主很强大呀

作者: 974207072    时间: 2013-10-20 07:51
12c诊断卡,好用不,要飞线吗
作者: 夏广兵    时间: 2013-10-20 09:08
一看这个帖子就知道遇到了顶级高手,计算机原理与维修实践相结合,这可不是一般维修人员都具备的。真的很佩服。
作者: 荔园尛猪べo    时间: 2013-10-20 17:45
楼主用心啊,研究好透彻啊,学习了。
作者: bobofu    时间: 2013-10-20 23:15
高,实在是高,{:soso_e179:}
作者: 金时效    时间: 2013-10-22 18:21
好像跑ibm的就是这样的
作者: 郭登文    时间: 2013-10-22 18:41
第一次看到,有时间得研究下
作者: baxaiq    时间: 2013-10-23 12:40
牛人修机就是不一样,学习学习
作者: 湘-邵阳-王强    时间: 2013-10-23 13:21
真是差距啊.一直没买笔记本的诊断卡
怎么不介绍下检测卡呀   怎么不推荐下哪个检测卡呀   这个才是我们菜鸟想看的
作者: NB虚焊    时间: 2013-10-23 13:30
下来看看{:soso_e154:}
作者: WZQ2013    时间: 2013-10-28 10:54
学不完的技术。真的要活到老,学到老。
作者: shuo5331    时间: 2013-10-28 11:01
这叫一个给力阿
作者: twoonecat00    时间: 2013-10-28 11:05
过来看看,学习学习




欢迎光临 迅维网 (https://www.chinafix.com/) Powered by Discuz! X3.4