本帖最后由 领航科技 于 2011-10-3 11:19 编辑
8 _+ h, m$ T0 K/ W" U* r+ v+ b
/ r7 b2 V- I4 n$ Q& K晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的
1 ^, j4 y* N# j. N) P
5 ^) l& x3 f1 `4 ?; S换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。
1 V, E8 C4 D: n n) j6 j
8 O8 D- y5 I. L1 R4 A7 h. n) R1 S . e' D9 l/ |! t) ^
! d+ \3 U# E# w
不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。
7 D e; O3 ]" g4 l R
8 {, Z7 T7 i f, o2 O
0 }! Z" @$ S3 k4 W* L0 G* w& P
5 j8 }" K: R. x9 t d( N. H1.要想主板跑码就必须得先测量所有供电,
4 y, H5 a! L; e0 J3 [ x
. z2 |6 x2 e' e% G% T4 q4 d9 ^假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。$ m8 @- Y5 U/ v# D$ \$ j7 s4 @5 `/ T4 O
# M! T% A' ^9 i9 Y+ Q/ Q0 N T
首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。
. p$ K* X6 c$ E& n& m4 c! a" W% `1 _8 Q9 J+ j, [
: H, [ a7 y9 h2 i
0 ~8 I/ }4 C" O8 H: s0 J {
2.测时序信号: ~1 w. @, t" S+ c I7 V' Z
T+ V/ T6 u. c! a 量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常
" j! L: X2 ]& A4 h' o. f J& R
6 n9 I3 n& _1 E* j7 a* }9 y `
3 w( E, d- A' ]) p9 E
% F9 w% K% ^& p! Q3. 测bios地址线
4 k! `- L6 \8 q: n, g# B; `
9 U& B, W9 k" a8 t+ A4 Z- 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的地址信号动作,则需进一步量测上一级总线信号以判定是那个总线上的设备有 问题。 ! b, s p3 G6 C# X
: O1 Z, n- O+ z. j, F! b
注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。
3 r1 X8 p) O$ _0 N! R; w. D; H4 n+ n: E, y" K
2 Y! N7 J7 ?) D3 S
# T; c) Z/ {5 c* R0 ]7 N7 B1 D6 q
x4 T# E, P. g2 N, F+ o4.测lpc总线
: U4 L4 B$ ]/ {
2 a& V9 F' N' }8 ^& Z( ~ 由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。+ d9 ^$ U K" W$ F/ E/ J1 a+ w
# q, G# p% r; h0 Y
9 O0 u: K: t, u( \4 A7 {4 f4 y; ^) ^
& {+ z% N: n1 D' I! j5.测pci总线
7 U2 f3 q5 ]! Z0 X6 f4 K! b
8 j/ G' H3 M; F$ y/ s( k1 \+ M 通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。& M9 } }0 F4 b) a/ A
f! b" P8 R2 R) x8 X( i
1 l* L9 l i; s8 w0 |9 G
7 L, P# q2 R z" X2 T F6.测vlink或hub-link* K% L$ n4 B: z6 L' L! k
' \7 J! @: @0 Z( X" h5 y, H" F ` 由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。
5 [4 L% l# I# u
7 e* A8 k2 X' ]1 V' p# |) d7 d2 n( H' u' l
7.测host bus/ _. V. l# E* P n8 D! {
) q( N% e5 G' {! e 开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。 & _- M; o! M2 ~' g# ]- z( A" O
' m2 j' t4 v( l: z5 V' y& z
以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。
0 G3 j& r# a/ Z. Z. M4 }& \8 i$ U2 |+ @2 X
总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了! n+ {3 |& |( s2 G% v
: g# f" O- |2 e% C4 Z6 i' X0 u
' d, _$ ~2 T# O9 j) K短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件 ) Z; [) B% ~7 Y* s+ k1 Q! o2 X
" }8 {. Q) o% ~8 v$ M还有就是英华啊,我从版主降成普通会员了啊 ; B; _" S S4 `) Y$ l- M
1 W8 q9 M" V$ E0 p% o* w版主要是不泛滥的话 给我个版主吧" ]5 Y8 C9 e9 S: S
|