本帖最后由 领航科技 于 2011-10-3 11:19 编辑
- z* ?3 A4 \1 q; c( o1 H% Z' V% z5 U& g. w" N. N7 u) y( n
晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的: n u/ F- J. j4 V1 K" x/ s
1 V9 E% F. s$ ?& f, ?$ D1 ~换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。5 `5 ]4 b3 T% ^- X P' S0 i% F3 k! s
$ }* o* X3 E2 s1 g, t
! L% n9 Z( B9 B6 f2 A; k$ G0 J8 `$ [
) @" d9 D4 s+ e! ?# M% b: J不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。
& Q& R6 k+ P1 V B4 Q
& h# O' K0 `! P( t6 d0 d- G# l p8 y. o
' W2 ]5 `$ z1 b0 C7 T% \) F# M5 c/ h% H2 q8 L/ w
1.要想主板跑码就必须得先测量所有供电,+ P) O2 F# _+ A* [3 h
7 t8 g+ m" C+ T5 [8 w% S% S# }
假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。8 H3 F" _* J. g
: g3 G' I1 J+ \' o: J0 r首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。; {, R; K7 y1 `
7 `6 |- d( k* X5 {1 G
. i8 B: w' B( \& S$ h, z5 W
% g- c: x( B! `2.测时序信号
o) @+ Q% B& N$ s2 _* }, g, {# ]& q. @+ ^9 ]' f0 n( i" V9 }3 W7 ?
量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常
. P$ }3 N4 x2 M2 r3 H+ O3 \ f. S& T( w! c
& ]6 C( `" e+ [% i. l
4 O+ T b# i& M5 ^
3. 测bios地址线/ d& E/ f. V3 {& s8 `
. i$ [0 C( P5 v0 O2 T$ A 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的地址信号动作,则需进一步量测上一级总线信号以判定是那个总线上的设备有 问题。 : y8 s7 V% Z" F8 k; j
0 e; l' `& _0 J* I, }2 B' \注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。
- r; Y+ I- n5 d% r: u) H# J9 @8 C) r0 s6 d
7 k8 d) A' A( c; C3 q
1 F0 Y: d9 I: d& e# j7 R- V7 h/ i) R) n, B1 A( I Q
4.测lpc总线. J" y4 Y- ]( a& z( `
! D& H7 ^/ D0 \7 P- M 由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。/ o8 h) S$ X; o9 n
' d: T9 {8 P+ I' k( o8 N8 C7 j
8 _% @/ W% c5 `; B" D- \0 v V
; R- `6 K" W" D% N1 Q; I' x5.测pci总线
4 c X' ~6 z+ f- Y) e+ B
4 J3 y; k, G) ] 通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。
- S' W( e1 [; \' V4 [# y# L V" ?8 v: J3 v0 U. F
. h8 D5 ^0 m2 z9 K5 v
4 W3 G- U) v7 C4 }/ K6 D
6.测vlink或hub-link
& L2 J& c4 y Q# w: ? [! r0 b9 V2 q- a4 [- H' R! \
由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。8 ]) i" j, s! V9 C8 W
5 Q6 K% N7 j1 b8 i$ H1 R
" f: Y3 l$ W; W/ |2 d7.测host bus
3 \5 H& X" ^; \) {2 c
j/ q% J* F+ u2 A- S0 N 开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。
+ |; k# _* o. B# b5 q% _; u* w# y. }0 `# A0 p/ |
以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。
& i) K% i. @, J
; S$ y3 q8 I% y) [总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了
" U# q* h3 ^, D8 k$ W. D; Z% h: e9 O T5 ]2 w
8 [$ h- {6 u1 M, c/ R' a4 ]* U
短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件 ; L' z* N8 q) }
) k, O* c9 s+ i; e6 i% ?% q
还有就是英华啊,我从版主降成普通会员了啊 ) M& _7 K) D W+ Z3 G4 v
+ ^5 V- [0 e0 B7 @+ F5 s8 R- V
版主要是不泛滥的话 给我个版主吧
( s& w" ^" Q+ K# ~% w4 R, M |