ebps.de.vu > Schaltungen > für den PC > P.O.S.T-Karte (ISA)

ISA P.O.S.T.-Karte

Beschreibung

Mit dieser praktischen ISA-Karte kann man sich den P.O.S.T.-Code anzeigen lassen. Dieser hexadezimale Code zeigt vor dem Starten des Betriebssystems an, welche Hardwarekomponente gerade getestet wird. Läuft dabei irgendwas schief und hängt sich der Rechner auf, so kann man anhand des angezeigten Codes mittels einer Liste im Mainboardhandbuch schnell feststellen, wo das Problem liegt. Das ist insbesondere dann hilfreich, wenn der Bildschirm nichts mehr anzeigt. Sind alle Tests erfolgreich, so springt die Anzeige auf FF und der Bootvorgang beginnt.

Um zu verhindern, dass beim Einschalten des PCs verwirrenderweise irgendetwas angezeigt wird, wird die Anzeige bei jedem Reset (der auch stattfindet, wenn der PC eingeschaltet wird) automatisch auf 00 gesetzt.

Aufbau

Wie beim DoC-Adapter auch schon habe ich wieder eine Kontaktleiste von einer defekten ISA-Karte verwendet, um mir das Geld für eine teure Lochrasterplatine für den ISA-Slot zu sparen. Diesmal sind zwar nicht alle Kontakte vorhanden, da die Leiste aber von einer Netzwerkkarte stammt, die ziemlich viele der Signale benötigte, sind alle wichtigen Leitungen vorhanden.

Die Adresse auf dem ISA-Bus wird mit dem 74ALS688 (8-Bit-Vergleicher mit Enable-Eingang) und den nachgeschalteten OR-Gattern überprüft. Der P.O.S.T.-Code wird immer auf Adresse 0x080 ausgegeben, es muss also nur A7 auf High sein, alle anderen Leitungen müssen Low sein, das gilt auch für AEN (High wenn DMA aktiv) und natürlich IOW (negativer Impuls, wenn auf eine I/O-Adresse geschrieben wird). Die Adressleitungen ab A10 können ignoriert werden, da sie nur beim Speicherzugriff, nicht jedoch für I/O-Transfer verwendet werden. Sobald der Impuls auf IOW zuende ist, gibt es am Ausgang zum Latch 74LS273 eine positive Flanke, mit der die Daten auf dem ISA-Bus übernommen werden.

Eine besondere Konstruktion sorgt für die Dekodierung des empfangenen Bytes, damit es auf der Siebensegmentanzeige im Hex-Code angezeigt werden kann. Das gesamte Byte wird auf die Adressleitungen eines EPROMs gegeben. Ein Taktgeber schaltet nun abwechselnd die Anoden der beiden Anzeigen ein und gibt den aktuellen Status (linke oder rechte Anzeige aktiv) über das letzte OR-Gatter aufbereitet (das EPROM ist in Sachen Flankensteilheit scheinbar sehr empfindlich) auch über eine weitere Adressleitung an das EPROM weiter. Das EPROM wird nun so programmiert, dass bei den Adressen 0x000 bis 0x0FF unabhängig von A4-A7 der an A0-A3 eingestellte Wert dekodiert wird, während von 0x100 bis 0x1FF A0-A3 irrelevant sind und der Wert von A4-A7 dekodiert wird. Auf diese Weise kommt man mit den 8 Datenleitungen des EPROMs aus (ohne dieses Multiplexing wären 14 Datenleitungen zu den beiden Anzeige notwendig) und muss kein zweites EPROM verbauen. Als EPROM kann man übrigens auch (fast) jeden anderen Typ verwenden, der mindestens 512 Byte Speicher hat (der 27256 ist mit 32 kB reichlich überdimensioniert, lag aber gerade herum ;-)). Die seriell angesteuerten I2C-EEPROMs funktionieren allerdings natürlich nicht!

Die Reset-Funktion wird ganz einfach über den Clear-Eingang des Latch-ICs realisiert. Das High-aktive Signal am ISA-Bus wird vorher lediglich noch von einem Transistor invertiert.

Fotos

[Foto]
800 | 1280
Die Karte von oben (den SMD-74ALS688 habe ich überkopf auf die Platine geklebt und dann mit 0,2 mm-Kupferlackdraht angeschlossen)
[Foto]
800 | 1280
Die Karte in Betrieb
[Foto]
800 | 1280
Die Karte von unten

Links