本帖最后由 领航科技 于 2011-10-3 11:19 编辑 $ o# q8 @* @6 D7 r9 f
5 a1 ?4 o$ v$ w1 w* }2 J+ \
晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的
+ z' w' r5 h8 n) e+ S+ j+ q
+ R* X0 p5 e5 \' d0 `* z换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。
+ |9 J. J1 H, p! |9 k( k' q: ~8 @+ s7 G& }
% I$ g; m: Z* q
- Z1 t8 n+ g% `: S% O' e& n1 \不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。2 z+ q1 C9 H& d( I
' [1 n- d6 _/ D+ S- k+ C+ @4 B! _
7 B7 M0 c* r0 Y) V3 A1 h. K! I# U+ j E+ Y
1.要想主板跑码就必须得先测量所有供电,2 g) h6 q7 A. X' d
+ Q/ r, c. Y! }3 { ^( S
假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。
; h0 l0 _0 H' B7 E j% F% J6 h5 q; }" L) F) L# B
首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。
7 w d8 K) Z( k7 f* z" `$ @
! o2 Z9 U: W; n3 `1 m
6 O$ o, K4 h! B9 X7 @) V
- @! P/ n8 G0 s5 B0 U% B2.测时序信号
. a; R5 a; M4 S
+ |6 O T& s# w 量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常
7 K; U4 D2 y: J0 ~- r% l9 m; l" o9 F7 ~5 Y% s5 ` J5 ~* U
4 Q! C, M6 |: r( a$ @/ S9 o/ I) L7 W8 p( J
3. 测bios地址线# k( _! {; j4 y$ |8 ^" g7 L
9 s) w' p W) a, `5 Z 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 T }# d% a$ p1 k( x; Z" z y
0 c! ^3 ~/ X' c注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。
( a& ~* K1 Z" o I% D. f0 C/ D- p+ i0 P7 _! S2 i8 ^
- N$ w, U4 J4 W# O
3 v0 [/ u( Q+ d. D' m! N
2 R7 u1 z) J8 r3 x, ]
4.测lpc总线
, Q% {; m+ a* q+ F) y! J& N
1 M, ~' i6 G/ B! m7 a* x 由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。
: H% O( L( ^ O- D' R
) N. B2 z, O# `7 H9 A
6 n' X; n# C* g1 Z2 y7 q; W# T& }+ M) F0 f* _! W6 \( j
5.测pci总线
; @1 ?# ~" m K: Q' v4 g2 ]3 E4 _6 l" H. o$ j3 t( I
通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。 r7 X( S# s: _
4 @1 d8 M0 y0 Y/ v6 Y( d3 O
# \2 |" E/ Q- \' z+ u1 E: o
0 ]# k5 D! y7 x3 z$ |$ ^6.测vlink或hub-link
1 r, O& f, p6 A( Z+ R1 Y) H' |6 T0 S. C
由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。
! \/ J, k; V" M# o- {5 [' K9 O
# S/ x. ^# K0 N, I- V" D9 n" F8 p# t t7 B" _% U" }
7.测host bus
7 S; R% j' x2 Z, X3 h# m
4 @; Z7 D+ s$ n3 H: \1 { 开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。 # s4 [3 \4 p, X
' O% N4 d8 ]5 h: y( V- ?' S以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。
( z+ w8 w- h& a. Y1 g" v' C: I/ T6 Y- n" t& C5 a: P& {2 p
总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了. \. A9 Y$ R7 _% [
- s; M. s/ t# e
3 s" c1 H3 x+ t3 G短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件 5 `7 r, r% n) L* p9 ?6 D% l0 R
0 d u B1 p0 i$ y% J2 R) N
还有就是英华啊,我从版主降成普通会员了啊
% g7 V+ t4 p- p& J
% ~$ r/ [4 i; o% L. r* g版主要是不泛滥的话 给我个版主吧1 Q- j9 R* p& g4 _( `. T3 R2 }
|