本帖最后由 领航科技 于 2011-10-3 11:19 编辑
- b6 H @* Z, r# _# W; M* F9 ]% f! D+ p h) ^
晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的
7 ^, O) Y7 k; K3 D% w
6 r; f9 o6 {! R( j& H" z3 w( P U! c. ]) o换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。5 `* C1 U5 a! U# m% n. Y3 C% f
) ~# v ^" l; E7 O
. x/ L3 z4 U5 ~2 x$ r& n8 T" Z! A6 i: ]) l* b) O8 M
不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。
/ y! m, g$ x+ e3 r+ W3 Z" @6 t4 A7 N" p; d
2 z |( |0 |0 ?/ y$ N1 [! o% ]) F
, _) F) Z; j. Z# B u; z8 ]
1.要想主板跑码就必须得先测量所有供电,
1 Q; w4 G1 j" a# ]& \, p8 [1 j0 Y/ d' f. N* v. O6 P% R; }7 _
假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。
- a( P* F1 O+ I) c# K
5 R* f& o* t, U- }3 q# g+ Z8 j首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。
5 X0 c5 u& i0 w5 b9 {4 ^' V9 r; P% E
2 s0 b) t, D2 ^: y! R! c
" F; |2 I: W7 a8 {3 b9 `3 K8 g2.测时序信号
" c* ]% m) h) b9 X+ V3 t, e1 N, j' o# J4 J3 M& K, ^9 X" P
量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常
3 U* E# x: j& B( G1 V4 R. H! d, D) e& R2 y
' V; f1 G/ S! W5 J
( y8 E0 L; E$ J n# [1 ?& c' n* I3. 测bios地址线
' S4 |0 H4 r0 A' l+ v1 \( A. |5 |+ I: e
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的地址信号动作,则需进一步量测上一级总线信号以判定是那个总线上的设备有 问题。
5 H+ @+ b! W5 K; Z4 q0 L9 r3 k$ a' I- \ J- r& i& D b) p1 F e
注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。 : B) N5 v4 F' M! Y: f
' w9 t1 O9 ?# z- a
4 |- I: a* \% z " X$ P3 z3 m% n8 e/ O c
# W# q) f: w# s% j! r
4.测lpc总线1 A) P+ }- v9 t2 J+ E
. K2 }( p) l; w( ^ 由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。
& W) q, o) B& a% |: t9 l d7 a
0 ?) q3 i5 T5 T" D: Z0 ^0 I" f5 Q
% [* P( Q8 a( P( W* a/ w" P) x
" T9 C- }% p6 t# [7 [5.测pci总线
/ q5 c0 a/ S9 R/ x7 c \. Y) N
通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。( P7 K. T0 j$ f& P1 w: n- G2 o
# T1 j- Z6 a ]( i) b* l6 }- P
, J8 i3 g' W, ~8 g" j& x
: g/ O# ]' C/ N/ {4 k$ @$ H5 n6.测vlink或hub-link v, q1 B( L3 m' N$ s: T. R8 L
9 d/ E# {! }" ^( N 由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。1 d" x/ [# l/ Z; B
3 ~7 v2 \& p) K8 |4 `! F8 T5 t! H0 a4 A/ Z/ B/ U7 I
7.测host bus
# J3 M; p; |+ P' b; W; i7 w( u+ I; z8 _8 k, T5 L
开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。
( L. E, h. f- c% n6 h
" I! q; p; Y U- n以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。" T; X0 W9 f. G; R4 r
+ ~" @7 L* `/ o, z# V. I! P7 Y; D总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了
# L6 f$ k2 M- ^# I' e" F# b1 t/ k' L* D' N! O! z
$ k8 q/ X% U: L' i5 P5 m; e短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件 ; S A8 e0 W5 }0 |
4 G8 d2 ?8 M) F1 l还有就是英华啊,我从版主降成普通会员了啊 7 A0 Y# W5 M5 ~1 \. @ S. `
: Y9 T8 A; E4 D. R( W, _: h/ ?
版主要是不泛滥的话 给我个版主吧
. b) o o v, v5 P% \ |