本帖最后由 领航科技 于 2011-10-3 11:19 编辑 + v: N; ~- C" h9 @ {$ u
9 h7 P) x5 d8 D' V' U
晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的) e/ B4 e4 N$ ]8 [ }
3 {0 D& h; |) q# E$ l( l1 I5 J+ n* ]7 ^换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。; p% w' d }1 B# l$ V
& W- \/ c3 v7 X( U0 L, h 5 r) G) c' `, b* O$ f: e5 j q' B' x
$ b8 F" u p; `; ~8 n3 l' Q
不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。% {; G" U% J& N% C9 E- j
% ]* ^9 M& i9 w' I ( @ B9 `- k) ?5 m5 s0 c
e9 [9 X: Y1 `) T) O. y$ E
1.要想主板跑码就必须得先测量所有供电,1 ~* R! j9 b Z% _! L2 r9 C2 T7 ^1 _
5 C2 B1 o9 b8 p
假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。8 p- U! s: }7 D4 _* U, r
+ W2 x( ~3 w+ M d( Y
首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。* D! \& H) m2 K" {! G" S0 {$ Q0 A7 t
8 P4 a! G3 g* f+ F' E
: ^6 U( g& S- [3 h
# U: C* X4 |/ C% H% y7 L$ b- ?2.测时序信号
& K) c, z& a3 e7 x4 d5 ]' i4 ] z7 T
量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常
% O" [7 v* ?5 ?3 U+ P# B9 y: N1 @9 I8 G
" I( O% s/ R/ |2 [: i. ?
; `. T3 y8 x) ]# |! k- t2 {( K3. 测bios地址线
& p2 p8 @! w/ p) i: K
) x( r8 T# P4 q4 y: m) Z& f bios rom开始测量看cpu是否能正常解码到bios读取代码。由于ec code和system共用一个bios flash rom,但是目前 ec的code(64kb)放在低位的地址空间,只用到了a0-a15 address线,可以在插入adapter关机状态下测量a16-a18应该没有地址信号,而a0 -a15则有地址信号的变化是由于ec在运行。用示波器探头点到a18,开机时抓取地址信号,假如有一段地址信号变化则基本表明cpu已经读 取到bios的code,可能是code 有问题才导致不能继续run下去。请bios 协助在code的最早的位置设定断点和诊断代码分析以逐步分析问题 。假如开机后bios rom a16-a18上都没有解到cpu读取bios的地址信号动作,则需进一步量测上一级总线信号以判定是那个总线上的设备有 问题。 ( e! q% @* W0 Y) m
7 @" D- ^: N8 u6 W$ V; q
注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。
( h% ?& o5 u' ]+ e9 d9 V- y/ l+ A2 |" z4 {! D$ |0 o+ b" @! U: Z; O k
% ~$ Q" ^# B1 d
. V" ^! X. r; [+ [, m) J) w' F
9 e: F S5 Y8 p- c4.测lpc总线
; |6 v3 Z! r1 [6 C( R. F* t, ~, G# ~7 ~
由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。
2 f' S- C' d- s2 C, Q2 [) Z% }4 Y+ ~% _4 \% @+ b
\% W6 E! [. Q' A8 B7 h0 S5 l3 x' v; x4 L
5.测pci总线. {( y4 G6 i' F. }) Q! O
# Y1 A6 C6 `6 f" J. ^) x 通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。
- p" K! t; ]# ~! z5 C2 h- k0 G1 d, ~% y3 F. |
4 r4 l5 B% _9 i) X# O7 Y$ A8 Z6 L& u1 s, P! t' c0 W
6.测vlink或hub-link
8 o' T' M; w; b* }/ `" l5 L3 R6 V5 J. W" h l1 @
由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。) @0 V: ]2 @; D' I5 f, |& e
* m3 m1 h) h& X" q( S3 n6 p" }! N
7.测host bus4 ]$ h( M# u4 ?- R! n1 H! i. H
$ ~ q& t( G( D5 w, }: f. O2 b 开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。
) u5 q" `: N( s7 \9 e3 M0 N4 E$ e, |9 {( U
以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。
5 m7 ]9 ]' b- i. O; s
- ?& k! ?$ P! `2 q2 @总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了3 \ a9 f; |5 {5 c1 i2 D
# L, W6 Z e. A9 {6 S
9 {( L8 F( j; e短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件
& c: P6 C- N5 e
* ?9 X& b$ l. w" Z G* j还有就是英华啊,我从版主降成普通会员了啊
( G5 O6 R, Q6 Y% q8 ^" y7 A9 j" k, F+ l2 s7 D! D1 C6 J
版主要是不泛滥的话 给我个版主吧" w! Q+ M1 U% {8 m0 ^. `# J
|