Как было сказано выше, при каждом включении питания ПК и до начала загрузки операционной системы процессор компьютера выполняет процедуру BIOS под названием «Самотест по включению питания» — POST (Power On Self-Test). Эта же процедура выполняется также при нажатии на кнопку RESET или комбинацию клавиш CTRL-ALT-DEL.
Перед началом каждого из тестов процедура POST генерирует так называемый POST-код, который выводится по определенному адресу в пространстве адресов устройств ввода/ вывода компьютера. В случае обнаружения неисправности в тестируемом устройстве процедура POST просто зависает, а выведенный POST-код определяет, на каком из тестов произошло зависание. Таким образом, качество и точность диагностики при помощи POST кодов полностью определяется точностью тестов соответствующей процедуры POST BIOS компьютера.
В основном, в большинстве случаев используется порт 80п с системной шиной ISA, где POST-коды представляют собой байт, который приводится в таблицах POST-кодов в виде одноразрядных шестнадцатиричных чисел в диапазоне OOh-FFh (0-255 в десятичной системе счисления).
Таблицы POST-кодов отличаются для различных фирменных BIOS и в связи с появлением новых тестируемых устройств и чипсетов несколько отличаются даже для различных версий одного и того же производителя BIOS, таблицы POST-кодов приводятся в руководствах к материнским платам (например, руководства к платам P6SBA-P6DBS Supermicro). Для отображения POST-кодов в удобном для пользователя виде служат устройства под названием POST Card. POST Card — плата расширения компьютера, вставляемая (при выключенном питании!) в свободный (соответствующий ее разъему — ISA или PCI) слот и имеющая два семисегмент-ных индикатора для отображения POST-кодов. Самая простая POST Card для шины ISA отображает POST-коды по фиксированному адресу 80h и не имеет переключателей для изменения этого адреса. Прохождение сигнала RESET компьютера на такой POST Card фиксируется по миганию точек семисегментного индикатора POST кодов либо отображается на нем специальными символами. В качестве примера можжно привести POST-карту фирмы DataDepot Inc — PocketPOST, или PHD 16 для шины ISA (Professional Hardware Diagnostics) фирмы Ultra-X, Inc.
Диагностические карты обычно выполняют следующие тесты:
-
Тестирование процессора.
-
Проверка контрольной суммы ROM BIOS.
-
Проверка и инициализация контроллеров DMA, IRQ и таймера 8254. После этой стадии становится доступной звуковая диагностика.
-
Проверка операций регенерации памяти.
-
Тестирование первых 64 Кб памяти.
-
Загрузка векторов прерываний.
-
Проверка процедуры инициализации видеоконтроллера. Затем диагностические сообщения выводятся на экран.
-
Тестирование полного объема ОЗУ.
-
Тестирование клавиатуры.
-
Тестирование CMOS-памяти.
-
Проверка процедуры инициализации СОМ- и LPT-портов.
-
Инициализация и тест контроллера НГМД.
-
Проверка процедуры инициализации и тест работы контроллера НЖМД.
-
Поиск дополнительных модулей ROM BIOS и их инициализация.
-
Вызов загрузчика операционной системы (INT 19h, Bootstrap), затем, при невозможности загрузки операционной системы, попытка запуска ROM BASIC (INT 18h); при неудаче — остановка системы (HALT).
-
Выключается питание неисправного компьютера.
-
Устанавливается POST Card в любой свободный слот материнской платы.
-
Компьютер включается, и оператор считывает с индикатора POST Card соответствующий POST-код, на котором зависает загрузка компьютера. По таблицам POST кодов пользователь может определить, на каком из тестов возникли проблемы. При выключенном питании производятся перестановки джамперов, шлейфов, модулей памяти и других компонентов с целью устранить неисправности. Пункты 3, 4, 5 повторяются еще раз с целью повторяемости устойчивого результата — прохождения процедуры POST и начала загрузки операционной системы.
-
Далее при помощи программных утилит производится окончательное тестирование аппаратных компонентов, а в случае плавающих ошибок осуществляется длительный прогон соответствующих программных тестов.
На практике, прежде всего, при включении питания перед началом процедуры POST должен произойти сброс системы сигналом RESET, что индицируется на POST Card специальными символами или светодиодом. При неисправности компьютера в самом сложном случае сброс либо совсем не проходит, либо проходит, но никакие POST-коды на индикаторе не отображаются.
В этом случае рекомендуется сразу же выключить компьютер, вытащить все дополнительные платы и кабеля, а также память из материнской платы, оставив подключенной к блоку питания только собственно материнскую плату с установленными процессором и POST Card. Если при последующем включении компьютера нормально проходит сброс системы и появляются первые POST-коды, то, очевидно, проблема заключается во временно извлеченных компонентах компьютера; возможно также — в неправильно подключенных шлейфах (особенно часто вставляют наоборот шлейф IDE).
Вставляя последовательно память, видеоадаптер, а затем и другие карты, и наблюдая за POST-кодами на индикаторе, обнаруживают неисправный модуль. При неисправной памяти для компьютеров с AMI BIOS последовательность POST-кодов обычно останавливается на коде d4 (для старых плат 386/486 - на коде 13); с AWARD BIOS — на кодах С1 или Сб. Бывает, что при этом неисправна не сама память, а, например, материнская плата — причина заключается в плохом контакте в разъемах DDR/DDR2/DDR3 (согнуты/замкнуты между собой контакты) либо плохо, не до конца вставлена сама память в разъеме. При неисправном видеоадаптере для компьютеров с AMI BIOS последовательность POST-кодов останавливается на кодах 2С, 40 или 2А в зависимости от модификации BIOS, либо проскакивает эти коды без появления на мониторе соответствующих строк инициализации видеокарты (с указанием типа, объема памяти и фирмы-производителя видеоадаптера). Для компьютеров с AWARD BIOS при неисправности видеоадаптера последовательность POST-кодов либо останавливается на коде 0d, либо проскакивает этот код.
Если память и видеоадаптер тестируются нормально, то, устанавливая по одной остальные карты и подключая шлейфы, на основании показаний индикатора POST Card определяют, какой из компонентов подсаживает системную шину и не дает загрузиться компьютеру. Если не проходит начальный сброс системы (на индикаторе POST Card в самом начале теста не появляются специальные символы, свидетельствующие о прохождении сигнала RESET или не загорается соответствующий светодиод), значит, неисправен блок питания компьютера (например, не формируется сигнал PowerGood) либо неисправна сама материнская плата.
Очень часто причиной неработоспособности является недожатие до упора процессора в Slotl
Если все переключатели, джамперы (перемычки) и процессор установлены правильно, а материнская плата ьсе же не запускается, следует заменить процессор на заведомо исправный.
Если же и это не помогает, то можно сделать вывод о неисправности материнской платы либо ее компонентов (например, причиной неисправности может являться повреждение информации во FLASH BIOS).
Главным достоинством POST Card является то, что она не требует для своей работы подключения дисплея и тестирование компьютера при помощи POST Card возможно на ранних этапах процедуры POST, когда еще не доступна звуковая диагностика.