本帖最后由 领航科技 于 2011-10-3 11:19 编辑 " f4 i2 o, N; H
2 s2 \6 \. c& ]0 i, L晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的
# m: ?, z1 n3 G4 a) T
, A; K$ L+ ?$ b9 L& O6 n换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。
6 r- U, t0 a+ D6 V6 G: k- V% K$ A3 }% {, Z
# T4 v1 g! @( h/ Q% e5 h0 Y- l4 O2 [7 W: o
不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。
! T/ ~* | o$ K$ x$ G
; d0 @1 O4 m& Y; x9 ~
# J6 ^, h6 I4 ]6 k% x2 L' |6 W
0 H& ^. _2 `5 b$ d- V( ^1.要想主板跑码就必须得先测量所有供电,- F& V$ J7 c( L2 ?$ N, ?1 F6 Q: e. P
/ f9 B- K! F7 b/ V9 |- O% n假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。5 O4 A2 d: Z7 F7 M4 i
% g8 I7 s. `9 ?+ `首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。
+ ~( Q* g4 J- y( ?+ N
2 `8 e" E# N( E: P3 \7 g * q/ j/ M8 \% ]9 j3 J% j) A
% o' P% @ A6 t$ c4 r
2.测时序信号
# Z. y2 T' }2 N% S& h+ X! X u" T0 C; j9 P: I/ a- K& X
量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常9 ~7 s2 f! g5 T4 r
. v, `3 N- `- f9 G8 x
' P7 V) B8 M+ Q. ~) [: D
3 c+ }! @5 X' [5 S1 i- @0 s- P
3. 测bios地址线+ }4 l8 d; {" r' ?
- ]7 P+ s2 e! ?% x V- R( z4 j+ Q; y/ \9 V
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的地址信号动作,则需进一步量测上一级总线信号以判定是那个总线上的设备有 问题。
4 E# D8 S* x) l3 [2 H j* t7 x/ e/ b h. {4 L+ \/ y% ?0 V
注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。
; E6 Q3 l! d5 w* S# K! k. X6 Z% b9 Y. n& ^ g1 V, @& d5 y
" b% s& Q6 T# y, ~: V- F6 C/ K
9 j9 e5 G3 t( b+ t( |! J; q
+ c3 J* S4 E# [$ H" ~" V
4.测lpc总线
$ q" H: t# H7 u, ^7 l% I
* c0 l2 u) }0 J$ [* C, f 由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。
) S0 o* I8 E' a7 n
/ @& k. m- Z8 z1 ]6 X 8 n4 X) F. [7 d( [
3 v v9 d/ F, `- e. X, a5.测pci总线
3 D; j" g1 G1 H) g( M/ |) v$ r* H$ ^% q. ]! l/ ^
通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。
3 m7 W4 G4 x* k' X1 T$ v# L |; y8 O* f) W0 V& C4 s% \0 `* i8 v
! A2 n* h: z7 _1 v1 v
9 @$ g; a# {( p' G% V" b6.测vlink或hub-link
' C6 _' U( J( L! y
' |9 V" q$ L- m8 t' r8 p# P 由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。
& _! `( V. A6 _0 ?% K5 l# E4 a' r1 f5 R- L
4 ~! I0 j6 j+ \; j* K
7.测host bus1 ~7 l2 `3 { t. ^( p$ J% w% z
( u# Q, k* v% `: Y
开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。
* y( _! ~# D4 V! M' Y' z3 i9 B- E. c0 B1 d
以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。 P) q b) C# v5 u1 X. c
+ P2 a+ _1 s! }2 ?
总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了& I4 C, M9 d( ^; D/ G0 b
, y' E! t! _. m0 b# H: Q
+ u0 s' V2 F2 M8 L短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件
& Q' l6 R6 ]" [; E/ D
$ a; x( H, I4 \; B: q* M还有就是英华啊,我从版主降成普通会员了啊 * q3 I' J6 Q) O! {1 B% ]2 \
! D/ }8 T& W9 f9 n5 {
版主要是不泛滥的话 给我个版主吧/ S( R: Q" A: y* T
|