本帖最后由 领航科技 于 2011-10-3 11:19 编辑
0 w8 y/ v6 X- j( r7 g, e1 \) }% n5 g4 ?
晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的
; W, s# O2 p: O
/ M0 W9 g( ?; F/ S3 ]8 v换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。
& j# L& u& l! Y k. C9 v4 ^9 ]# z6 @9 f1 y7 p: ]( H
% \0 g% U6 i9 H) G
+ d" F: |- k: @% ~( O, ?% I
不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。- u6 l' Y; w$ W: b2 b" A
2 u# ^, ^& Y5 A/ S% Y/ x* _
0 z4 }7 {6 a* Z) v/ s6 b) S
& z0 S/ L j9 \/ [7 C2 D8 [
1.要想主板跑码就必须得先测量所有供电,
9 A7 Q4 Z. l7 _3 x2 V2 b9 F7 t1 i
5 t6 |5 N5 B) D3 R3 p, L假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。' a/ E+ h& o, j$ f
2 g3 b- e6 W* {! o9 O( D
首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。
3 Q6 S; Z+ c# n+ M& t' R! f/ h5 o& Y5 G1 M5 F8 \' V- e' V. R& c
% r5 o% c1 j& i! J; j5 [
# _1 C# [$ ~! t$ E t2.测时序信号
9 Z. v* z2 s8 q) k! h4 B* P1 l* \
/ m0 {7 M. D' W1 X9 d4 ~ K 量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常
0 m7 b0 R* r& w
) p2 g& j- P- c
- O* H: [2 j0 `" K3 n& i
% n: h# f3 K {, n( x9 d7 S3. 测bios地址线4 g9 v1 P3 N2 G3 O& g( S
- n2 L% s0 i% ~7 T 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的地址信号动作,则需进一步量测上一级总线信号以判定是那个总线上的设备有 问题。
% V @6 X: }% \# k3 I7 _ R- R# {/ ]' P) [6 N5 `# X
注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。
4 R0 ]& S* ^. l( P9 t
# u5 Z* T8 g0 @) t, x) D, @% `& D7 h9 r( P
% U+ S* N) C6 q3 _7 l
+ t3 a& w, u- |1 }( N4.测lpc总线# \7 s7 X1 r+ z" L
, b% s2 d( y+ X/ H# @; N
由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。8 q' L8 P4 M8 A4 C; V6 C
! N) F( _( v5 Z' E" M! q
% f: S- a# j4 L! H K4 j" w% [
2 k. t0 Y( D% Y5.测pci总线
. x! p% P1 L0 W1 o% i( _- _4 b' X' ?
通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。
2 R5 J7 ?) F* W# @7 Z% [4 l s# ]. \+ [ v2 w. T0 X
( f3 k% i- V& L" z2 W
# m) O6 }( |) ^$ ~6.测vlink或hub-link
7 M# H' ]' y' _% h6 p- d
9 `1 g, K. i. X7 C3 ] 由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。3 }$ g; R2 y! R, G6 C2 W7 }
0 F2 ]+ o* U/ J9 `0 j- H8 a; S0 S5 e6 M2 ~/ P+ G
7.测host bus! P% ^$ B6 C* `2 V; `
! p+ H" s; _( H/ D) M/ I( D
开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。 ! t6 r, {& c7 |! j: ~
+ B6 E+ r: L, b2 D# D以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。
# n/ A% g! t1 E' D
. P7 `8 d$ N! m总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了* ^$ Z& v2 H/ D% C9 m. \! w
' z4 m. Q# ?. `! y* q' p
5 j) R! [% y& c; P短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件
) q/ J) t* }: _3 p: R) v9 h. p0 x; v7 r1 t+ b
还有就是英华啊,我从版主降成普通会员了啊
$ w! G% n+ F3 T, w6 l# z c. {" v7 V+ V% o( [2 X
版主要是不泛滥的话 给我个版主吧9 v' F& Z9 v" i' }- i( _. M
|