本帖最后由 领航科技 于 2011-10-3 11:19 编辑 1 y' p7 v, _2 Y; A9 J9 p
8 _# a* _# o J# ~* `4 O
晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的" b) j" {8 H V! ?1 s+ H$ J2 W
' u& I+ x7 D# H$ @* ^/ x
换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。
* W+ [. K3 F. c: I; ?4 \2 |4 Y3 L! Y4 q. S1 ]
, @% y5 r: h, Z0 Z# D, q8 |+ I2 w4 D* V1 B4 q U# ~# i5 L
不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。
5 `1 \6 @* m) C- ?5 F0 q( Q3 ?" t/ B1 }
8 F) d* ^8 V+ |) m7 r: Y9 K8 _9 {& w8 Q2 ?# ^& Q& a
1.要想主板跑码就必须得先测量所有供电,
7 k4 c J0 D1 `& ~# Z
: a: ^# L; C$ y$ H3 q( u- i. }/ m, F假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。8 ^! p0 _, B/ Z9 v" B( n
' w* D0 x6 o8 k7 K+ R首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。
% A' k# _9 O R( h/ W) f5 t, }' ]% Z9 c& m
2 k( {$ z5 d- @1 N/ t
, v, U9 S2 W D: [; G6 k7 ?
2.测时序信号' b' Y1 h# n1 h; `
# h) G8 z4 O$ v0 n( t 量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常7 \4 N/ x8 g- O$ G* Q
7 r0 C: E6 i3 B# V( n' \0 W0 ?8 G' q; c% B
4 O$ I, }' r/ Z
+ t* a9 d! s- f7 P Y3. 测bios地址线4 x& h! M `* w4 E$ J( [
( q; U( P/ i- |5 ^3 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的地址信号动作,则需进一步量测上一级总线信号以判定是那个总线上的设备有 问题。
) V4 O1 r8 @( z# m9 ]
; m4 ~4 \2 y+ \8 m6 p注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。
, u! w3 E! V5 s" I5 ]7 H9 U! L, ~7 O$ I' c. K( ^
4 C/ A) m) V$ I3 B. Y
6 X; g z) G. F% U6 ^
/ F) g2 V3 S, a: m4.测lpc总线; M* r7 F; S' l; L% f9 k4 I; S) u
* O7 \) R1 t' A9 r X 由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。
8 L* ?, l( b! l$ i- h' n2 c! m3 {* \: C9 w+ K
* X& c: ~9 K/ G# L1 D C3 _8 n
7 o V9 q* H$ c+ [9 x5.测pci总线5 g, ~, x4 U" i$ |/ J" a
: f% K9 X- n6 |9 M
通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。
7 r- V$ d- W8 f+ M9 @8 U) D3 m: g. \% f( I
& }! l/ [9 N) G7 |) M9 w4 Z6 C* C
K* A9 }; v7 F# y; |6.测vlink或hub-link
7 Y& q g8 }6 G0 \0 |$ e. N9 n! u7 ?6 M& `3 u! P
由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。
; l% q0 v9 {' t, P# f. ]
8 x' `; {- J5 F- [1 C! ~- M; n! h# a0 @! z0 p
7.测host bus
* e# G$ A6 E% u; M- [1 U/ n
6 W2 A" C2 h; E' R# `6 ^ 开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。 4 e7 r1 S- `1 G6 Q9 C
% N5 R, k9 A. l
以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。
, c. j! D" k: Y" u2 u
/ T1 s0 O- o4 c/ A. u总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了# V. D3 I$ z5 N) f: P" M# {" f& C
3 L- c; `9 X3 V! ~! e @, u8 X
0 t- ]- X$ [8 m短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件
; J" X' ^0 p# A2 M$ P# o$ f+ C3 n5 _( R" |% a9 h4 A$ I* m+ Q
还有就是英华啊,我从版主降成普通会员了啊
; @8 N& G4 X! E O% Z, R% \( I7 m+ f. Z1 j) b' N3 n
版主要是不泛滥的话 给我个版主吧9 O) Y& { X6 T G. M9 Y5 I
|