本帖最后由 领航科技 于 2011-10-3 11:19 编辑 7 K4 L. E8 @' N. X( A$ V
9 e, l5 j' q& f( [( A; N& @5 [晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的* n; _3 D1 U B5 ]
8 {6 W: D0 A# ~; M+ f" M8 s
换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。
5 U$ F% g- W9 e* B# O
' }: Y8 A: w9 {0 a, f: a0 d, C 1 A2 R9 Q' ~6 c9 n' v* N5 G
& W( f' R" V4 p | W2 d不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。
: k" K' K) \! `# ^) T. A& t
- ~7 ?: a+ ~4 O
$ G2 e+ ?9 u9 U1 c/ G0 W
6 T: |8 Q; A$ m' `9 E( o8 x% t5 c, Q1.要想主板跑码就必须得先测量所有供电,3 C+ o; b2 s5 o+ I, `- K, V6 v
4 E- A3 L/ |# U9 m
假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。
' H5 Y, y. ^- q- i( m" y2 p/ w5 r3 o( T( S0 n
首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。
. z' g4 c# I6 w6 r$ S6 @
& ?, a% F0 v) p, k. ~
' o% P2 I" a, @- l$ n& Q, K
p1 i" g- p9 n9 J2.测时序信号& t3 r) \; _, E; T) S) [
% b: D# U6 G* g8 o& }% B
量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常
" r7 X7 Z. s# C9 x! i& ?$ ^5 v5 c, b6 U* X/ j# R. D: A/ T
0 [7 [9 c6 W/ V4 ? \$ G) g* i" K
$ ]6 n' U* l4 u/ ]) L1 [! K8 t
3. 测bios地址线
+ D8 U0 P% x) `4 e, S
9 O! @) A/ { _* D0 U% ` 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的地址信号动作,则需进一步量测上一级总线信号以判定是那个总线上的设备有 问题。 ( c* _3 K& @0 x; D/ H5 n$ L0 ]+ d9 \* S
1 r( F# n) a1 _, t+ ?% t( y
注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。 6 ?* y# h. J- V( a. }
. V3 u5 K, k- M5 Z3 j" ~$ ~9 Z4 S3 g4 Z, u* q
+ L' R( t8 R3 j2 B* s$ D! t3 r
- q& @, |- R# q. i0 B) u
4.测lpc总线
6 R' ]1 w+ z1 r" b, Z# q
& a+ v/ X& w4 B. [8 j 由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。
. r$ u: Z5 @, J3 R6 N8 `7 ^$ o1 r# h: m
4 c; K# }, S* x/ J2 K, |! ^
8 P1 v* O$ B/ R; B- G# U+ \5.测pci总线. v$ L* ]0 R2 {' {: U3 B$ g
7 @1 S9 Z% D; x9 {+ U& H" V6 H
通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。
g, K6 `8 V5 n/ [7 E' @# v+ ~( Q5 H Q- H
2 v& [4 k$ E+ J$ Z4 G9 @& L
# @* t; P) G1 @4 o% u2 g
6.测vlink或hub-link
" o) p$ O( q+ J$ J8 S+ _: M: @+ L" U. `( \* k2 v8 H, X
由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。
% Z5 p9 Y) e9 q
7 R, m5 _& u8 z# z& X6 a0 p0 z2 W7 r& L) {* i' n5 j+ a
7.测host bus/ f6 S1 Q( F! q9 x( z
( R) m3 P6 t1 J! u5 s 开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。 5 K6 ~9 T, O& f/ _; |( _0 A7 v
% |/ M2 V: H: j/ [/ t6 }以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。
( e, y0 U& Z/ r( k+ n
# T/ l2 o( F& f! m; i X总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了$ q4 s9 @+ V, k$ b
. ^4 t! H( ~6 f6 g+ `& i
/ Z0 n3 \3 h, d9 r1 ^短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件 4 P' v0 {. @5 `8 m
' d% l4 o! E, x; r还有就是英华啊,我从版主降成普通会员了啊 ) r/ g; l" C c: [
/ M3 ^5 o# K& N) J
版主要是不泛滥的话 给我个版主吧# Y0 ~; A; J0 P4 H! k; D1 Z" S
|