本帖最后由 领航科技 于 2011-10-3 11:19 编辑
+ `7 E: h; T* v5 Q- ?7 y& `5 L2 g8 q& Y4 N
晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的: H Q$ q& E7 f, M. O9 p. u; X# u0 @
9 m. B% j" D5 {* Q- E4 i+ I( G换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。* C3 H$ d, b2 a! h% G: h2 S
+ {$ a/ x4 g( I: E& |$ I+ B
4 H3 q0 s+ q- J4 a+ d* M: B# ]8 Z) w y5 a) @% X) s) A
不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。8 S9 b* d; }& h% ^- \
2 K1 B4 i! ~$ r" J
' d& B E1 H4 i9 D; d4 T) q
# e/ ?6 _7 `( |6 e# A7 b4 b J. |1.要想主板跑码就必须得先测量所有供电,+ `) m. I7 \# [, D& X4 H; p
( b3 I5 ]% b7 \3 [# E假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。
7 D- i+ ]8 L! S& f# G
; m5 @& l& @8 S: F首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。
$ Q, [8 y, q& t9 n1 l& \' v9 E. T1 m4 W4 p
2 S+ E/ K, `# C9 `& H" |
/ n+ y" y. Z D! v! L3 U3 H& F2.测时序信号
0 n$ l' ~: v9 @6 k& U" j! Y7 W7 ~" F$ I8 k2 H0 t0 ]: d- p
量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常
4 y# e0 k# o( {- R6 p1 t- p$ b6 g3 l% D/ f4 V% n: d8 D
' ^1 F$ b+ p5 s- a/ K q: h$ |* U+ m A% S
3. 测bios地址线
X5 b9 W. G: }' ~/ k
" D$ t" g% s) ^1 F$ T$ T 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的地址信号动作,则需进一步量测上一级总线信号以判定是那个总线上的设备有 问题。 0 c1 ~% i ~2 D5 i
7 {; T X& u. V8 N, y7 [4 e
注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。
4 f# M6 H& F$ P9 S
4 D O1 h( j% `$ O$ B; m) z# C _4 m
" n8 P, G) O$ o- }( m. p
' I, g+ p: \$ u3 O4 {+ \9 w
4.测lpc总线( D; N, b' i: ? i2 H
% P7 l5 t) k* ~2 V3 L* U7 c; _; q- a 由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。0 o, V& V) N5 H% i! F3 G
* _$ R7 u) l! q! t# W) G/ B
2 O& {: ] R' p9 ~
: Y% U" N4 Z# Y6 x7 g( Y- p$ x5.测pci总线
R$ [6 \: J0 B! n2 E, S
) o) r, [% L2 M' n# D% }, K& I3 }1 ` 通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。: w; w- k8 `% M* y+ ^
) e% v9 P8 f# k. o. B1 [! X$ h& t
8 j$ v/ H1 @: W# |6 p& U
" }5 L! E' P* U# ?6.测vlink或hub-link
+ [: i; M5 ^+ l% Q' n$ c0 j; p8 _6 c" { [1 j
由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。
K9 n3 ?5 h9 r
# ?! ^: ?1 Q" j2 ~ t( Q' ^- S; S. H) V! }2 j
7.测host bus
! _9 G/ M" z X8 x7 U
6 `2 Q% v) \( b/ ^ a 开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。 8 Z! f3 R: ]3 y
0 m3 J+ s8 I t以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。
/ t( k. a+ H& n& k5 [+ w
, A! _' V: ?, D! t总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了! I; e5 R+ ~; ~2 Z
" e: z8 w) }) V/ w2 F$ o
: F( ^) F! {! ^3 J短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件 x) l F) J" D9 t
1 h! ~. B4 P$ n; a1 ~+ a5 Q h
还有就是英华啊,我从版主降成普通会员了啊
# B5 h0 i" D. I, F& o- n2 j$ `; a! I% m. \! z9 g1 g
版主要是不泛滥的话 给我个版主吧
|6 z2 H! ?, w' K- E* X |