本帖最后由 领航科技 于 2011-10-3 11:19 编辑 6 q9 W) |+ ?( d4 _! x
- y; C+ Q, c: l1 S晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的
, X( z- _, Q- }0 j
; p Z& t: {6 A5 z8 @ t换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。4 V! O. n" |8 o1 R& j# d) ~
+ r3 V! H3 ~' F6 C1 H
# r* t! v7 L5 @' J. v# o' b
0 `7 X" \' W: s j$ i: J
不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。2 S, ^9 [8 s) D& c+ K
; e5 p8 P; Y' W* |% T* B: A. Y
3 Q2 ]) b: Q9 {' ?7 j; o* p6 ?: a. ^( { g, E, ^2 j) y
1.要想主板跑码就必须得先测量所有供电,
' e8 D! k1 |: E4 y( h8 D- S$ u l& C* f- g+ {
假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。: M; D$ u: [# \, a \
0 M5 h8 k) j% J6 d
首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。
: C/ w' E8 n# P1 y; t2 ?9 p' g& t/ {' [- s& X
/ C+ G( b* D M/ z
% W3 F' s8 w( e0 @. D$ ?& \2.测时序信号5 A8 ]2 y$ K) C
) _: w" ~6 O: B3 r7 a% r! O# x
量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常* I7 R2 g) ]9 Q. s0 k9 x6 @3 y1 T
3 ~& s. E( O! z% u' {- B
% Y2 m% M, K U4 K8 `/ e" q8 |# {/ H
: j7 ^+ n3 ]8 h3. 测bios地址线! l* L- m' c; x- F5 d; g8 g
1 T% b" Z0 b s 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的地址信号动作,则需进一步量测上一级总线信号以判定是那个总线上的设备有 问题。 3 B3 M' k. |: a
1 [" R, `! R, L* ]2 ?
注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。 R1 E( V- F; j t2 D6 q# b, B
, O8 }+ l$ `. I6 W
" ~% |7 k+ z( O' A( Q
: C2 W- j& `$ h. y5 M/ o3 F+ |% G. W5 I" y+ |; q
4.测lpc总线# K: [3 [% l6 [8 }: o
" i) S' z$ U0 R+ G
由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。" G/ {& A$ S- e9 o: X7 u: k7 g
4 @: d0 V9 c8 m/ c: v : ?4 E* g$ n$ \3 D6 b3 R- }) }
4 @# r& B ?' S: ^; m2 C
5.测pci总线
+ R7 {" c" Y- C: h( J1 q5 @8 D
6 S5 s g: U. x3 a0 d; N! B 通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。2 _3 q. ]& T1 X$ O! w( b: Q1 ~
3 ~1 L% |8 D! ?. S
/ k1 ]* `5 x, c* Y# Z/ s8 v8 _
6 i" k/ u2 ~: q5 U( K2 s
6.测vlink或hub-link
1 e2 W! L; A( X; i6 v# S8 m( @0 _
; d; \& ]+ p1 b0 F0 ~- r& e- I 由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。
% v: W6 `' p2 c$ \" X9 _2 A+ ^% r" [2 @' d
$ M# a7 k0 Y( g; ] K" L, |6 Y
7.测host bus9 z( R- I9 Q B* B! \/ K4 @
! ^4 x/ u, A) Q' _' r2 r 开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。
! _* @& t9 w# {- T5 b
- e3 r/ I; ^: U8 @以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。$ g- o8 m+ Q$ [+ v
8 F% E* ~0 e) u. u. k7 U总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了
$ J8 [# E% r* }. G! s6 p( R
1 t. d Z8 U k l( F! R) }% W) ?4 } D9 S. q! D4 L" F
短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件
6 M) D J. P, j0 \5 _) }5 B5 L, \; E% F& t
还有就是英华啊,我从版主降成普通会员了啊 2 a( u# g( b' L+ a; t% w* m1 @
. J Z: E- C7 b! l
版主要是不泛滥的话 给我个版主吧- u7 U }5 d: R) E7 D& N
|