В BIOS (Basic Input Output System - базовая система ввода-вывода) любого современного персонального компьютера (ПК) содержится программа POST - Power On Self Test, она выполняется при каждом включении ПК или его перезагрузке (нажатии кнопки RESET или комбинации клавиш Ctrl-Alt-Del). Во время POST происходит тестирование аппаратных средств ПК. Для вывода результатов тестирования используются несколько способов (приведены в порядке их проявления): - запись программой теста кода ошибки (POST-кода) во внешнее устройство (диагностический регистр) с определенным адресом, адрес зависит от архитектуры ПК: ISA, EISA - 80h, ISA - Compaq - 84h, ISA-PS/2 - 90h, MCA-PS/2 - 680h, некоторые модели EISA - 300h (часто пишут то же и в 80h) [1]; - вывод звуковых сигналов на системный динамик (PC-Speaker); звуковая диагностика становится возможной после инициализации портов ввода-вывода материнской платы, сообщение об ошибке выглядит как последовательность коротких и длинных звуковых сигналов (Beep-Codes); - вывод текстовых сообщений на экран монитора; этот способ информирования о неисправностях появляется после инициализации видеоадаптера.
Использование информации о результатах прохождения POST может существенно ускорить процесс поиска неисправностей в ПК. Поэтому устройство, позволяющее считывать содержимое диагностического регистра - индикатор POST-кодов (РС-тестер, диагностическая плата, POST-card) на наш взгляд должно быть в арсенале каждого специалиста, занимающегося ремонтом, модернизацией или сборкой ПК. Подобное устройство вполне возможно изготовить самостоятельно, один из его вариантов, рассчитанных на использование в ПК с шиной стандарта ISA-Bus (Industry Standard Architecture) описан в этой статье.
Структурная схема индикатора POST-кодов приведена на рис.1. Индикатор состоит из четырех основных блоков: RG - восьмиразрядный параллельный регистр; предназначен для записи и хранения очередного поступившего значения POST-кода; DC1 - дешифратор разрешения записи в регистр; сигнал на выходе дешифратора становится активным в случае появления на адресной шине адреса диагностического регистра, а на шине управления - сигнала записи в устройства ввода-вывода; DC2 - дешифратор-преобразователь двоичного кода в код семисегментного индикатора; HG - двухразрядный семисегментный индикатор; отображает значение кода ошибки в виде шестнадцатеричных символов - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, b, C, d, E, F.
Принципиальная электрическая схема индикатора приведена на рис.2. В качестве восьмиразрядного регистра с параллельным входом DD1 используется микросхема КР1533ИР35, имеющая вход асинхронного обнуления R, через инвертор на элементе DD2.2 подключенный к сигналу Reset шины ISA (контакт В2 штекера XP1). На входы регистра приходят сигналы Data0:Data7 шины ISA (контакты А9:А2 XP1).
Дешифратор разрешения записи в регистр DD1 собран на элементах DD2.1, DD2.3, DD2.4, DD3.1 и DD3.2, на вход этого дешифратора поступают адресные сигналы Addr0, Addr1, Addr3:Addr9 (контакты А31, А30, А27:А22 штекера XP1 соответственно), а также управляющий сигнал записи в устройства ввода-вывода - IOWR (контакт В13 XP1) шины ISA. Дешифратор формирует сигнал записи на выводе 11 регистра DD1 при появлении на шине ISA адресов 80h или 84h и низкого уровня сигнала IOWR.
Дешифратор-преобразователь двоичного кода в код семисегментного индикатора выполнен на двух соответствующем образом запрограммированных микросхемах ПЗУ DD4 и DD5 типа К155РЕ3, объемом 32?8. Объем каждой микросхемы используется лишь на половину (старший адресный вход подключен к общему проводу), во вторую половину микросхемы можно, например, поместить "прошивку" для индикатора с общим катодом. Вход выбора кристалла CS (вывод 15) обоих микросхем подключен к общему проводу. Коды "прошивки" микросхем К155РЕ3 (обе микросхемы программируются одинаково) для индикатора с общим анодом приведены в табл.1. При программировании следует обратить внимание, что в схеме на рис.2
Таблица 1
Адрес (hex) |
00 |
01 |
02 |
03 |
04 |
05 |
06 |
07 |
08 |
09 |
0A |
0b |
0C |
0d |
0E |
0F |
Данные (hex) |
40 |
79 |
24 |
30 |
19 |
12 |
02 |
78 |
00 |
10 |
08 |
03 |
46 |
21 |
06 |
0E |
выходы ПЗУ используются в порядке отличном от стандартного, приводимого в справочниках.
В качестве устройства индикации HG1 используется двухразрядный семисегментный индикатор иностранного производства - "PARA LIGHT" A-402NDH, общие аноды обоих индикаторов через токоограничительные резисторы R1 и R2 подключены к напряжению питания +5 В.
Напряжение питания на плату индикатора поступает с контактов штекера XP1 - В3, В29 (+5V) и В1, В31 (GND). В цепи питания индикатора установлены пять (по одному на каждый корпус микросхемы) помехоподавляющих конденсаторов С1:С5.
Немного о возможных заменах использованных в конструкции компонентов. Микросхему регистра D1 К1533ИР35 можно заменить иностранным аналогом SN74ALS273N, также можно использовать любой восьмиразрядный параллельный регистр, имеющий вход асинхронного обнуления.
Вместо микросхем дешифратора разрешения записи в регистр DD2 - КР531ЛА3 и DD3 - КР531ЛЕ7 можно также применить их иностранные аналоги - SN74S00N и SN74S260N соответственно. Вместо КР531ЛА3 также применимы КР1533ЛА3, КР555ЛА3, К155ЛА3. В принципе данный дешифратор можно выполнить и по иной схеме, на других типах логических элементов (например, по схеме приведенной на рис.3), можно также использовать для этой цели определенным образом запрограммированное ПЗУ, но в этом случае не стоит применять микросхемы серии 573 из-за их недостаточного быстродействия.
![](https://kazus.ru/nuke/spaw/images/topics/indikator_3.gif)
Иностранные аналоги микросхем ПЗУ DD4 и DD5 К155РЕ3 - SN74188N и N8223N, но вполне возможно использование практически любых ПЗУ, тех под которые имеется программатор. Примененные в авторском варианте индикатора микросхемы К155РЕ3 были запрограммированы простейшим программатором, схема которого приведена в [2] на стр. 7. На месте DD4 и DD5 в качестве преобразователей двоичного кода в код семисегментного индикатора можно использовать микросхемы стандартной знакосинтезирующей серии 514, например КР514ИД2, но при этом вместо шестнадцатеричных символов A, b, C, d, E, F будут отображаться не вполне понятные комбинации сегментов.
Двухразрядный индикатор HG1 можно заменить любым двухразрядным или двумя одноразрядными индикаторами с общим анодом и током сегмента не превышающим 12 мА, например индикатором DA04-11EWA фирмы "KINGBRIGHT".
![](https://kazus.ru/nuke/spaw/images/topics/indik_4.jpg)
Конструкция индикатора может быть самой различной. В авторском варианте индикатор изготовлен с использованием двухстороннего печатного монтажа, фотография внешнего вида приведена на рис.4. Основным затруднением при изготовлении печатной платы индикатора является выполнение штекера XP1, представляющего собой ряд контактных площадок длиной 8:10 и шириной около 1.5 мм, с шагом 2.54 мм (0.1 дюйма) расположенных на краю платы (контакты А1:А31 расположены со стороны установки радиоэлементов, контакты В1:В31 с обратной стороны), вставляемом в слот ISA-Bus. Поэтому, чтобы избежать этой проблемы можно воспользоваться печатной платой какой-либо ненужной, неисправной карты стандарта ISA, и на ее основе изготовить индикатор.
Коды ошибок специфичны для разных производителей BIOS, информация о них доступна в INTERNET. Поиск следует начать с определения фирмы-производителя BIOS, наиболее распространены BIOS фирм "AWARD SOFTWARE" ("AWARD") - http://www.award.com/и "AMERICAN MEGATRENDS" ("AMI") - http://www.ami.com/. Для ПК таких фирм, как INTEL ( http://www.intel.com/), COMPAQ ( http://www.compaq.com, http://www5.compaq.com/) и некоторых других информацию о кодировке ошибок следует искать на их официальных сайтах, поскольку они часто используют свои оригинальные BIOS. Очень много полезной информации, касающейся BIOS, в том числе и POST-коды таких производителей BIOS как: "AWARD SOFTWARE", "AMERICAN MEGATRENDS", "PHOENIX TECHNOLOGIES", "MICROID RESEARCH", "QUADTEL BIOS SOFTWARE" можно получить на сайте http://ic.doma.kiev.ua/. Кроме этого здесь можно свободно скачать небольшую программу, позволяющую проверить работоспособность собранного индикатора POST-кодов ( http://ic.doma.kiev.ua/pub/p80isa/post80r.exe).
Применение индикатора не вызывает особых проблем. Перед началом любого из своих тестов программа POST помещает в диагностический регистр POST-код, в случае обнаружения неисправности программа останавливается на этом тесте и значение POST-кода на индикаторе указывает на неисправный узел ПК. Анализируя полученную при помощи индикатора информацию об имеющихся в системе дефектах, можно сделать вывод о целесообразности или об осуществимости ремонта, например материнской платы ПК, в существующих условиях (наличие элементной базы и необходимого ремонтного оборудования). Литература:
- Гук М. Аппаратные средства IBM PC - СПб: Питер, 1996. - 224 с.: ил.
- В помощь радиолюбителю: Сборник. Вып. 108/ Сост. В.А. Никитин. - М.: Патриот, 1990. -80 с., ил.
Кишков Дмитрий Владимирович Инженер фирмы "MM-Company" (г.Омск) E-mail: dima@mm-c.ru
C этой схемой также часто просматривают: |
Индикатор набираемого номера.
Пробник - индикатор
Индикатор разности напряжений
Индикатор перегрузки стабилизатора
Индикатор уровня сигнала
АНТИ-АОН
Светопреставление мотоциклиста
Слабо такой руль zделать?!
Строб для подсветки вентилятора
| ![](/images/ru/clear.gif) |
USB генератор пароля в виде флешки
Самодельная USB-гарнитура
Защита от помех устройства, питаемого от разъёма USB
Простое управление куллером компьютера
Переходник для подключения к USB-порту устройства с большим потребляемым током
1-wire шлюз для компьютера (через com-порт) на ATTiny2313
SPI шлюз для компьютера (через com-порт) на ATTiny2313
I2C шлюз для компьютера (через com-порт) на ATTiny2313
Стрелочный индикатор загрузки ЦП и оперативной памяти ПК
Sim Card Reader SOLO GWR
|