本帖最后由 领航科技 于 2011-10-3 11:19 编辑
6 P% x, q r' p* g4 x7 m1 H/ W+ E" r4 y5 D
晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的- x1 R3 B9 w" k, a4 I
. Z' k, A6 Z f* v/ M+ s/ k# y换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。8 |) x5 T& T9 ]
Q" b9 Z' c% j" v' h ! _' V/ F( d! n( i
( g/ C0 V* Z. n& ^6 H4 d: l不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。
& X5 v5 X4 C6 a/ A7 R* O" k2 r4 S8 m6 ~4 _
4 M) d& n- |" j: X& c. i' C# [
' I0 c3 \, H( c8 `! ]) w1.要想主板跑码就必须得先测量所有供电,
2 m) \4 Z1 b/ Z: J1 h& i! t3 M
c7 H& s% s5 l8 J假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。
9 ?0 z6 b. e2 Z0 U
0 ^, C7 M! O) d+ T首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。
0 n+ @! \; T" ^( E8 o$ y9 Y1 |3 y9 H1 p' F2 O0 j' o o! N2 F
( H6 N- N) a& l7 y c3 @6 i% d2 d! Y
# J( t6 N$ Y* c7 h" ~- n
2.测时序信号
- k* Z" K& Y* c! c/ S' q- B$ f1 ` q/ k' R, ?' @
量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常, K+ A, l+ D* U1 |
# B# q- u0 j# Q2 n+ h
2 b6 p% B) B+ e9 p$ W" x+ V
$ P, P$ M$ ?: H+ a3. 测bios地址线
7 R# O$ T: b M& D* Z' [, C& m9 f7 y" d. O. T# L( |2 |
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的地址信号动作,则需进一步量测上一级总线信号以判定是那个总线上的设备有 问题。 * ~( b/ U3 D$ ~8 _2 ?
2 r3 N3 h4 Q+ M3 Z. H; z注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。 7 w: U$ d& ]7 n( \2 x1 N5 ~- ^5 S
+ P0 ?$ b5 y' v7 ^0 ]
' n- D& I) y# F
# Z3 M8 {# @, w0 q |
; J* j8 V( v4 \/ n; ]/ A7 n! c- m4.测lpc总线
7 h0 X; q" c+ R3 k5 ?8 X" [* w) C' o4 W7 s. w4 V( l
由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。
6 X$ Y$ ~9 g* m, D5 r, `# K
; F, ?8 X& f4 K* ]. D) i! C
2 b9 s5 v4 F. |& _0 J% [+ v% x
: K, s. N% d% R, D" {5.测pci总线0 d; j) }# V1 @5 x" I
4 y) g, t5 r' A( V4 z- ?& N$ r! j 通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。
' K% S, M8 X6 Y" e/ q% b) s' `3 l, ^2 W w6 G0 H
- c/ T# f) D( Z4 ?# k) B% k. f4 f7 j$ x" ]
6.测vlink或hub-link' J& M" @+ v# r% @ X& T0 |
$ g* w, r0 m0 @, Z7 n
由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。
) e6 Z9 N7 z8 e4 q& ]) y1 ~. ]$ d. s) o0 w, i. M
1 ~0 I/ r; P. b4 n% \/ D0 G
7.测host bus
4 |8 U3 ], f+ G- x8 f$ Y7 v+ W0 ~, E; y" [2 ]. |
开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。
& q7 K7 G5 W" h
. b0 l0 G5 b5 f, F6 k: v. ^以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。
, p9 ~" ~3 A0 R0 X
- o3 m7 Y# ?( E总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了
* B/ u m7 N R9 e, S3 L
$ z" S u! O8 H$ H4 j6 Y
% z) W) {3 ]3 a0 ^/ \+ n5 K短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件
# R& \5 Y: _5 e0 Q
" Z0 ^5 y( l2 x1 T) x还有就是英华啊,我从版主降成普通会员了啊 3 x) b4 w6 I" f4 E) {$ H
f, d. A6 q4 d! `# @版主要是不泛滥的话 给我个版主吧
* a* K( Y8 K% t/ G0 I |