Na FreeHostingu Endora běžà desÃtky tisÃc webů. PÅ™idejte se jeÅ¡tÄ› dnes!
VytvoÅ™it web zdarmaNa FreeHostingu Endora běžà desÃtky tisÃc webů. PÅ™idejte se jeÅ¡tÄ› dnes!
VytvoÅ™it web zdarma5.2.2000 Asi každý, kdo sestavuje a opravuje poèítaèe, se už dostal do situace, kdy zapne PC a nic se nedìje. Obrazovka zùstává èerná a nanejvýše se ozývá pípání. Nìco je evidentnì špatnì, ale co? Naštìstí už od dávných dob vzniku PC obsahuje BIOS diagnostické rutiny, které mohou napomoci k øešení problémù s poèítaèem. Pøi každém zapnutí nebo tvrdém restartu PC probíhá kompletní POST (Power-On Self-Test), který zinicializuje a zkontroluje základní hardware (CPU, chipset, pamì�, øadièe sbìrnic...). V poèáteèní fázi ještì není inicializovaná grafická karta, takže nemá smysl vypisovat chybové hlášky na monitor. Místo toho se používají tzv. beep kódy, což jsou jednoduché sekvence pípnutí rùzných tónù a délek, které signalizují závažné chyby. Za normálních okolností PC pøi startu jednou krátce pípne. Pøes beep kódy nelze jednoduše indikovat vìtší poèet chyb (že by nikoho nenapadlo použít morseovku?) a tak se navíc používá posílání diagnostických POST kódù v každé fázi inicializace HW na urèitý I/O port (typicky 80h). Alternativní BIOS Coreboot posílá ladicí výpisy pøes sériový port.
Abychom si mohli POST kódy pøeèíst, je tøeba mít speciální POST kartu. Vyrábí se pro sbìrnice ISA a PCI, ale je docela drahá. Pøitom na ní není nic složitého a souèástky stojí pár korun. A tak jsem se rozhodl postavit si vlastní ISA POST kartu. Funkce sbìrnice ISA je jednoduchá na pochopení a používá klasické 5V TTL úrovnì a nižší frekvence (typ. 8 MHz), takže lze použít bìžnì dostupné integrované obvody øady 74xx. Sbìrnici ISA tvoøí adresové linky A19:A0 (PC XT) nebo A23:A0 (PC AT a vyšší), datové linky D7:0 (PC XT) nebo D15:0 (PC AT a vyšší), øídicí linky pro výbìr ètení/zápisu, IRQ, DMA a další a napájení (+5 V, -5 V, +12 V, -12 V). Pro náš úèel jsou dùležité adresové linky A11:A0 (I/O prostor ISA je omezen na rozsah 0 - FFFh), datové linky D7:0, øídicí linka IOW# a napájení +5 V.
Když CPU provádí instrukci OUT, tak napøed nastaví na adresních linkách požadovanou adresu IO portu, na datových linkách nastaví zapisovaná data a nakonec stáhne IOW# do log. 0. A když CPU zapisuje do pamìti, tak zatáhne za linku MEMW#. Tímto je odlišen pamì�ový a I/O prostor. Pro zachycení vysílané informace na sbìrnici je tedy tøeba umìt dekódovat konkrétní I/O port a v daný okamžik si zapamatovat a zobrazit 1 Byte. Pro adresový dekodér jsem vybral dva 8-bitové komparátory 74LS688 s hradlovacím vstupem. Pokud bychom se smíøili se zrcadlením na vyšších adresách, staèil by jen jeden. Komparátory porovnávají stav adresové sbìrnice s pøednastavenou hodnotou na DIP pøepínaèi a hradlovací vstupy jsou pøipojeny na IOW#. Pokud se adresa shoduje a zároveò je aktivní IOW#, objeví se na výstupu komparátorù log. 0, seète se NOR hradlem 74LS02 a aktivuje se 8-bitový støadaè 74LS573, který si zapamatuje na svých výstupech stav 8-bitové datové sbìrnice. Pak už jen staèí zachycený Byte prohnat dekodérem a zobrazit na 7-segmentovém LED displeji. Dekodérù je celá øada, ale jen málokteré zobrazují i hexadecimální èíslice, použil jsem tedy dekodéry MHB4311, které ještì tehdá vyrábìla Tesla. V nouzi staèí 8 LED diod s odpory a nauèit se èíst binární kód (do hexa se dá pøevádìt snadno). POST kartu jsem dále doplnil dìlièkou hodinového kmitoètu ze dvou èítaèù 4020 v kaskádì, abych vidìl, zda-li vùbec funguje oscilátor. Také jsem pøidal 4 LED na každou napájecí vìtev.
Vzhledem k provedení ISA konektoru jsem musel použít oboustranný plošòák, což pro domácí výrobu není úplnì jednoduché. Tehdá jsem ještì nemìl možnost tisknout filmy, tak sem to namatlal lihovkou, èemuž odpovídá výsledek. Ale hlavnì že to funguje. Hranový konektor ISA by si zasloužil pozlacení, tak jsem ho aspoò pocínoval. Možná by šlo odstøihnout konektor z nìjaké vadné ISA karty a pøipájet ho k desce mnoha drátky, snad by se to pak neutrhlo. Také jsem nìkde vidìl prodávat univerzální plošòák s ISA konektorem na který by se to dalo nabastlit...
17.7.2009 Zatím co POST kódy se používají stále, tak ISA sbìrnice v pùvodní podobì z PC dávno vymizela. Chtìl jsem si tedy postavit PCI POST kartu. U PCI sbìrnice jsou ale vyšší nároky na rychlost obvodù a hlavnì konektor s menší rozteèí - problém s výrobou plošòáku. PCI sbìrnice pracuje s multiplexovanými adresami a daty (spoleèné linky AD31:0) a také zde chybí linka IOW#. Místo toho se zápis do I/O prostoru signalizuje pøíkazem na linkách C/BE3:0#. Takže logika PCI POST karty by byla složitìjší. Mezitím kamarád objevil na jednom e-shopu kompletní PCI kartu POST4D za pár euro, aneb Èína rulez. Za to by mi ani v Pragoboardu neudìlali plošòák. Karta používá programovatelné logické obvody ATF16V8B-15PU, což je flashová varianta klasických PALù. Jumperem lze pøepnout mezi dekódovaným I/O portem 80h nebo 84h. Logika (pochopitelnì) neimplementuje Plug & Play a konfiguraèní registry, takže POST kartu v žádném výpisu PCI zaøízení neuvidíte. Pinový konektor na kartì slouží pro pøipojení druhého displeje, který si mùžete dát tøeba na pøedek kejsu. K dispozici je i schéma zapojení, ne však konfigurace PALu. Doufám, že mi POST kódy pomùžou poodhalit problém s obèasným resetem overclocking nastavení pøi zapnutí desky Gigabyte GA-P31-DS3L.
25.12.2009 Jeden známý mì upozornil na eBay na zajímavou a levnou POST kartu. Po stranách PCB má dva hranové konektory pro sbìrnici PCI a ISA, 4-místný LED displej, LEDky na indikaci napájení a stavu sbìrnice a pípák. Škoda, že jsem tuto nabídku neobjevil døív...
15.6.2012 Na nìkterých novìjších základních deskách nemusí správnì fungovat pøeposílání legacy I/O zápisù na port 80h skrze PCI-E 2 PCI mùstek a POST karta tak zùstane "slepá". Jako zajímavou alternativu jsem objevil POST kartu na sbìrnici LPC, která je na novìjších MB pøístupná skrze TPM (Trusted Platform Module) header (napø. základní desky Gigabyte s chipsety øady 6x a 7x). Na DealExtreme prodávají za 6,10 $ kombinovanou Mini PCI-E / PCI / LPC POST kartu pro notebooky. Další možné využití LPC je napø. rozšíøení MB o sériové porty od VIA nebo sériový a paralelní port od Shuttle. Takže je vidìt, že se ten konektor hodí i pro nìco jiného, než nìjaký DRM sráè.
5.9.2012 Kolega objednal z DealExtreme 3 kousky té Mini PCI-E / PCI / LPC POST kartièky. Zboží dorazilo asi za 3 týdny a skuteènì bez poštovného! Øíkal jsem si, za ty smìšný peníze nekup to, takže jednu jsem vzal pro sebe a jednu pro dalšího kolegu. Zatím ji ale nemám na èem vyzkoušet, nemám žádnou základní desku s vyvedenou LPC, takže asi zkusím nìjaký starší MB nadrátovat. Pak asi ještì bude tøeba správnì naprogramovat PCI 2 LPC mùstek, aby se to posílalo tam kam má. Ještì bych chtìl upozornit, že hranový Mini PCI-E konektor ve skuteènosti nepoužívá žádné PCI-E linky, ale rezervované piny 8, 10, 12, 14, 16, 17, 19, které si nìkteøí výrobci notebookù (napø. IBM, Toshiba, HP, Asus, TCL...) sami definovali jako LPC debug port, takže ve skuteènosti kartièka umí jen 2 rùzná rozhraní. Ostatnì zpracování rychlých PCI-E signálù je mimo možnosti použitého CPLD Altera MAX 7000A s 64 makrobuòkami.
23.4.2018 Jelikož na mé homemade ISA POST kartì už zlobí kontakty, objednal jsem si z eBay novou univerzální POST kartu pro sloty ISA a PCI. Má 4-místný LED displej, který zobrazuje poslední a pøedposlední POST kód (další pøedchozí POST kódy jdou namaèkat tlaèítkem), LEDky na indikaci napájecích napìtí (+3,3 V, +5 V, +12 V, -12 V), hodin, IRDY, FRAME, RESET a pípák (pøipojí se kablíkem pøes JP2 na MB). Karta je osazena MCU Atmel AT89C52-24JC, programovatelnými logickými poli AMD PALCE16V8H-10JC/4 a Lattice GAL16V8B-15QJ, které podle poškrábaného povrchu vypadají jak nìjaký recyklát z elektroodpadu. Pak jsou tam ještì klopáky DM74ALS374 a 74F74 a 4 tranzistory. Kartu jsem úspìšnì otestoval v základní desce Abit BX133-Raid.