Диагностическая плата для персонального компьютера

December 14, 2014 by admin Комментировать »

В. Мосягин, г. Великий Новгород

Описывается простое устройство — диагностическая плата (POST Card), — позволяющее «подсмотреть» информацию, выдаваемую компьютером во время начальной загрузки. Диагностическая плата рассчитана на использование в персональных компьютерах (ПК) с шиной стандарта ISA-bus (Industry Standard Architecture). Ее применение позволяет выявить около 50 неисправностей системной платы ПК даже в условиях, когда компьютер не подает признаков жизни.

В базовой системе ввода (микросхеме BIOS — Basic Input Output System) ίΐΚ содержится программа POST — Power On Self Test, которая выполняется при каждом включении ПК или его перезагрузке (нажатии кнопки Reset на передней панели системного блока ПК или комбинации клавиш Ctrl — Alt — Del — так называемой «мягкой» перезагрузке). Во время выполнения POST происходит диагностирование основных узлов ПК. Процедура POST отображает ход диагностики тремя способами:

•          звуковыми сигналами (Веер — Codes), сообщениями на дисплей, выдачей шестнадцатеричных кодов (POST-кодов) в определенный порт ввода — вывода.

Большинство BIOS для ПК с системными шинами ISA, EISA используют для POST-кодов порт ввода-вывода 80Н. Лишь немногие ПК ориентированы на другие адреса, например ЗООН; ISA Compaq — 84Н; часть моделей IBM посылают коды в порт 90Н, а для ПК с архитектурой MCA используют порт 680Н. Некоторые из указанных моделей дублируют информацию по тому же адресу 80Н.

Таким образом, процедура POST представляет собой последовательность тестовых фрагментов, проверяющих отдельные узлы ПК (шины, процессор, память, контроллеры ввода — вывода, клавиатуру, гибкие и жесткие диски и т. д.). Перед началом тестового фрагмента въедается POST-код. В случае .обнаружения неисправности дальнейшее выполнение теста прекращается, а выведенный POST-код однозначно определяет неисправный узел или подсистему ПК. Глубина поиска дефектов и точность их локализации зависят от тестов, заложенных в BlOS’e компьютера. В качестве примера в табл. 5.2 представлен состав процедур POST одной из известных производителей BIOS — фирмой AMI — American Megatrends. Подробнее ознакомиться с принципиальной схемой компьютера, а также листингом POST можно по литературе [1].

Таблица 5.2. Состав операций теста по включению питания (POST)

Фрагмент теста

Код ошибки

Запрещение NMI

01

Тест регистров 80286

02

Тест контрольной суммы ROM-BIOS

03

Инициализация контроллера прерываний (8259)

04

Запрещение видео и работы таймера

06

Тест 2-го канала 8253

07 ‘

Продолжение таблицы 5.2

Фрагмент теста

Код ошибки

Тест 2-го канала таймера (микросхема 8254)

08

Тест 1-го канала таймера (микросхема 8254)

09

Тест 0-го канала таймера (микросхема 8254)

ОА

Сброс статуса четности

ОВ

Тест регенерации и таймера

ОС

Тест периода регенерации

0D

Окончание тестов регенерации и начало тестов 1-х 64К памяти

10

Тест шин адреса

11

Тест 1-х 64К памяти

12

Тест векторов прерываний

13

Тест контроллера клавиатуры (8242)

14

Тест чтения/записи CMOS

15

Тест батареи/контрольной суммы CMOS

16

Установка монохромного режима

17

Установка цветного режима

18

Обнаружение видео ROM

19

Управление видео ROM

Тест чтения/записи видеопамяти

Тест чтения/записи альтернативной видеопамяти

1C

Видеотест

20

Завершение видеотеста

21

Тест памяти в виртуальном режиме

31

Установка процессора в виртуальный режим

32

Тест адресных линий

34

Тест памяти ниже 1МВ

37

Вывод размера памяти

ЗА

Тест памяти выше 1МВ

зв

Продолжение таблицы 5.2

Фрагмент теста

Код ошибки

Начало тестов контроллера прямого доступа

42

Тест адресных линий ν

Тест регистров страниц контроллера прямого доступа

50

Тест 1-го канала контроллера прямого доступа

52

Тест 2-го канала контроллера прямого доступа

53

Тест контроллера прямого доступа закончен

56

Тест установки маски контроллера прерываний (8259)

59

Тест прерываний таймера и клавиатуры

Тест прерываний таймера закончен

Тест прерываний клавиатуры закончен

Ошибка прерываний таймера/клавиатуры

5D

Ошибка контроллера прерываний

Тест 8259 успешно закончен

5F

Тест клавиатуры

70

Тест клавиатуры закончен

72

Установка клавиатуры

73

Инициализация гибких дисков

74

Инициализация гибких дисков закончена 1

75

Инициализация жестких дисков

76

Инициализация жестких дисков закончена

77

Тест ROM COOOh

7F

Инициализация параллельных портов

82

Инициализация последовательных портов

83

Инициализация математического сопроцессора

84

Тест ROM Е000:0

87

Код загрузки

00

Рис. 5.11. Принципиальная схема диагностической платы

Принципиальная схема диагностической платы представлена на рис. 5.11.

Она состоит из следующих узлов: 8-разрядного параллельного регистра DD1, предназначенного для записи и хранения POST-кодов, дешифратора DD2, формирующего сигнал разрешения записи в регистр, преобразователей DD3 и DD4 двоичного кода в семисегментный, индикаторов HL4, HL5 младшей и старшей половины двоичного кода. Диагностическая плата имеет специальные светодиоды HL1—HL3, служащие для индикации питающих напряжений —3 В, -12 В и+12 В.

Зафиксированный в регистре DD1 POST-код для отображения на индикаторах делится на две половины: младшую и старшую. Каждая из половин поступает на соответствующий преобразователь кода: младшая половина на DD3, старшая — на DD4, а затем через токоограничивающие резисторы R5…R18 на соответствующие семисегментные индикаторы HL4, HL5 с общим анодом. Резисторы Rl—R3 ограничивают ток через светодиоды HL1—HL3, соответственно, резистор R4 является нагрузкой микросхемы DD2, имеющей выходы с открытым коллектором. Конденсаторы Cl, С2 установлены по цепи питания +5 В устройства.

В конструкции использованы Ъледующие микросхемы: DD1 типа К555ИР22, DD2 – К556РТ4, DD3 и DD4 – К155РЕЗ, их можно заменить аналогами из серии K1S33, а также зарубежными. В качестве светодиодов HL1—HL3 можно применить АЛ307БМ, а также любые другие. Индикаторы HL4, HL5 типа АЛС324Б либо любые другие светодиодные индикаторы с общим анодом. Конденсаторы Cl, С2 типа К10-17, все резисторы МЛТ-0,125, МЛТ-0,25.

Все элементы диагностической платы размещены на печатной плате из фольгированного с обеих сторон стеклотекстолита толщиной около 2 мм (рис. 5.12).

В диагностической плате имеются три микросхемы, которые перед установкой необходимо запрограммировать: DD2 в соответствии с табл. 5.3; DD3 и DD4 — табл. 5.4. Для программирования микросхем используется программатор 815 или другой. Надежность хранения информации в микросхемах существенно повышается, если сразу после операции программирования провести их термотренировку, продержав в печи при температуре 90 *С около 6 часов.

После тщательной проверки монтажа диагностическую плату, необходимо протестировать. Это можно сделать с помощью широко распространенной программы-отладчика Debug. При выключенном питании ПК устанавливают диагностическую плату в 1SA слот. В процессе загрузки компьютера на семисегментном индикаторе должны появляться POST-коды, а также светиться светодиоды наличия питающих напряжений HL1—HL3. Запускают отладчик Debug и вводят следующую последовательность команд:

debug – о 80 хх, здесь xx(h) — шестнадцатеричное значение кода, выводимого на семисегментный индикатор, может находиться в диапазоне 00h…ffh.

В табл. 5.4 приведен исходный текст программы «теста доверия» диагностической платы на языке Си. Анализатором выходных реакций теста является оператор, наблюдающий появление соответствую-

Рис. 5.12, а. Печатня плата щих кодов на экране дисплея и на семисегментных индикаторах диагностической платы. Смена кодов происходит после нажатия клавиши «пробел».

Итак, что же необходимо иметь перед началом ремонта ПК? Во-первых, протестированную диагностическую плату. Во-вторых, список POST-кодов для конкретной версии BIOS системной платы компьютера. Таблицы POST-кодов для наиболее распространенных BIOS — AMI и AWARD можно найти на сайтах фирм-производителей [2, 3].

Последовательность операций при ремонте ПК следующая. При выключенном питании ПК диагностическая плата устанавливается в свободный слот системной (материнской) платы. После включения питания считывается POST-код, соответствующий ошибке и по таб-

Рис. 5.12, б. Печатная плата лице кодов ошибок определяется, на каком из тестов произошла ошибка. Дальнейшие операции зависят от характера ошибки и сводятся к перестановке перемычек, разъемов, модулей памяти, адаптеров и т. п. до устранения неисправности и устойчивого прохождения POST-теста. Ясно, что все указанные операции производят при выключенном питании компьютера.

Ознакомиться с другими версиями диагностических плат можно по литературе [4—6]. Диагностические платы для современной шины PCI (Peripheral Component Interconnect) описаны в [7].

Рис. 5.12, в. Размещение элементов на печатной плате

Таблица 5.3. Коды программирования микросхемы DD2

Таблица 5.4. Коды программирования микросхем DD3 и DD4

Таблица 5.5. Исходный текст теста диагностической платы на языке Си

#include<conio.h>

#include<stdio.h>

#include<dos.h>

#include<bios.h>

void TestPort(int Port,int Ident); void main()

{

int count; int Portl;

int Port;

Продолжение таблицы 5.5

. int Ident;

Portl=0x80;

textbackground(CYAN);

textcolor(BLACK);

clrscr();

cputs("if");

|fbr(count=78;–count;cputs(”=”))

puts(*n");

for(count=0;count<23;count++)

putsf;

cputs(”lbH);

for (count=78;~count;cputs("="));

cputsfJ]");

gotoxy(15,5);

printf (Тест диагностической платы "

’Version 1.0 Copyright (c) 1993.\n");

gotoxy(15,8);

printf(”HaxMHTe клавишу пробел \n");

gotoxy(15,ll);

printff’Kofl на дисплее диагностической платы – "); Port=Portl;

Ident=0x00;

TestPort(Port,Ident);

Ident=0x0FF;

TestPort(Port,Ident);

Ident=0x55;

TestPort(Port,Ident);

Продолжение таблицы 5.5

Ident=OxOAA;

TestPort(Port,Ident);

Ident=0x33;

TestPort(Port,Ident);

Ident=OxOCC;

TestPort(Port,Ident);

Ident=0x0F;

TestPort(Port,Ident);

Ident=0x0F0;

TestPort(Port,Ident);

Ident=0x5A;

TestPort(Port,Ident);

Ident=0x0A5;

TestPort(Port,Ident);

Ident=0x3C;

TestPort(Port,Ident);

Ident=0x0C3;

TestPort(Port,Ident);

Ident=0x66;

TestPort(Port,Ident);

Ident=0x99;

TestPort(Port,Ident);

Ident=0x88;

TestPort(Port,Ident);

gotoxy(15,14);

printf(‘TecT диагностической платы завершен \n");

> : _ void TestPort(int Port,int Ident)

{

Продолжение таблицы 5.5

outportb(Port,Ident);

gotoxy(54,ll);____________

printf(”%2.2X”, Ident); while (bioskey(0)!=14624);

V,

Литература

1.        Левкин Г. Я., Левкина В. Е. Введение в схемотехнику ПЭВМ PC/AT. — М.: Изд-во МПИ, 1991. – 96 с.

2.                  http://www.ami.com/

3.                  http://www.award.com/

4.        Борзенко А. Диагностические платы. — Компьютер Пресс, 1994, JSfe 9, с. 32—37.

5.        Скрипник Р. Устройство POST Card для ремонта компьютеров. — Радиохобби, N° 4, 2000, с. 61—62.

6.        Всшъпа О. Плата диагностики POST. — Схемотехника, № 3, 2003, с. 32-35.

http://epox.kiev.ua/

Источник: Под редакцией А. Я. Грифа, Оригинальные схемы и конструкции. Творить вместе! — М.: СОЛОН-Пресс, 2004. – 200 с.: ил. – (Серия «СОЛОН – РАДИОЛЮБИТЕЛЯМ», вып. 23)

Оставить комментарий

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты