本帖最后由 领航科技 于 2011-10-3 11:19 编辑 ( _; e% p9 |0 F. d' d
8 h8 u# J. f U+ K w" D晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的8 W. M9 C3 h- i* w: \4 b
: V; a% t4 K0 W6 [- ?
换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。
9 X+ Y1 K9 |# v1 d- c8 ^ I
) A7 B. _% A! z M& x
) @: x% I& b. B; X/ \4 ~
9 A/ z$ ?& M+ t( {* z% t不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。7 h7 m9 m; x' q( Z- h3 U
- U' C$ v4 o3 \6 h* i, a
8 T1 Y! C2 C2 @" R1 r" g' \
' S3 S/ |, V, I. _& |" N1.要想主板跑码就必须得先测量所有供电,; ~# @( R* ?$ P- k6 E
. G& |0 }# [* P2 N/ G; O: F4 A
假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。# @! ^/ E) \& A6 D) L
+ e7 A; P4 V; p+ u( {/ P# O首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。
' I7 N1 ^7 a: `+ m5 i
5 U* M/ p1 Q/ _0 Z! [. v
2 w- ^4 t4 S& w Q
4 I4 p4 i( k! S' L8 T" u2.测时序信号! ~) a% E! w& ~
4 k0 v8 g4 _. |9 s
量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常; r! f, T1 } L3 c7 `6 S
' B: D2 B3 V$ {5 F7 R' K w* w j
3 w. y2 v$ z' y% K7 k) R
) D* _! f* J' I) `! M2 T
3. 测bios地址线' R) @ V8 q/ K) b. I1 Y
$ l1 l0 G4 n( T* }* j 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的地址信号动作,则需进一步量测上一级总线信号以判定是那个总线上的设备有 问题。
# J& y/ @1 s3 l2 r8 S* @
" ?! ^9 C$ \4 g) K& T注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。 3 }) }; w, T: w& h
' N+ f0 U+ o: W6 j8 c& h8 U! R& T* D
, Q; P# t8 R& M9 c0 U- z& B0 S) Y0 t/ L: V0 R* `4 Q8 x2 o
4.测lpc总线
5 N$ N) [/ @% e# l* f b% A0 T6 O# L( W" c9 O2 h
由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。! w. H* J6 h" P5 b! a( z+ |
5 p6 k/ C4 o" V+ L
/ G8 Q/ U- N, k! m7 X8 N$ u7 y$ l+ ]& B; m) g1 N9 |: ^
5.测pci总线& k9 h. ^0 f, x/ w
, q7 P. i# W6 p4 `- ` 通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。
" t! c: F5 B( E+ s$ p) M( p
4 s4 L9 o- H8 ^; o& f& ?4 h
, d. _* X/ B$ L
- v+ b# P% C; @4 Y6.测vlink或hub-link
- K! q7 D7 S; Z1 `% d
& ]2 I8 B; g" R1 { E5 w 由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。
- M0 ^: b' s9 y' r# t5 r9 x8 G
. ?& G* g7 t- ~6 ~/ W
. L* B3 P: i& Q$ r! o. _7.测host bus G: `, o6 N5 p, ?5 @( M
/ p0 ]$ w* v& y% {
开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。
/ K; J) A% S7 l1 i
3 ^* S+ w9 h5 C. V/ `以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。
( A+ {$ c/ f; N! W: t! J; b6 w" k: {
总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了# E; F |2 F9 C# j9 x) m/ P& v
, F: u$ z- l& M9 `8 j
8 y( q' \$ X' `6 O3 h9 Q短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件
1 [0 R6 b) u$ g5 j5 x$ T, Q5 ^% ]
8 {+ o1 W4 x C6 _" o+ }4 J还有就是英华啊,我从版主降成普通会员了啊 5 v- k% B# C6 E W, W. Q: E- G3 J4 s
+ `! W, Y5 _2 r
版主要是不泛滥的话 给我个版主吧
7 L3 e( M7 w% i5 e6 X |