Power LED, как средство диагностики персонального компьютера

18 Июл 2013

Power LED, как средство диагностики персонального компьютера

После нехитрого преобразования платформа выводит контрольные точки POST-про­це­дур на светодиод Power LED, а сервисный инженер мониторит старт компьютера уда­лен­но, наблюдая их на устройстве, похожем на пульт дистанционного управления.

Безумная идея? Нет. Технология, реализованная компанией Intel в наборах сис­тем­ной ло­ги­ки.

История эволюции

Сервисное обслуживание персональных платформ сегодня трудно представить без ис­пользования диагностических контрольных точек. Главный принцип остался не­из­мен­ным со времен IBM PC: инициализация оборудования, выполняемая про­це­ду­ра­ми BIOS или UEFI, представляется как последовательность шагов. При этом после выпол­не­ния каждого шага выводится диагностический POST-код. В случае остановки или зависания на одном из шагов, диагностический код укажет на причину проблемы. Для фиксации и отображения таких кодов используют POST-карты.

История эволюции таких устройств, началась с 8-битного регистра, адресуемого на шине ISA в качестве порта вывода с фиксированным адресом 80h, затем появились решения для PCI-шины, и наконец, современным трендом является использование USB-порта с возможностью передачи не только цифровых кодов, но и текстовых строк.

Особенности переходного периода

Итак, POST-диагностика переезжает с PCI на USB. Но сегодня существует немалое количество стационарных и мобильных платформ, на которых PCI-слоты уже отсутствуют, как устаревшие, а firmware еще не адаптировано для перехода на USB-диагностику.

В таких случаях разработчики устройств вынуждены временно свернуть с магистрального пути и использовать собственные, platform-specific решения. В устройствах верхнего ценового сегмента, ориентированных на энтузиастов, можно увидеть встроенные индикаторы POST-кодов, обычно подключенные к LPC-шине. Другой вариант – вывести LPC-сигналы на разъем, допускающий подключение POST-карты. Недостатки очевидны – отсутствие унификации. А все потому, что LPC (Low Pin Count) – внутренняя шина системной логики, используемая для связи южного моста и микросхемы Super I/O (на некоторых платформах к LPC также подключена микросхема BIOS).

Оптическая передача POST-кодов

Итак, обратимся к документации на интеловский чипсет 8-й серии, где можно почерпнуть сведения о схемотехнике опто-диагностики.

Схема включения светодиода для реализации опто-диагностики
Рис 1. Схема включения светодиода

Схема проста – светодиод LED через резистор R питается от источника дежурного напряжения +3.3V Standby. К точке соединения светодиода и резистора подключены сигнальные цепи микросхем PCH (Platform Control Hub или южный мост) и Super I/O. Если эти цепи выключены (находятся в Z-состоянии), то на светодиод подается напряжение, и он горит. Если любое из двух указанных устройств выдает логический «ноль» в сигнальную цепь, светодиод оказывается зашунтированным и гаснет. Чередуя «ноль» и Z-состояние с заданной частотой можно генерировать импульсные последовательности, пригодные для восприятия внешним фотоприемником. Нагрузочная способность интерфейсных цепей, необходимая для устойчивой работы – 24 mA. Очевидно, ограничения скорости передачи данных, связанные с инерционностью излучателя и фотоприемника – 1 переключение в микросекунду, – не являются препятствием для передачи диагностической информации.

Компьютерная помощь
Рис 2Передача данных с использованием манчестерского кода

Для управления светодиодом используются сигналы GPIO (General Purpose Input-Output) позволяющие реализовывать программно-читаемые входные линии или выходные линии с программно-управляемым состоянием. Как следует из названия, их назначение не детерминируется при разработке микросхем PCH и Super I/O, а определяется разработчиком платформы.

Использование сигналов GPIO требует некоторой осторожности при реализации процедур firmware, управляющих этими сигналами. Так, например, в рассматриваемой схеме, выдача логической «единицы» на светодиод одним из агентов (PCH или SIO) может привести к прохождению через светодиод повышенного тока. А одновременная выдача логического «нуля» со стороны PCH и «единицы» со стороны SIO (или наоборот) может привести к короткому замыканию цепей питания на общий провод через выходные транзисторы рассматриваемых агентов.

Для управления передачей данных в микросхеме PCH предусмотрен ряд программно-доступных регистров. Основной из которых – General Purpose Serial Blink Command Status Register.

Назначение битовых полей в регистре General Purpose Serial Blink Command Status Register
Рис 2Назначение битовых полей в регистре General Purpose Serial Blink Command Status Register

Резюме

Решения, предназначенные для безболезненного преодоления переходного периода, по определению не могут быть идеальными. Но мы посчитали, что одно из них все же заслуживает детального рассмотрения, во-первых, в силу своей необычности, а во-вторых, инициатива исходит от самой корпорации Intel и впервые упомянута в документации на Intel 5 series chipset. Это дает временному решению шансы стать постоянным долговременным. Правда, пока неясно, как будет реализована опто-диагностика на мобильных платформах. Как всегда, ноутбуки в зоне риска :)

Желающим проверить собственную платформу на предмет оптической выдачи POST кодов, не обязательно конструировать фотоприемник. Начать можно с подключения логического пробника к коммутируемой точке цепи питания светодиода Power Led.