本帖最后由 领航科技 于 2011-10-3 11:19 编辑
" B% E+ `- S2 q3 V; s
0 q3 v U* D, g晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的
& N( n# g J0 h$ `( y+ N5 b" \( f8 s- N" U) m& _% p: A( g
换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。
1 o8 [9 c- \" v: }! x. X" Z
) q$ W1 [! T8 T; U5 H7 u
. p* O. m! [# G8 n% r$ Z& s4 r9 C% L' F$ c
不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。
/ h6 w, w. k$ C' \
}8 `4 X8 J/ w5 a* h
0 e+ L9 w8 ^- G I& v! Z j& k( ] G' o, m8 P/ E
1.要想主板跑码就必须得先测量所有供电," ~1 H5 E: `$ k+ r9 r. v7 q
2 l, b3 k% P3 k n* A+ s假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。
! Y) b% }% Z# e4 B. F$ g5 a9 D, x
首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。. \; o2 P5 R' D) H
7 u* t( H! W. L" L5 k1 N . `' i) e) F4 }9 O2 [1 x" W3 r
& U9 u f' X: b5 @2.测时序信号; ?! N" s9 ?/ R! y% a% s6 ~' x2 @2 Y
5 Y$ b9 b- n6 u' D
量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常( w5 D8 M3 i9 K- i" l, G
& i' a9 O; i- S" h& g( \. C + U+ n! h2 M: R4 P1 [
6 W7 L/ N2 ?; q- l' b* m
3. 测bios地址线
, X) K. g4 c- {
# U; D( e& k- S& ] L* ~ 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的地址信号动作,则需进一步量测上一级总线信号以判定是那个总线上的设备有 问题。
' h h% Z! ^$ R/ A3 y2 p3 k
. B4 U: r* m J注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。 5 B% }6 f! F) P9 {, e
0 B6 M- U+ f/ `8 _' B3 k) |8 c/ ]0 n5 t7 {8 ?
: S) ~$ s, N* _& |: p, Y* S
. u4 T. [2 q$ U4 T3 ^( A4.测lpc总线( |' h; ]; b- d, h& L
( x ~! \5 d/ C7 ]- | 由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。
4 w+ B! a y6 o" h$ x" I
. D- J& p$ M0 V# X2 j7 M/ D
; h6 g& P9 t3 H) g' x+ y2 R# |( {' a2 J
5.测pci总线
: _, V7 }! _2 W# {0 s" d `9 b( r0 V4 `
通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。% j2 S3 J. _- y1 M; d& N$ q( H0 q# d
* o6 v- g9 Q3 B7 S/ @
' U) Z7 W3 y* [
6 A) {4 ~" K3 X- ?3 D1 M. Z6.测vlink或hub-link
3 ^6 T) r/ I4 W2 j0 d: t3 Y0 i& Q; e- g! @
由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。
5 }0 ^. C# O. A- W1 X, n6 [! P' L; I$ X7 J8 s j6 q( L* x G8 ?
7 s7 K: l2 s" i: ?7.测host bus2 f, t |8 P& T/ p! F8 q3 x
+ i+ k! Q4 y1 R; q2 [ 开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。
, b& V! T8 Q G
7 q7 }3 U" s( o7 K/ |" \以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。2 \ c7 a: W3 i3 l" J% K
7 K3 i9 {5 X* J. q" ~. y
总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了
4 f$ |& I9 U+ F' X3 T
7 |# F. n, e3 S2 s4 d$ S7 T' u+ a; ~/ }4 s2 A
短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件
" C1 e- j/ f4 q9 k0 U
5 v4 ?5 Y' z9 p* o* A1 U还有就是英华啊,我从版主降成普通会员了啊
( ~# Z$ |& D4 }4 G( y
1 F M0 r$ ?0 N6 J& T版主要是不泛滥的话 给我个版主吧
0 c3 e& |( V3 K. I" \) |- `; w |