本帖最后由 领航科技 于 2011-10-3 11:19 编辑 7 A/ B& f, W* p) W
; W. [- d# p) b/ l
晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的
( C3 O6 _& Z/ w7 G6 H* b6 C1 g0 N+ ~. F
换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。
7 t& X+ Q0 i! t
5 G! s. o. x% V; A+ Q
) A6 d3 J) y7 L5 j5 ?6 n4 d1 e+ H [/ }5 F( d
不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。9 L. l3 F4 f: A( z
9 V; x" S I/ \5 V- K
* f1 K5 O& P+ \* {5 C* o
4 U1 m4 P$ d: ~3 O1.要想主板跑码就必须得先测量所有供电,! \8 v' ~% m. }$ p$ A4 B ~
/ O- S. e& }) r- p% K' U" p/ O
假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。9 `$ _* s* w5 g; L' \
& U' _/ R( T: v; ]& m( W
首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。5 \' L8 A; u. j! N
) M3 b/ i7 r6 ~1 w
: m6 `5 r1 U# {5 C4 ]" }- m; {; _
# K9 |( J$ Y- S! H5 @3 k2.测时序信号
+ K5 S. S. _3 `1 s- P
* M0 z# \6 B' f; V A; ?7 d 量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常
6 C+ T8 A7 J- ?0 u7 [
$ Y) ]4 p: {: u- n7 U2 t6 u, J
8 @2 [% g/ } T8 |: v0 N! y: L' w3 U
3. 测bios地址线+ ~, G4 v$ y b' o# b
- L4 \1 b) n% ~, Q5 W3 n" h 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的地址信号动作,则需进一步量测上一级总线信号以判定是那个总线上的设备有 问题。 2 B0 n9 N0 H5 g' a9 `; d( t
; v3 o# A# Y* w& Y9 ~8 v注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。 * V z8 z/ T7 d+ N5 ?. Y# I( @
% E- P5 Y$ X8 j* L/ `$ g5 b9 y0 G5 t0 k0 N/ P$ f" {" D
( d" l1 B9 b4 j) V
. D4 y8 F! [3 s% s3 K2 D4.测lpc总线
, D" d; R9 U* Z6 F0 ?
; s- e3 c0 w; T- G( o. N 由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。" R) p4 C. l# `" }- f5 _
8 ~+ y( K5 I/ c. w6 Q. ~5 r
' d8 C8 {! P E, m! R) P$ M
0 h4 F- [4 B9 y5.测pci总线- D7 [+ y" S7 C- i$ M, U
( }$ u4 R5 U4 |- Y, r) F- W
通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。0 m6 T& a8 U) C) _9 r5 { ~
; j9 v7 | P; [( Z. w. y 3 R+ p; U( u; I
$ v ]: D3 i5 E/ C
6.测vlink或hub-link
2 Z. _, n% `4 ?' t2 b0 N% ]/ _. P; K; D# H# n* p7 [# ~3 R, t
由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。
3 K9 d2 M' }4 ]" v3 }7 `% \& w) E9 l9 L* O2 b; f, u
3 H" E5 B# I7 ^) s- k7.测host bus
, I* s+ V0 @7 y/ ^5 ~0 ^
4 Z/ c7 v& f4 H2 O: j 开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。 8 t/ D: V$ f; W& F
9 x L O) E# X% d4 l
以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。2 H; q. K' e8 R; ~0 V% h5 G
6 J6 B4 d' k! ^( Y/ Z) h4 E; c3 Y总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了
$ k) w7 j! D5 s" x) v7 A" o2 i; I) h# S9 _( h9 n; V
7 N- J$ a; C' Y" A N# Y
短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件 8 M' z* E* S( O( W! W; V
+ A" A5 x1 _3 ]% s4 L还有就是英华啊,我从版主降成普通会员了啊 9 f/ ^" y! w4 k- w9 W8 ]* Z
# u0 k, h- p5 P2 X1 j$ r版主要是不泛滥的话 给我个版主吧0 h4 G0 C6 D% N- v2 a4 Y8 I
|