Индикатор POST-кодов
Для ремонта кампьютеров,, наши партнеры предлагают готовые POST-карты, с помощью которых вы можете протестировать и выявить код ошибки при загрузки компьютера.
В 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-кода на индикаторе указывает на неисправный узел ПК. Анализируя полученную при помощи индикатора информацию об имеющихся в системе дефектах, можно сделать вывод о целесообразности или об осуществимости ремонта, например материнской платы ПК, в существующих условиях (наличие элементной базы и необходимого ремонтного оборудования). Литература:
- Гук М. Аппаратные средства IBM PC - СПб: Питер, 1996. - 224 с.: ил.
- В помощь радиолюбителю: Сборник. Вып. 108/ Сост. В.А. Никитин. - М.: Патриот, 1990. -80 с., ил.
Кишков Дмитрий Владимирович
Инженер фирмы "MM-Company" (г.Омск)
E-mail:
dima@mm-c.ru