本帖最后由 领航科技 于 2011-10-3 11:19 编辑 ) z8 Y8 u7 s7 i9 X% w. E
6 I/ H. j. V# T! t晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的
1 Y2 |6 H" F: N, T9 z) @
3 o" k6 y6 r; s g }, V换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。: W/ q% I: @4 S7 t# ^$ J! L* q4 D
6 W. g# U2 O K, l) `0 P' g! y5 j! \
- e% V( g. ~+ K6 Z/ D. O3 Z2 z! a# d: A) Q8 I. r
不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。
' f3 z% x- N0 h' ~$ Q3 J5 I: d6 ^9 u4 d9 k7 r k0 T% Q, J! {
' i. {/ Y- B& r! c: b0 L9 }
( w& d& u3 K; ^+ R" c1.要想主板跑码就必须得先测量所有供电,4 [9 k, d# I5 v4 ]% O
2 I. m( V3 ]: u$ S6 F$ {; P假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。
: g) y3 U, C6 l* p% C2 k) A. O4 c3 j2 X0 f! K9 `
首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。
$ T" I5 d9 P( R% V
7 z5 Y r/ V8 `! p! [' b% p
% ~6 s, K/ m9 q# H7 f: w2 \6 t; g& u7 n: X
2.测时序信号' ?" b/ e1 z8 G$ D, J
! A* a, J, G% }- \
量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常
) W8 ?+ t. I# y; I) A! A; M* [1 @& E- ?
/ r+ A- ]& B# v. N% z8 |8 v
( \- u0 N. ?4 G% N$ J! B3. 测bios地址线8 p% z! n$ ~0 @ r
& t2 v; j8 m- u/ }, |0 w6 J' D
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! g# b1 H' _" f8 J+ A* ^
' q; @6 R) i# s& ^注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。
- m% i# `0 D0 A. t
; G9 F0 D8 q/ l p, e( Y: Z: b
( P. B: u }3 l7 ^/ L$ ]7 |* z8 S
, Y: R5 t& o+ x; ?2 Z9 D; V! f0 j, a& T% C. S0 ~
4.测lpc总线
w8 Y% l- p* {$ u/ n
. l# h, V9 ^& j9 {7 Q5 \: V+ r# t 由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。
- m) D w( b. f8 D1 X0 p9 `" @" b8 i% ?1 ^: r5 f: |
8 N6 [1 @; m) i; L" f. H7 d- O9 P+ R$ Q) Y2 R. W
5.测pci总线
5 G, o# }' K- m+ s. o3 U0 @! O6 U( ~5 R8 b8 Y
通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。( R* r3 B1 m2 `7 I4 x
; O' q8 h2 L0 U& q, W' [& [" |# k
. c- k0 _6 N5 x$ U3 u$ O
! v7 `8 b% y8 z$ y9 V6.测vlink或hub-link4 G) R' Q, x! |0 [- Y/ l. S
4 ]. p- A& ]4 ?
由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。! g2 v" ~; p! D. e# u8 Z1 X9 ^8 _
) z" Z/ Y& C- k) P* K
; O D+ o8 G4 f7.测host bus x+ ~, U. u# t, C6 K1 m
# d7 Z; |" ], ^) F7 q1 O8 r3 _4 I
开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。 ! k% {+ d; p% V9 h4 w) @ C
, @0 J# |" C% K2 t以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。
* ^9 Q ]8 ^! g# C1 M' a/ ]
& ~! f6 @0 D& K& D0 }" o总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了3 f4 [# ^/ \# t8 e* v; @
9 @4 p/ w! T A) J0 U1 m, m) a& h
0 f+ p1 C2 C4 O/ U. i0 \& S m
短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件
. L& G/ t9 D7 y7 F& T
1 T3 o" N- V$ p9 d还有就是英华啊,我从版主降成普通会员了啊 $ b* }, B' Y9 P$ H: R( ?! a2 q2 i
. `; k+ |) k0 ?1 Z+ c
版主要是不泛滥的话 给我个版主吧
3 `& q* f8 ^, z; Z- v$ d0 a |