本帖最后由 领航科技 于 2011-10-3 11:19 编辑
/ r$ R, n Y( s, q; r2 \9 N# L; d
G8 U& b8 s: g/ k晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的& o; M/ y N1 d B0 A
# u! u7 c0 ^. y7 R1 a
换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。
9 O7 w/ p5 e- K% T* s# d- x1 t2 G9 i1 b& T
! P6 E; c3 B0 f; t# c" X3 X
% r% A& f3 [: Q4 }% ]( A不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。
8 H, Z6 A% \" y* L4 p- `. \! o( I# |9 S& L! f. g G3 Y
: K' h. D. J/ n, ?! S& R1 W
: C6 | V$ M* v, ~8 G0 J/ U# m1.要想主板跑码就必须得先测量所有供电,
" B: Q3 G$ G! M/ v- y( j; S, c- A% ]! M+ H7 D
假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。
7 ]! |* c) B* I6 V, v0 ^' _- M% L# V& e1 b! Y# A, ^' F' _9 h3 s
首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。1 f5 R. E- Y3 @$ }
# b& ^4 q# ~/ X7 n0 y
" q9 R3 k: Y U1 h- X9 n
6 [& w+ w8 u- U, n2.测时序信号
* J+ x9 q. X7 z! {& D e' X# D( F1 m8 _' ^+ V: M& V& {
量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常
( E ?- f. d- S; d* _% W4 A* C, c" H' n$ |
& E' f" |) y4 N" F, h
9 i5 m$ P& z6 X) I
3. 测bios地址线
% G8 Y# m g6 ]1 _3 t
( _0 h; P6 z2 X' u 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的地址信号动作,则需进一步量测上一级总线信号以判定是那个总线上的设备有 问题。
5 t* t+ q4 \' o0 K4 y$ U L8 i; J8 v; K/ @
注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。
4 D" y9 Q" x C" j r
5 b8 |" h- {" F- ]- [4 N; l
$ s7 K9 Q7 o V2 F! b. z0 u 5 h0 I2 ?3 n" v4 d5 S$ C
) w+ B& g: |) w8 @& _; C4.测lpc总线
, c( E1 p! K; p D3 U+ S# `3 H% Z
% n$ N5 d; c! J6 v' A 由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。
; |% V, [) P( m+ t- U
0 R1 N ?" V: D9 b * G6 \) G+ n9 ^0 R1 e
: k0 a4 F( ^, r8 L+ A0 x5.测pci总线
. g, b- e: T: |% |5 K5 y
( n! O" m ~3 V! c+ A q2 `0 {3 X 通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。( a- Z8 {# i" R" ~
* B7 `2 [" }( H: n) p6 [ y2 H
4 n0 y- _6 I0 m! T, N
- d0 w8 D6 T, Z3 i8 J/ C6.测vlink或hub-link2 ^. A" z5 p5 w! u* ~. R. ^
8 Q9 M& r* T0 K/ V* D" _/ g 由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。/ z7 ?( ?( y/ Q
# T, r0 u8 I7 |' Q; z3 M* J
& h1 Z- Y& d* A7.测host bus" }% [# K) ^# M$ C$ l% ]! z
7 I8 A' d- l& ]. x' y) B" M 开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。
+ R6 H+ r" D2 t* A- D, ]2 ~' K Y* v9 W, j3 D
以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。( U3 O6 ^& n6 `2 {
8 l( d( E( j I$ P6 K- i+ T ]
总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了
8 y) ^& w$ K; _7 m; c. X) C; C% W# k3 |& b
$ G" @* Q. t! F$ a
短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件 ' L' o/ D" D7 M! V& h. m* q3 E
7 o; g( ?4 R: L5 ]' x& P* C; o; N还有就是英华啊,我从版主降成普通会员了啊
1 x& O% I" e9 m: c( t0 P
5 c$ v6 z; {) V5 L$ T9 j& |$ ?; S版主要是不泛滥的话 给我个版主吧4 q P( r- b3 c. }- ~
|