本帖最后由 领航科技 于 2011-10-3 11:19 编辑
6 U& e+ ^7 ]- I/ y" E
4 _- v& z' E7 L. p晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的
5 z& k$ [1 y. T2 S( s) i2 E) c. a% U: j5 {9 S5 }, @5 u2 d
换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。
( S' h8 m9 x6 X/ E7 }2 o' h. r9 F2 I- R0 E
) P% [( y- v3 a4 a
6 e" M+ |" Q9 c; H E不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。
) \& c, F' f! p3 x8 q
! p2 K8 p* u) x b, c7 _3 c& e 6 w- r. J' c1 U$ `, F5 ]4 `
# r/ e9 f8 @( X1.要想主板跑码就必须得先测量所有供电,
* \6 e1 c7 _7 E2 T# i2 ?6 v s* w f$ ~3 s# ~8 G2 m. m4 d4 F
假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。/ l9 j! F& Y8 Z5 W. `9 i
) @5 }- y9 a4 P/ \首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。* k" a1 N' Y0 S
- N3 l! P# q& O( m# t; ]
3 O% d' J3 H! v G o- [* e
- D- J5 o7 g" |& o L+ v5 G" q4 N2.测时序信号
; d& \1 v, b2 }/ k) I. q0 g& b0 H. ?% H! E6 z3 z2 L- i
量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常2 y- A% `0 {3 w2 u. l9 k# ]
, V; b* U, @ N
8 B3 o% R% |2 U/ ]7 \" o u# G: s4 _9 Q
3. 测bios地址线/ K. L+ p. v. D4 M2 U) v
/ u5 M- Q% t0 R
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的地址信号动作,则需进一步量测上一级总线信号以判定是那个总线上的设备有 问题。
; A/ }9 R! l+ Z$ D8 s( ?0 s0 {3 v9 u8 B* w6 [6 R
注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。
- y: q/ I9 f% Y1 V: P1 [ q8 `6 k! q' I: V7 A% Q
! z1 I' B" R4 A" X, |* E5 `
5 X5 P- u: I; |9 @% J9 Z( r
# _+ M5 o$ n+ ^/ z4.测lpc总线
# N" v4 v! i- `# S8 h. {4 k* O7 Y4 v9 e
由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。
. f9 w1 }$ L; k( k* y# _& A7 q, |2 r
; R q7 f: V' @* G" f % y; A; i. G- m* e8 S
5 C, U1 d' f8 M {8 |* E3 h5.测pci总线
; M: c- @) c; e: t, h) E/ D
% K+ S7 o- ~- @" Q7 q 通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。- a; }4 p3 }9 C
. P) E# f. f' T0 j( X0 w( q 5 B: F; i9 Z" b! p% ~# p
4 Q' T: l3 f# Y9 d6.测vlink或hub-link
- g: W8 _' A+ \
* g; L/ }0 X8 ^' t5 `: S( r& k% G4 C% _ 由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。$ ?& o- Y5 h. w3 }1 C" S
5 O/ U- H6 d, h: O" |/ h: x2 W* ?' x1 `
. l. p& k: [; e2 `7 q7.测host bus
3 t M* O3 c0 f; r2 n
+ g" o8 r0 @2 t) l" P; S7 ? 开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。 + U5 L0 u( c5 a4 @2 g$ W$ y- Y
7 x8 ^/ `2 @2 z( \7 F0 l) G! T以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。
( ^ m: X: J3 p
4 Z' Q% d. g" D7 x: x+ o* l2 J总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了
V4 L; X: g5 k: \8 G) b' s& B1 s3 r6 `2 _5 o
# h3 o" c7 [- S) k. i4 t+ x短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件 . a) C5 t9 f8 e* _5 S
4 H7 ~* J- m" ?3 E4 K& E+ e; F
还有就是英华啊,我从版主降成普通会员了啊
. F/ l2 M2 @- ?+ w) [% H
, J% g M) S8 O. |版主要是不泛滥的话 给我个版主吧: J, c' F4 A# z- i
|