Индикатор POST-кодов

 

 

Для ремонта кампьютеров,, наши партнеры предлагают готовые POST-карты, с помощью которых вы можете протестировать и выявить код ошибки при загрузки компьютера. Карта (POST CARD) для ремонта компютера

В 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 из-за их недостаточного быстродействия.

Иностранные аналоги микросхем ПЗУ 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".

Конструкция индикатора может быть самой различной. В авторском варианте индикатор изготовлен с использованием двухстороннего печатного монтажа, фотография внешнего вида приведена на рис.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-кода на индикаторе указывает на неисправный узел ПК. Анализируя полученную при помощи индикатора информацию об имеющихся в системе дефектах, можно сделать вывод о целесообразности или об осуществимости ремонта, например материнской платы ПК, в существующих условиях (наличие элементной базы и необходимого ремонтного оборудования). Литература:

  1. Гук М. Аппаратные средства IBM PC - СПб: Питер, 1996. - 224 с.: ил.
  2. В помощь радиолюбителю: Сборник. Вып. 108/ Сост. В.А. Никитин. - М.: Патриот, 1990. -80 с., ил.

Кишков Дмитрий Владимирович
Инженер фирмы "MM-Company" (г.Омск)
E-mail: dima@mm-c.ru