电脑的开机自检测试

PC/XT 机一开机便进入自检测试程序。如果熟悉了自检测试程序对系统哪些部件进行检测,每个部件检测了哪些项目和执行了哪些操作,能够帮助我们分析故障的部位,区分部件的好坏,下面我们来看看起动过程的操作内容和自检项目。

起动过程及自检测试诊断项目:

  1. 接通电源,如果电源正常,就发送电源好的信号给 CPU

    的时钟发生器。使之产生 CPU 的复位信号(RESET 信号)。

  2. CPU 执行复位操作:DS,ES,SS,IP 等寄存器清零,代码段寄存器 CS

    被设置成 OFFFFH。以后随着时钟发生器发出的时钟信号,CPU 便开始从 CS: IP 指针指向的内存地址 OFFFFOH 处取指令执行。

  3. OFFFFOH 地址处于系统 ROM 区内,所以这时机器是在执行 ROM

    中的程序,此程序最先进入开机自检测试过程。

  4. 自检测试程序进行 CPU 测试,中断禁止,设置 CPU 标志,用全 0 和全

1 的顺序通过 CPU 的各个寄存器,如果标志位不能置位或清 0,或寄存器检测数据不对,则出错,系统执行 HLT 停机。

  1. BIOSROM8KB(OFEOO-OFFFFFH)检测:关 NMI 中断,初始化 DMA

    页寄存器,置 8255 的 A 口、B 口、为输出,C 口为输入,将检测代码 01H 送到 PA 口输出。对 BIOSRoM8KB 求校验和。如果校验和为 0 表示正确,否则出错,执行 HTL 停机→8237DMA 控制器通道寄存器初始化测试:将检测代码 02H 送到PA 口输出,检测 TIMER1 功能是否完好。若出错,执行 HTL 停机,否则将检测代码 03H 送到 PA 口输出、检测 DMA 通道地址和计数器。若出错,执行 HTL 停机,否则初始化并许启动 DMA 进行 RAM 刷新,在检查 DMA 工作是否正常。若不正常,执行 HTL 停机。

  2. 基本 16KBRAM

    测试:在这一步中,机器首先判断目前处于热启动还是冷启动,只有冷启动才进行这步测试。测试方法就是往该部分 RAM 写入数据, 然后读出比较,从而确定基本内存的正常与否。若出错,将检测代码 04H 和错误模式交替向 PA 口送出;如果正常,就初始化 8279 中断控制器,并建立起基本的 BIOS 中断向量。

  3. 初始化并启动 CRT 显示控制器同时进行测试。测试内容分为两部分:

(1)视频 RAM 测试;(2)视频信号和同步信号测试。视频 RAM 测试也是简单的读写校验,如出错,机内喇叭响一长两短,并将 CRT 错误代码 06H 置入00415H 单元(称为设置工艺测试出错特征单元)。对 CRT 信号的测试随后进行,如果出错处理方式同上。CRT 测试无论出错与否,均不停机,自检仍然继续下去。

8.8259 中断控制器测试。将检测代码 05H 置入 00415H。以全 0 和全 1

写入中断屏蔽寄存器(IMR),检测读出是否一致。不同就显示 101 错误代码。9.8253 定时器/计数器功能测试。将检测代码 02H 置入 00415H 单元。检

测 TIMER0 定时通道是否正常,计时是否过快或过慢。若工作不正常或计时过快、过慢,表示出错,显示 101 错误代码,系统配置开关位 1,若为 ON 状态, 则将 02H 检测代码送到 8255 的 PA 口,然后执行 HTL,系统停止运行。

  1. 键盘测试。若系统配置开关位 1 为 ON

    状态,就跳过该步测试,否则使用软件复位键盘,检查有无键盘中断发生,扫描码 0AAH 有无返回主机,若

无,显示 301,表示键盘出错。粘键检查,若有某个键一直处于按下状态, 显示 XX301,其中 XX 表示粘键的扫描码。不管键盘是否出错,自检继续进行下去。

  1. 扩展 I/O 盒检查。如果系统有 I/O 扩展盒便测试连接到 I/O

    盒的数据总线和地址总线,若连接不正常,显示 1801 错误代码。

  2. 附加存储器测试。冷启动时才执行这一步,以 16KB 为一块,按 5

    种模式进行读写校验,从出错位置确定可以工作的存储器容量,将存储器大小存入 00413H,00414H 单元。出错的测试点存入 00415H 单元,并显示:

XXXKBOK XXXXXXX201

若系统配置开关位 1 为 ON 状态,出错检测点送到 PA 口上。

  1. 可选 ROM 测试。如果系统有可选 ROM 存在,便以 2KB

    为一块进行校验测试,校验和为 0 则正确,否则出错,出错显示:XXXXXROM。

  2. 磁盘联机测试。若系统配置开关位 1 为 OFF 状态,就进行该步测试,

    复位磁盘,寻道测试,若出错,显示 601(软盘)或 1701(硬盘)。

  3. 当有其他外部设备连接时,建立打印机和 RS232

    基地址,允许定时器和键盘中断,检测有无出错,有错则响两声短铃,并显示:“ERROR。(RESUME

=F1KEY)等待按下 F1 键跳过出错”。否则,响一短铃声。检测主板上配置开关位 1 的状态是否为 ON 状态(循环返回状态),若是,重新进行开机自检, 否则,允许 NMI 中断,装人引导程序,即读磁盘 0 面 0 道 1 扇区的内容,装人从 07C00H 单元开始的内存中。若装入成功,将执行装入的引导程序,否则, 把控制转到 ROM 中的 BOMBASIC 起始地址,开始执行 ROMBASIC。

以上是 PC/XT 机的开机自检过程,可以看出,在自检过程中,自检程序将检测结果或者送到显示器显示,或者通过喇叭发声。如果机器开机后就死锁,我们也可以通过测试 8255 芯片 PA 口的输出来得到错误代码。另外,对这种情况。检测 CPU 信号也是一个重要方面。下面仅仅列出自检错误代码与故障出现的部件之间的关系:

IBMPC/XT 自检出错代码与故障部件关系

错误代码

响声信号

出错部位

正确代码

3

( SDLC )通讯适配器

1700

17 ××

硬盘驱动器

1800

18 ××

扩充部件

2000

20 ××

主双同步( BSC )通讯适配

2100

21 ×××××××

ROM

副双同步( BSC )通讯适配

器 ROM 故障出现的部件