本帖最后由 领航科技 于 2011-10-3 11:19 编辑
( O$ T. n/ K; ~9 q, e# Z
: [+ f0 }$ I' ~% R6 r5 j5 x5 k晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的
5 w) o' Y+ l, Y( S' N
/ l7 O( y7 ?' i" Y换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。
& y/ E8 [0 O2 t' Y+ j& `# |9 f; \5 T7 F
# V; n$ j) Y$ g6 b+ b( j1 X; }* x& L3 E' @
不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。- R( n% {3 o/ g" x" P. O
8 N2 K7 F5 x K/ r) s( o f* T
: v" Q- W7 R$ v. j& l6 T& a6 Q
& l' o- `; d. s% I: W# ~% j4 V1.要想主板跑码就必须得先测量所有供电,
: w9 u! X$ n/ O/ ]4 f4 I8 p3 k9 S
6 E2 s, H" ^. r3 W" ]假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。
3 |; J# r' o* i; t* }7 [* G
! L- S" y# B5 G首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。
; D' z3 C+ w/ w6 ^8 D4 m: x6 r* h5 `8 b( }2 O, r2 y
& w1 ^ w/ |: q
+ ]/ g+ m8 G( P% e. \2.测时序信号
3 D3 n: F& s& U) Z
% k5 N& H: a" M; ?: K: M 量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常
- |9 w. { p8 d0 P' h
4 V4 ?6 z r, R5 V( S! j" i0 p
6 u$ m! Y6 n8 R S: m: I" U V3 }! C2 |4 `
3. 测bios地址线
: u E5 C% i& l! P C$ \: E7 C$ N3 @9 Q+ D8 k! J
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的地址信号动作,则需进一步量测上一级总线信号以判定是那个总线上的设备有 问题。
' S/ `/ I4 e1 X3 g8 y# d) O
- K; a) q- b# @0 g% n2 R注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。
7 ^+ s% @( k6 {1 M, D- y* z+ w0 ?1 K- C1 u" {$ M
+ }9 C9 \& O) c- @ 7 ?; p- A; V2 d3 y& K
* q# v) c- H5 C
4.测lpc总线8 [& W2 J6 Z" l% x& ]( n9 \
7 d- K5 K3 v/ y% B% O7 s 由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。1 R$ c6 L( y2 }* g7 W; Q, ^6 ?
& j- X% c w- j, p" E
, J/ ]' _% c* f* L3 M4 N
" M1 Y! ]1 z' w5.测pci总线
3 y5 ?7 }% K0 i8 t8 O* d
$ i% D ~/ M; q3 d# }: U' I, p, E F 通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。# A6 m. ^; Z% j& r! }+ [
- }) j2 n Y8 o. N6 |) } 6 h9 \8 M# D* h- G( f& y5 Z. }& q
! I1 H9 H: h# `% a- ~5 ~( h
6.测vlink或hub-link
0 Z3 f ]. D( P. y- Q% F" R: m+ J2 c. o& h
由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。
9 r) u8 F5 ^) j6 j2 l) J$ s9 P
! z2 {* ]4 E) R% ~# z/ M- _; l8 m' d
0 d, S4 M5 u, V" M) G# J) R+ M7.测host bus6 A. N3 _" a1 w6 T: d9 u
" P( ]# e1 f q+ Y/ `- S
开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。
, a" \3 l4 g6 T' K/ E# s7 @, O' F* ]2 V4 m. v2 C8 _' @; o
以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。
& f5 e! q; i1 {/ M6 l4 d' r. {. A6 F1 T" q
总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了
, T, ^; @/ m6 F' U. D$ j! ]! Z( f, H/ d* t
% d! g4 W9 q/ [- n7 Q
短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件
0 |0 O9 t# R6 X0 N6 R
3 g. o0 n: T( A- R6 u4 b# Z4 Z5 j6 e还有就是英华啊,我从版主降成普通会员了啊 % E" d v/ e3 y5 z/ T
* `" e8 Z/ r! ^5 X( f9 H
版主要是不泛滥的话 给我个版主吧$ l/ O! i+ x7 q- ^
|