本帖最后由 领航科技 于 2011-10-3 11:19 编辑
5 u+ C; @. M. t7 D1 U. c
( p0 w! `" O; G3 Q+ c1 y* s7 h2 o晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的
3 h5 u) m2 M( o
7 r, y% D2 C5 Q! K9 L换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。
" q; m, m3 i. S' |9 M
9 f, u! b0 w/ b2 e5 c" e% b0 q% W ( `" T' f$ @" F, G, d) ^9 B
6 c3 P" A y" h4 m0 \# ^8 [不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。
# g6 c/ O7 @$ G+ p, D g
( I$ z/ a3 j3 E% E
( j0 f1 _' m2 c- E) x9 { x R1 B, x2 u0 ]' r
1.要想主板跑码就必须得先测量所有供电,
; M2 `5 R/ O8 t5 K
' E4 e/ ?. N& J! P. ^4 g假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。$ [% M; F# g7 R6 x5 ? `9 f: [2 U
- e6 w+ E5 c, Y/ q$ _ }8 F( u
首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。6 l- F$ |( _" T# W$ P/ E5 W* d
( r' h- s% q' a2 A$ b/ F! n
4 B% m$ L! e/ _8 z6 p+ N6 Z* ?; n1 }1 h& w$ q) }
2.测时序信号8 \: c$ f5 V- q5 t4 J6 P
: |, I; b: e+ J0 k& X0 _ 量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常
! u) O% m9 x1 }. s; ?! J) q
6 s/ P7 _5 p" |' B$ E$ ?/ }
- c& }6 k) l( E3 J
2 }" ]+ f" ?& m& N3. 测bios地址线
3 j; N3 b- c2 k% e
0 V O8 ^! P- S 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的地址信号动作,则需进一步量测上一级总线信号以判定是那个总线上的设备有 问题。
9 b1 _% T, F7 D" y: @& l' f6 I A- G5 |/ `, |4 r1 ?" s
注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。 6 |- y% z9 ^5 E5 x9 v
# X! F2 \' y" E4 |8 h
. i$ w! l1 N% s( i$ G; | ; Q- Z& L9 q2 D' M3 ~, X7 a
: `/ D) m, O8 a) s
4.测lpc总线6 e" o: b: ^0 m ~( U4 R' r4 Y* {+ P
$ _& I6 `* q) N 由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。4 [! M9 W3 |% \8 K; i1 Y
: [7 k' s0 }* t) i
( _0 m# S0 [, I6 [( n2 E5 o- m" X2 \8 l
5.测pci总线
( Q0 L% _/ V: S- h' ^; d+ l, v- j$ {6 s
通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。
2 G5 P: y$ R& d1 r( M) [( k; C# I! R. X X! Z, x
' w0 d0 `1 `$ P# K
3 j6 F1 d! H# {+ W) y' z+ C! j5 x
6.测vlink或hub-link+ `5 O- v8 D1 R& Y% ~2 ~8 N/ a
/ O5 M0 \7 X G: ]( e 由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。/ m% ?0 h# J' g7 D; c w" F# c- E
! w9 x0 a! |8 I# f+ D7 b+ H5 p) B' f. a, _3 p
7.测host bus
+ b2 o: `. H0 y4 b* R1 a3 U+ n* a4 S8 S0 `/ R' O
开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。
5 _& z' l, u" L# J: D
+ w1 A W6 l8 Z/ r% E' _9 l& e \以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。3 z- v: S& u, e
7 O' I' L2 h& H/ T3 Q4 ^7 l! j总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了
% p3 T% I: ]. h- u! o7 K9 m8 X; X$ p& c
- w8 r0 t3 ?. E2 _, R1 ~3 Q; T" T
短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件 ' o i* q/ K {- o* u
9 X* A, R- O3 D5 f还有就是英华啊,我从版主降成普通会员了啊
+ c: | d2 c+ w1 _
5 t. N* W/ F( V0 ?% W版主要是不泛滥的话 给我个版主吧
8 Z, l3 t+ V7 E f# `, e3 R |