本帖最后由 领航科技 于 2011-10-3 11:19 编辑 ; Q0 H7 V4 q0 t7 G; S
9 V* o J2 N, o- |
晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的; L+ \) `+ O& K+ j/ K
. r6 T" o; g9 a" J* s1 V/ n
换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。
0 P0 h/ W$ ]6 T% s2 X4 R& ~
- g0 s6 c/ {4 v/ S u3 q# b: z! w: @3 |2 l' g
5 O+ L1 b7 R6 m9 z9 u
不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。
+ K3 s4 g2 _' R! ]
& e9 o! J: f& z* O4 G( C
/ X8 h# Q# L' R' ^# w5 B* s9 k4 ^# k5 N3 s: b
1.要想主板跑码就必须得先测量所有供电,
, B9 I1 S1 }! P% h8 B. U3 P
" l9 }) B, b+ ~假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。 B& ]# Z. g9 L- c, t. T1 W
" C2 m$ l. l$ s
首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。
! R2 s$ f" q3 v- c+ _" G5 S# _* O5 L# N
0 [5 c6 q) K1 b/ |' ^$ B- ]0 I+ K* g3 W( I* e
2.测时序信号3 v1 i/ n# s% j6 f. c7 `
- n+ N- o* u$ ^& O' a
量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常
9 n* k& t2 C; E: H& u$ x0 e8 q' }+ k$ L6 E/ y6 m
5 [0 J' V' R8 V* b! k# d/ J( R5 O8 S9 C t v% a4 |. N7 [# [3 e
3. 测bios地址线
. y. X7 T1 x5 A# s2 Q% Z( v/ X7 N B* m
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的地址信号动作,则需进一步量测上一级总线信号以判定是那个总线上的设备有 问题。 0 u6 j( J8 A, H: n. R: Z
0 U. U P" W6 H# B. j, }, z注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。
) E% _" |* P" k- s
) ~; X/ {$ h* t/ W: M* u2 J8 f0 x# q; h6 P7 c4 p9 E) Q
( _: ], ` D8 ^4 b+ Z; R1 t* T, n, i
( D. b! ?& n8 R5 W! p4.测lpc总线" J" \- ?! s; v( C# P0 m
3 c0 D5 h% I0 c* q' y& X7 A 由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。8 d6 c+ g; O2 K4 |* A4 ~' f/ N8 q
$ U7 @& h B& L- Q- l! v3 w + F& z. R$ l# d6 ^3 G
( n: u: u8 y" e' J: b! y5.测pci总线
( s, }7 o9 R7 |4 B# f; D) P9 R2 O; J: q D Z2 f7 w. l5 d
通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。
9 d. Z% h9 f, J+ N! ^" ~5 H- v+ y/ O2 n3 h
- _! o' g) _. k( s8 Z! @: ^
* E# S) L4 e+ { }+ Q0 g1 R6.测vlink或hub-link$ |7 q* A9 X1 c4 Q# x
/ k% N: P7 W9 A
由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。
5 J( D' ~/ T0 G7 J0 ]+ c1 v( O' W$ D% b$ e3 L# z
$ d1 W. U% O3 ~, n0 a5 ^
7.测host bus/ L: F/ z# F: j5 ?, s$ _/ t
$ e# A9 @* ~+ [3 C: p2 M/ x# l 开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。
$ X. d# |9 ?* s
! H6 L% G$ G4 s1 H# o4 e0 u以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。
: V2 P. a1 u6 ]) f* g$ s6 E2 i: _
总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了
5 d$ n) n4 v& s/ v& `
& j* L7 V% {$ t; V0 w- z( i/ H5 o! N0 T# V, \4 m
短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件
7 g. p# W5 o0 L; l
, o* z7 l7 I% x7 P+ b还有就是英华啊,我从版主降成普通会员了啊
4 n1 R* Z2 X7 F8 @; V- j7 @" L# w
( ^1 N# Y" }$ c# j; K$ A4 F版主要是不泛滥的话 给我个版主吧
( w. ^# Q1 ^: K% x |