本帖最后由 领航科技 于 2011-10-3 11:19 编辑 + {' {5 c! y8 |/ U
' R, G5 M7 \7 ~" F
晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的& n G9 E5 y7 a
0 q1 w6 N! Y! k
换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。
1 o& i P- C3 e3 D( R, F2 D
5 t- Z' p. c5 H6 y ( r ~: F& O! w9 P
# h. E( _9 g. K* x
不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。
5 K% n& r% K$ S
8 _& X6 S/ e# |9 @3 S, i/ J
0 Z) A# A) U9 h! ^* z8 V- _) Y- t0 q2 h- s
1.要想主板跑码就必须得先测量所有供电,
, z7 A, ?& k$ j6 O. V" h# t+ S! w9 d: Y$ t; e( I# h1 M
假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。5 z* q/ I( z- l4 C
( U- _( S) j: y" ~1 [, s首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。
2 X$ G0 h# `5 ]; H2 L9 F4 T! j% H% S( l
! `% X+ @- i1 a8 s/ i8 ~2 z* A0 q$ w' x
2.测时序信号
% \+ P; U# @/ |9 }1 R; n6 y z& \0 o, N* m( r- ]
量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常
0 B; C# I4 k" }/ G5 J, \3 }7 j8 W
* ~7 _+ K0 [1 w4 l' `# o/ L7 K
4 X4 b3 k8 u: }0 O' w. C: u0 Z% o3. 测bios地址线6 c0 G5 J) b, |7 m" q
9 G$ n/ k* F6 ]: J4 |: y- [) X
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的地址信号动作,则需进一步量测上一级总线信号以判定是那个总线上的设备有 问题。
- W" W# G/ ]/ f: ` O$ U5 p. ]! x. U0 V$ [( ~4 w
注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。
- K7 \# ]- m `! @* X5 n: z3 z5 T' \! s4 K. D% f
) C: D; b5 ?) y, t) L
* Q9 \) C8 ?% _, f' ]2 Q; R* ]8 V9 p2 w4 S; w3 W
4.测lpc总线. M, ^2 L" Q0 B; K
- j$ x, |. P ~8 m
由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。3 ]# I- `4 i( m3 M+ m( h, D- h
4 _2 G9 p% h e6 Y+ `. B
' @/ N! t2 G# X& Q, N' `; a% `1 n9 o/ l# K
5.测pci总线 L+ [+ |! J! ]$ u
T- I. R7 P/ c* C2 X
通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。
9 k5 W4 ` D U, x, |4 N2 i2 `
. F. j( z8 m: \. L
$ z6 a, E6 g1 Y% T: [, S. s z* `' i% o4 p9 j g: V
6.测vlink或hub-link0 X0 _7 a% R: M- ? ^; N) j
7 R0 q. A9 U& _( ^( I/ t
由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。
# a% ?3 {* i9 v' j! R- `/ |, H# G) `5 x# i; d8 f5 k4 R
6 a2 q- d7 O6 O; W# m& F: z7 ~1 k7.测host bus- w# n+ s) F, l: `$ G! F+ v
$ n/ s6 q1 N% I& i, E1 N- D B 开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。 ) K% F! E; G6 f6 F7 r# U* A9 u
* I9 I; _) a4 D$ K* I4 Z) G以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。4 k; h5 Z- a0 m. h
7 j2 P/ @4 g9 ]: _总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了
5 ^5 y, f8 Q K" s3 e3 t/ Y+ @% N2 `1 z
* m8 V: k" H' k1 q
短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件 & V7 L) C- [& g
5 j+ X. u ]6 \* e- L4 C2 t5 o
还有就是英华啊,我从版主降成普通会员了啊 4 X5 I2 c9 S% J- }& T
! n5 V# H, ^! f" ?, d$ X) Z版主要是不泛滥的话 给我个版主吧
& ?, \; E; H) H! p# {: c2 M |