本帖最后由 领航科技 于 2011-10-3 11:19 编辑 , r% Z! Z& j4 C2 ]) n
( n& `$ R2 A' ?/ T
晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的! d2 s( B# h; e
! e1 z+ K3 s, Y5 a; h6 A: K4 ~6 c换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。. W8 m: j# N# _# l9 I# D
8 A9 L1 L8 W3 `: D- c4 j% A4 r2 ]6 w " f4 B' N. e4 q& T
- [% s& U$ I# }' J; J
不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。# R+ t+ U2 y, @* L: O+ N* q
8 ~$ t& m$ M/ U! R6 W) j- @
# k8 U, B1 l$ N/ h- j( S* N9 o. |
5 [4 v! h/ U* E0 @3 M7 B' q1.要想主板跑码就必须得先测量所有供电,& H( p2 o* s5 k
) t1 B' [1 }. P; G3 f
假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。
. K) u. i5 f6 f' F. F" [3 y9 [3 E7 w: D5 b
首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。
% x1 v! {- O4 v# w: N/ Z$ T* p. W+ ]" [2 T( A: X
: h/ I% o* R- e; H; j% Z% |
/ n- b/ t0 @3 s, A$ a
2.测时序信号
( c I4 U1 @) s4 a# N; P. c4 @# _- b, L9 b8 q. A* R
量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常
7 E4 |* x; _5 z1 Q. G. S) Z+ a9 u0 y5 m' X+ |. E
% F2 m2 x2 f6 L8 Y
; b5 U7 a# h; Z3. 测bios地址线( q2 p& Z& e& }) I8 } G$ k
% w8 B$ m- v: W' _5 b 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的地址信号动作,则需进一步量测上一级总线信号以判定是那个总线上的设备有 问题。 6 X2 I& y) t/ W$ A9 c. O* \' @; g2 e8 T
2 w; r2 b0 ?2 w9 o6 m注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。
" J1 C8 P, N# ~8 V! }) d( J9 Y) i7 @- L
4 ^2 t, C/ H. s _% n1 L5 r6 b: G 9 r7 s5 U: o( R3 u) f& _
7 |. f$ H6 O5 V: D, B' l* }- w6 G4.测lpc总线
- F9 Q( K3 Z" J2 q, j7 d6 r3 Y2 S) ^( K( H3 M
由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。* C( m( D) D. f- D- x1 M" ?/ z; d5 ~
: u- @- l+ s; H, ^; b5 D. D% n
. t' j% [, A; f7 |1 P; z( q' g/ K; l
6 x1 t. R" U" ~. E t5.测pci总线$ W, c8 H% ]6 e; l
! g% n$ o$ G( g" j2 ] 通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。. G5 v0 Y" F4 H5 |. j" r( a
+ F; a- ~$ k$ w$ _ ( X I; z+ c6 }, ~
1 z3 O ~, e" j M9 _5 W; w: C6.测vlink或hub-link" M6 v! i9 i0 T/ M- L. a
5 M# R- W6 J! O5 s3 G 由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。
2 Q8 l! c/ m) L9 g3 h9 }4 t
3 W; G% C& U' |; g
( o9 }3 K4 f3 l4 x7.测host bus
1 F! a7 S; M0 w4 u3 b1 R/ m8 Q1 \) S { L- C6 t3 u3 `
开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。
^8 v; f- P& E3 }4 K, y) w) M5 r S; T Q4 [: Z. v: s, ?( W
以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。% `: c2 ~& [4 n4 P: i- r; t
6 z. k' l p6 k* [, b
总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了
: ]! Z- q- H7 f5 L9 P, f
# l @* |! o' _# c/ I
$ K9 }# k$ T' T短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件
# i3 n9 X. l7 K- o8 ^& ^/ s) V" H; D7 S6 X
还有就是英华啊,我从版主降成普通会员了啊
% |! @) H6 T" o) L- a& |6 D* o" I5 w6 I
版主要是不泛滥的话 给我个版主吧3 d+ @0 d* k k5 G& D+ \+ R8 j& W
|