本帖最后由 领航科技 于 2011-10-3 11:19 编辑
4 ]8 W/ i3 _9 j& |! n! t; @# s) y" c; K% I& J% \+ @* B/ M
晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的
! d1 m5 a/ _. ^4 M; Q3 V7 x [2 y: \0 ^' ]
换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。
4 @9 p8 \0 m" l2 @9 C ^
! v7 v+ D; P: z4 x4 S ' O4 M/ {. g! w5 j% ]! K
: T, k3 ^; p4 b, ]不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。
1 Z! \& w9 `; a5 l9 c1 x0 I
e$ {8 _7 Y ?9 J
: ` U( ?( x0 s+ d e
4 X5 N0 U% V7 W6 t" N" W( K1.要想主板跑码就必须得先测量所有供电,
* i: I J+ E" `4 ^! M4 E. ]) i; _ ]1 z8 I5 h6 Y
假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。$ g' _$ d! j) q( Q6 q4 c9 b
( L- }; L6 F' H
首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。, _+ a" _7 W8 Z
0 a* o' r. X& `1 H $ |4 q2 E m* y# S2 u9 ?( \
, V/ T2 c0 ^- u* u3 k ^! i2.测时序信号7 |. I9 T. A, U6 m4 \2 |
, m P. k' V& B5 |' A; F 量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常# I+ ?4 [, j L E/ P/ ]7 W3 F
0 W8 ?+ L: C% k5 L/ g* v
; I0 z |) r) L) Z& g! L
) a z! d9 J2 Y! v* X7 X3. 测bios地址线
% u1 q( G4 t' }' \' _7 s) E" i% Q' D) `: }! g
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 C8 Q- Z- u. Q" d3 n4 b
$ V- Q5 I) t3 w$ F" _" V2 L& [注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。
4 n1 p L& \% ~! m8 `3 w, f" h
4 W" w0 d" ^/ h1 }* Q B
0 J% ^1 t e8 ^, A* ^0 d. z
" w- v: f0 ^6 V) b, }6 }: p2 y7 H4.测lpc总线
+ [; M" Z( K# Y' e( H, R8 n, z7 K" W
" y* m8 a( f$ Q m 由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。- u F. u1 K e& [4 H; k
, R2 \) A4 W5 j 4 |* a) P2 {+ n0 g
7 t" P C! w) r8 K, ] r5 G
5.测pci总线4 G! ]6 t1 o0 E2 j$ S& ]
2 {' _' c) M4 T( \. O
通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。$ v$ }" v% e; G* ?9 k3 E+ N
# m+ z8 i' G, ] 0 {2 ^) i3 _& D
) f& D3 }! ?5 n( E( Q" @) j6.测vlink或hub-link# H! q% ?; Y! \/ e
% V0 w& |! T: l: [
由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。" D" i. b y8 N2 k
" f+ E4 G/ o% n
: Q8 |) F7 o4 K5 B1 U- N1 J6 C2 |7.测host bus0 X+ ~) k# |$ o$ J. E
X q& k6 u1 Z6 X3 K
开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。
! O! G3 @8 K% D- w, R: v3 k( s0 }8 N$ M7 K0 W
以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。" M% C, i8 d5 A% y
/ m e9 a9 S% L: i总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了. C6 B. G5 M7 }" H2 \
2 |$ t8 ?" U- A& M: N' K
1 @+ E: @, T9 `! c1 o& B短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件
8 J/ @! h( f1 |2 G9 D2 |' T3 c+ A0 @) |' z8 I9 l+ x- A, X
还有就是英华啊,我从版主降成普通会员了啊 ; I5 `! X$ u0 D+ N- r+ l' s
- \4 h6 I( N% T# z& s2 }$ H版主要是不泛滥的话 给我个版主吧
9 Y2 j ~. ]) N1 E( O |