本帖最后由 领航科技 于 2011-10-3 11:19 编辑
2 w E% S8 r4 `0 g
. A2 c, R. c$ i1 w$ R9 P* n晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的% s u5 s q- |+ V5 l4 f! y; [
4 V0 R3 r; J1 K6 _& O换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。
5 `+ M. V) F3 l- X; f' G. K$ g1 G# o. q$ X7 \& T- e9 ?+ F
' F: `2 Y! s% ]) _- j! [) _- f
" G! Y( W% k% O+ I! ~% H不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。$ ~# d; x9 E }# g7 _9 `
0 H5 R' F" D- Q# B/ O& i
. |( y5 w1 u6 b/ y1 w- r
7 z l% C- A4 b8 W; l& M
1.要想主板跑码就必须得先测量所有供电,. M8 z, p! `4 c3 |' e9 C! z
6 b1 W, \( r* B% F假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。7 |0 N' }* E; s' E5 W) h
- _3 W5 D2 R5 i; q7 z! o首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。
: a8 x+ e/ j: U0 {* A, U" f
9 H- e/ p I4 p( e" L, b 1 V- c+ n# o1 H5 [5 Z6 U
$ G% V2 S/ s8 a2.测时序信号
, u7 `, m: {; n0 E% E3 J5 n0 q
# C" A7 @% ]" x E2 w1 [# H0 T 量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常* _9 P- p" C/ e+ x2 Q4 ~
, @, a: f; |5 \6 ]! M$ W
4 U3 a7 \' p9 i" C* E/ t0 J* c
3. 测bios地址线/ u" P3 O5 H% b5 U, c
8 g! J. n& F8 C& ^" G+ r7 P 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的地址信号动作,则需进一步量测上一级总线信号以判定是那个总线上的设备有 问题。 ' K& F/ {9 t/ R% I: s( y; E$ B
" n8 O/ r s) L2 x; V注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。
7 R/ u( z. {; ~6 }0 u1 Q0 w% H/ i+ k7 C3 x
& @# M; m& t4 o5 R7 N1 s9 A
& j# s, ~, _+ a/ G% S0 S) M, M5 H; w# o; H, @
4.测lpc总线: M/ p1 B& _! }9 s8 y
$ L8 O" X @) ?0 L4 D
由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。
. B5 M' k; D5 y, b
& H; N, z/ {1 J/ u
9 F* K7 _" A2 F9 r& S
# F+ M7 A: k6 u2 Q% \5.测pci总线
( f& \. C) ]$ g7 B4 |) I+ U& ^0 b- F f# s
通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。0 @0 b+ f; [ T! A& b; O
' h0 O! l( q! H/ _& `
5 f. N9 w; m6 T7 T8 A: z3 r5 ]5 t7 }- T2 [+ ?$ c1 Y4 |/ \
6.测vlink或hub-link
/ ?3 p. \7 @: k- E; i9 Y3 B' O1 U U! O1 r
由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。/ t3 P+ s) O# G. y' E
$ P1 V- I# P# \& u. W
! h( D% f% a# m* e. b6 J1 z
7.测host bus
4 O& b4 F0 {! W8 A- H7 U8 D+ o& o% P9 T0 }
开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。
: v" K* `2 V8 k
. O3 t0 U4 h, }2 d" X4 y以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。
7 {" `8 f; Z. w7 [- K' ~1 [1 X: _# m
& G6 n# {. E6 r( [6 z总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了% ^" Y, m9 ]5 k0 a# v x
}, e0 I9 b& U& _! z, J' H( A
+ W% f2 m: j" Q% ^4 Y短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件
# d5 g2 O" @$ `1 M; Q5 d* q3 ?9 z- @, }6 P+ [0 B+ o6 \
还有就是英华啊,我从版主降成普通会员了啊
7 Y$ p/ m- W/ b2 l9 M+ ^
* |* `- u; P, C$ T; e版主要是不泛滥的话 给我个版主吧
! d" p9 P' k J |