Určitě jste to už všichni aspoň jednou zažili: vezmete základní desku počítače, paměti, procesor a další komponenty, vše sestavíte a zabudujete do skříně, zapnete – a ono nic. Zkoušíte dorazit desky do konektorů, domačkáváte EPROM do patice, po-sté kontrolujete nastavení jumperů (jsou-li na desce jaké), vše marné, prostě - něco shnilého je nikoli v království dánském, ale v novém nebo rekonstruovaném počítači (u nás tomu říkáme TMA – když jsem to viděl poprvé, marně jsem dumal čeho je to zkratka dokud jsem příznak nepřečetl jako běžné slovo).
Pokud máte k dispozici POST testovací kartu, nemusíte klesat na mysli. Zastrčíte ji do jednoho z volných slotů (pokud jste tak neučinili již před prvním zapnutím – vřele doporučujeme), podíváte se na kód zobrazený na displeji – a jéje, svítí tam “2C”, na BIOSu je logo Phoenix BIOS, letmý pohled do manuálu karty – “Chyba paměti RAM - adresové bity” - a vypadá to na paměti, buď se konkrétní typ paměti “nesnáší” s danou základní deskou nebo jsou prostě paměti špatné. Není potřeba vytahovat všechny ostatní rozšiřující karty, diagnostika je prostá a rychlá.
Ne vždy je to samozřejmě takové jednoduché a prosté, pro úplné pochopení řady hlášení je třeba znát dosti podrobně činnost základní desky, téměř vždy je však možné na základě zobrazeného chybového kódu určit alespoň přibližně okruh, kde se nachází problém.
Jak to celé funguje ?
Po zapnutí vykoná každý PC kompatibilní počítač nejdříve posloupnost úloh, nazývanou Power-on Self-Test (POST). V ní otestuje a inicializuje vlastní hardware a poté zavede do paměti operační systém.
Dříve než se spustí každá z jednotlivých POST úloh, pošle procesor na vstupně / výstupní port číselný kód, identifikující úlohu, která se má právě vykonat. A právě tohoto kódu je následně možné využít k určení okamžiku, ve kterém inicializace systému selhala. POST karta tedy zobrazuje číselný kód POST úlohy, která je právě vykonávána (nebo při jejímž vykonávání se počítač “zakousl”).
Jaké vlastně jsou POST úlohy a jejich číselné kódy ?
To je různé – vše závisí hlavně na výrobci BIOSu (až na některé opravdu základní kódy neexistuje žádná normalizace). Prakticky všichni výrobci BIOSů uvádějí aktuální POST kódy na svých internetových WWW stránkách. Zde je například soupis POST kódů pro BIOSy Phoenix.
Jaké druhy POST karet se vyrábějí ?
Jednoduché POST karty (a přitom pro 95% případů naprosto postačující) nedělají nic jiného než že:
- detekují přítomnost jednotlivých napájecích napětí (+5V, +12V, -5V, -12V). To z toho důvodu, aby - když displej nezobrazuje vůbec nic - bylo okamžitě zřejmé, zda tento stav je způsoben výpadkem některého z napájecích napětí či chybou základní desky.
- na vestavěném dvoumístném sedmisegmentovém displeji zobrazují POST kód
Jejich provedení je většinou určeno pro ISA slot (začínají se sice již vyskytovat základní desky, které nemají ani jeden ISA slot, stále se však jedná spíše o výjimky). Existují samozřejmě i v PCI provedení, přesto je však výhodné mít i ISA kartu z jednoduchého důvodu – ISA sběrnice je funkčně “blíže” procesoru než PCI a z toho důvodu se nezřídka stává, že zatímco PCI sběrnice nepracuje vůbec, POST karta zasunutá do ISA slotu POST kód zobrazuje.
POST karta pro ladění software ?
POST karta se dá velmi dobře využít pro ladění software, u něhož není možné debugovat ručně nebo vypisovat na obrazovce – prostě na port 80h pošlete hodnotu např. 1, jste-li na kontrolním bodě programu 1 a v okamžiku, kdy se na displeji POST karty objeví ona jednička, víte že běh programu dosáhl onoho bodu. Ideální pro ladění driverů, procesů běžících na pozadí atd. – neovlivníte stavy téměř žádného hardware, neměníte stav registrů …
Příklad naší realizace POST karty :
Příklad zapojení POST katy
Poznámka redakce HW serveru
Od roku 1999 kdy byl tento článek připraven se však situace velmi změnila a ISA vymírá. Berte proto tento článek prosím s rezervou...
DOWNLOAD & Odkazy
- "Potřebujete POST kartu?" - Prakticky tento článek na SvetHardware.cz
- Testovací karta pro PC - článek autora uveřejněného schématu.
Jaromir Cechak ml.