本帖最后由 领航科技 于 2011-10-3 11:19 编辑
9 X0 N' Y4 ^( x4 [! X) O% }
7 [, e7 D; q1 ?0 D. H晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的/ B8 M' b V$ x$ A& W
' M& R4 }* z) l, C+ U换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。1 ?0 F- j& n# n" b. G" z
: W' P8 O& u3 g7 _' y" ]
! w# S! ^' L, @2 S, k/ a" I1 L3 }# M5 \' q
不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。) ]: H- N! |- l' P: x9 D7 D
3 c o# Z9 W8 \3 }
- Y/ e, E9 T6 i) r# q" y( {- ^8 n' {/ ]2 |1 X
1.要想主板跑码就必须得先测量所有供电,; T0 x4 p3 @) }1 g3 b+ Q# h
6 F" A0 U9 ^( a7 u1 B, t
假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。
* S. x: e3 d* d) e3 Y6 _( j/ k4 L1 p: ~, l: K' h [
首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。$ R' {+ X! V7 G, w
, ~) X# k# U I5 ] 6 p5 x/ d- Z% n W7 i
# n2 `- R2 X9 ~0 v
2.测时序信号
( |. C5 H2 X9 N* j; e* c* S3 p1 m; d, h0 z4 s
量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常
+ v" D7 k: C0 {5 w& B- X8 ~+ r
7 E* |- ?+ g! ?/ @8 m; K # [1 @$ g: |, A0 G2 r/ g
; ^5 K, S3 K* z& _3. 测bios地址线
$ B4 E$ S7 c' w; p
( m" j4 O2 \6 f1 g+ C2 X. q 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的地址信号动作,则需进一步量测上一级总线信号以判定是那个总线上的设备有 问题。 & q2 `! U" M( j
* D; Q/ U6 a# _) w- X7 R
注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。 6 D0 d5 Y3 {0 C, t5 z, ^0 U
8 J k# X$ b- w- C3 a& G, @
6 L' _: b& x% U; U% B) T T" L" k
" ]. y& ]$ ^+ j9 @ x# s1 Y
1 T# i8 M7 K& x ~1 T4.测lpc总线- i. U+ }6 x( x" [
3 g# F: Z. z8 }8 ^; V 由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。2 ]( o+ l; k' r! _; A$ z
% n& Y1 e9 {9 k, [* l1 `. b
) G$ m2 L' @4 m6 U! u) f* q, G3 I% D% p3 \: C
5.测pci总线/ B( `3 L4 P1 `1 m8 r
2 w# z; V, Z) ?0 L
通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。% x. U" z9 f, D8 N- h, h* m% L
V( j8 C; ~) R$ D- Q0 l
* i3 M" D/ d7 |# k& k/ H' z% s4 B! p7 m
6.测vlink或hub-link7 v. l% ?' S! U5 C3 t- ]0 Q! ?$ A
. r; i( ?7 Q+ M
由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。4 }; k. T2 t: ^; R
1 Z @6 B+ ^: I# M2 O4 @
9 d( G' G, k" ^+ v7.测host bus
: z0 Y7 f- n/ X( w6 _" ]# A8 T. z K4 o' U* m, F
开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。 u+ n" }/ H5 c) Y3 ~; a7 B
A% W( B6 V% U以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。; I3 m$ W. O3 w' C
- B$ P W0 K7 x, I0 s& n
总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了& a/ h7 s4 c% X
* S4 M! m$ c) V4 W/ ]) ^ [
) V$ h) S2 N; f短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件
) Y& ^ z6 y9 H6 P3 N$ i
6 Q9 p9 F a5 S+ C, L2 @% M' O还有就是英华啊,我从版主降成普通会员了啊 ( k- o X0 {( m$ G
+ o7 |. w, q+ J4 I版主要是不泛滥的话 给我个版主吧
3 Z4 D3 S/ B4 |5 c, O |