本帖最后由 领航科技 于 2011-10-3 11:19 编辑
+ P m8 F4 @! f4 @# \% R! i& Y6 j( x. n( h9 M7 c0 ]; H
晚上的时候师傅的电脑坏了,搬来给我修了, 映泰M7NCG 400 / SOCKET462 架构的
O' u' i) d, l$ R* s/ ~' N, R1 t3 F, ~9 z, T, {
换成别人的话,我肯定不会修的,这么垃圾的主板,开机不跑码啊。
8 \, W. |4 c' e1 d% ~: f* b [- L6 A- ]
2 L+ Y6 b+ L# w- ?+ G7 N3 n
* M* z, ]: ]1 s! G& B$ v! h0 _不跑码的故障是电脑主板维修工作中最难,牵涉面最广的问题。
7 U4 l! G6 ]2 b5 ^9 M' Q9 W- x/ x' V& t+ u4 Y
9 L p1 i1 i' X9 c: O% ?: |% f) C
p7 [) P' y! i6 i
1.要想主板跑码就必须得先测量所有供电,* H4 C" ~) }+ I2 D' L5 y
; A0 E, M6 j: r+ \, U6 [
假如所有供电都正常了,那么就会有电源好信号出来,时钟也就会工作。然后南桥时钟正常后收到电源好信号后发出pcirst信号,再当北桥收pcirst后又发出cpurst复位cpu,然后cpu开始执行代码加载bios。8 S) n9 m6 W% V1 t; |' h
9 M* z4 x. S; P$ v首先量测系统的各种clock是否正确产生,假如正常继续后面量测分析。
6 `* P+ f: \0 y0 ?. R% P* x/ `+ q! _' l
- I6 f& c0 [2 ]" x( g) T2 Y/ ^
$ Z @4 d7 n) b2.测时序信号
$ T0 j$ C1 E; f9 g/ {0 Q9 p) p! J$ [( m. {1 w, w, Y" b( ?3 Z3 Q( z
量测pwrgood(南桥发给cpu)和 pcirst#、cpurst#(北桥发给cpu)信号正常" e% g, I: e9 Q8 S6 w8 g$ v. v
# @/ O, V' i6 x, c
# l+ S8 U) D" u, I/ d- }
# Y9 F# [9 c0 f3. 测bios地址线8 p! q4 Y5 \6 L F
1 Z' B4 y8 Z) k% h; c9 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的地址信号动作,则需进一步量测上一级总线信号以判定是那个总线上的设备有 问题。
$ z0 W" v7 e; o/ H; P5 L: N3 q
注:cpu被reset后,所有的状态被clear到一个硬件的缺省状态,并且clear l1和l2 cache。然后cpu开始从0ffff-fff0h的地址读取bios 的第一条代码执行bios程序,所以从最高位地址量测比较方便。
1 P& H& H# `; G6 i% V" l5 T: I) R1 i& c! k: o3 [/ o& x- r
5 x I( ], d8 Z- G w
9 W- U1 \- P) n
. d F# ?5 `2 S9 e w3 k4.测lpc总线
Z! Q% B- h2 u% ^5 r0 ]- J" J+ j/ P. R$ G' }4 F6 M: W
由于我们目前的架构bios总线是从lpc上经过ec(pc87591) bridge过去的,所以需要进一步判定lpc上是否正常解码到cpu 的发 出的解码信息。开机时用示波器测量lpc上的frame#信号看有否低电平的信号变化(为什么测frame#,由于frame#用来启动一个总线周期的 传输,更具体内容请自行阅读lpc spec)。假如有信号则说明ec有问题,没有把lpc的总线周期传到bios上。假如没有信号动作说明lpc上 也没有解码出cpu的第一条读取指令信息。
5 l4 J8 ~( h2 Y5 {! T
+ ], u4 O" {! }2 [. \. y1 R) l
; t* |8 o5 a* z& C* K" k
6 \" O; b8 @" k& B( z" `5.测pci总线2 Q& Q$ C c6 ^" w7 D, N/ D
" `: J1 {7 m1 J, I2 E5 M 通常lpc总线是从南桥的pci-lpc bridge转出来的,所以当lpc上没有动作时,就要量测pci的总线上是否有解码到cpu 的第一 条指令。也是开机时用示波器抓pci的frame#信号看有否低电平的信号动作。假如有信号则说明南桥有问题,没有把pci的总线周期传到pci 上。假如没有说明pci上也没有解码出cpu的第一条读取指令信息。; ^& N) }7 m& B/ h l, ^1 Q @
1 Z0 C0 g" Y# S# b8 d& ^
9 E& V; c& a$ N1 n
/ ]/ x$ H* q; w4 x9 k2 O! _6.测vlink或hub-link
' _9 J& l& }! N: k* ?, T9 i6 F- l9 ?; d
由于pci是由北桥和南桥的点对点传输后在南桥内部转出的,所以 此时要进一步量测*link上的strobe#信号是否有动 作,以判定北桥是否把cpu的解码指令传下来。假如有信号则说明南桥有问题,假如也没有则要进一步测量host bus。
* T! \$ T: r O- Q, M) W- W" t' v) l/ K
, K1 ?. R) s2 W: w% d
7.测host bus
/ v& w6 f& E% N0 O
* P1 D6 L7 t2 M) U 开机时用示波器抓host bus的ads# 信号,假如有低电平的信号动作,则说明cpu有发出bios的执行指令,而北桥因故没有正确解码该总线周期,需要check的北桥的电路原理图和焊接质量及物料是否有装错等等因素。假如也没有则说明cpu电路有问题,不是cpu坏了就是cpu的电路原理连接有误或者工艺或者物料装错等等原因。
/ \2 b9 ?2 n0 M- }$ Y
$ [' Z6 G4 F0 T以上内容用通俗一点的话讲出来,首先是测量供电,时钟,复位等硬件工作的主要条件,接着打到bios的a16-a18的地址总线上面,看有无波形跳变,如有,则bios损坏,需要刷写bios ,假如没有,则检查lpc总线的frame#假如有,刚ec损坏的可能性比较大,假如还没有,则检查pci总线上的frame#,假如有,刚南桥损坏,假如没,则要继续向前级检hub 总线上面的strobe#信号,假如有跳变,则南桥损坏,假如没有,则要检查host总线上面的ads#,假如有,则北桥损坏的可能性较大,假如还是没有,则要检查cpu。
0 S( ?; P: v2 \/ C! W0 U6 U& a8 h6 G, N$ Z5 R- s9 s
总结就是: 供电. 时钟. 复位. BIOS当然也包括南北桥和IO了就这么多故障点了8 ` c8 l$ i& {$ h* i8 {& d
% ?- d7 W) M4 d9 E5 I% b
! L) c3 b/ g m# S1 D短接开机针只见熟悉的自检界面,过程就不说了. 反正是修好了. 还没换什么大件 1 O; ]; y% I% z6 D: {, O
9 [' ~/ z2 {7 X$ T" o还有就是英华啊,我从版主降成普通会员了啊 ; ^# t, M0 H9 |; U7 L: c& i& E* l, L
, D: t$ b( e# E: ~1 t: }, K0 _* K+ V
版主要是不泛滥的话 给我个版主吧
! Z( L0 L! J" ~ |