本帖最后由 领航科技 于 2011-10-3 11:19 编辑
% l0 T; p- A+ F8 X( ^3 B& J! {) \4 d* L9 ]1 k9 x# S
晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的
! Q: Q- D1 J2 V7 i: y0 p5 k" A$ e3 d+ v5 j* Y8 u5 R: X! k
换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。$ ~- l9 h0 o4 o j m0 z9 `5 F
( k! K7 l( r$ c9 j* [7 a2 U
3 n) Y% M/ O* y9 c$ H
& g1 Q, M! L8 z4 v; l不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。
( Z- k' q% m( ]# e/ f! h- m% F) J" A
( v2 a5 p7 h4 ~( `) s5 ^( w
) F; B* J* w8 |0 R9 `9 M( l1.要想主板跑码就必须得先测量所有供电,5 w6 U j& E. v4 s b3 T! D4 z
5 _- x8 |5 e, @假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。 ?7 O0 d" b3 M7 U/ j/ [
9 Y8 N. k: Q& |
首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。
5 K1 P& u8 `% \% n& d' g8 g
1 J4 |' [& X6 p4 V3 P
8 o" A+ w1 K9 C" T$ z0 Y# m* X* p- [( }0 x$ b- _$ S* U3 x0 O
2.测时序信号
3 y. o- O$ W$ u5 @
' N+ j! W" X9 u' \ 量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常: q, U5 |+ Y- k3 d6 W- d
}1 h6 v& g1 j8 W& c8 A
* y6 M7 ^" N, D
3 V( O* o2 y' S; e9 t3. 测bios地址线6 t. L: c; x; C2 a
2 _, o* b% `/ T4 \ V5 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的地址信号动作,则需进一步量测上一级总线信号以判定是那个总线上的设备有 问题。 5 u/ K* V/ d9 w$ R q0 w
5 p. X% W& a' m( l
注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。 + L- z P3 ?8 J! g/ Z! w% R5 Y
/ Y: O1 Y8 [, J5 k5 }4 B. k3 H
/ c# Q' Z$ R; ]' r* F
8 H, W2 m$ F6 L% R8 a
0 g+ x3 U( h+ Q- a3 o! K# o4.测lpc总线
$ ^4 v- c5 x# }2 U1 c3 `5 C7 W$ o5 e4 R( S* v; E2 S; _
由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。
) b4 F& ^8 a# s* B! q% z) l" ]7 ~7 \5 V
' p) n* ]* P+ u9 Z+ @, b6 `; u0 r: E3 {. `: q1 z
5.测pci总线
" y+ R6 a& i$ J$ p! S
+ ^; U: e e% n 通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。
6 n& q/ G1 u% ?8 m1 U9 a4 H* P8 @( E* b2 v! ^; t+ ]
8 b# ^: v+ `" K
0 E9 f& V5 ^4 D! V8 l6.测vlink或hub-link! w t7 f, J5 { b
1 X% a' n7 h, r
由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。
; j6 x z1 q# h' c* |0 E; }$ Y; |9 P, h7 h
p0 ^' Z% r% ] L. d: n7 C+ `7.测host bus0 d( r' m! g$ h. P6 e0 F9 N# [
3 d3 D y& [2 @: r0 { 开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。
2 A" n2 e1 S$ F4 F2 N0 }- D: b, R! l& y4 j
以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。
' K" [2 x" J4 i/ [9 _, S; x
" A, ?! H/ z; d6 [' J总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了
" z1 p. x% \& }8 S4 J6 I) L2 B4 k' i8 \5 A: W
* \& p. k; e' A1 @短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件 ! }7 G! W: I, M& ^
3 b% z% Z/ f( @' A/ {还有就是英华啊,我从版主降成普通会员了啊 ; A, a6 O* D) ~3 p" }* r
, O# s8 J4 J3 }( I( J
版主要是不泛滥的话 给我个版主吧8 Q( e) D/ k3 q A( @6 \9 D
|