BLOG

Elwro 801AT - płyta główna - polskiekomputery.pl

Polski mikrokomputer Elwro 801AT – polska płyta główna

2124

Elwro 801AT. Specjalnie dla polskiekomputery.pl, Edwin Wierszelis – były pracownik Elwro, przygotował szczegółowy opis budowy płyty mikrokomputera Elwro 801AT. Opis zweryfikował i opatrzył dodatkowym komentarzem konstruktor Elwro 801AT – Zbigniew Gałgański. Zdjęcia wykonał Marcin Kaźmierczak. Polska płyta główna Elwro 801AT (polskiej konstrukcji i produkcji), pochodzi z mikrokomputera, który znajduje się w kolekcji Polskie Komputery.

Elwro 801AT - płyta głównaElwro 801AT - płyta główna

Płyta główna dla mikrokomputera Elwro 801 PC/AT, wyprodukowana przez Zakłady Elektroniczne Elwro.

Przedstawiona tutaj płyta główna była instalowana w mikrokomputerach Elwro 801 PC/AT w latach 1988-1990, zanim zaczęto sprowadzać gotowe płyty główne z Tajwanu. Była to konstrukcja całkowicie polska, opracowana w Elwro przez zespół konstruktorów pod kierownictwem Zbigniewa Gałgańskiego. Jako jedyna polska konstrukcja, była w pełni zgodna ze standardem AT i nie miała w Polsce konkurencji. W porównaniu do konstrukcji produkowanych w tamtym czasie na Tajwanie, miała przeciętne parametry. Konstruktorzy Elwro musieli jednak wykazać się nieprzeciętną kreatywnością, aby stworzyć taki produkt w oparciu o dostępne im materiały i technologie. Więcej na ten temat w opisach do poszczególnych zdjęć.

Mikrokomputery wyposażone w te płyty były eksportowane do wielu krajów Obozu Socjalistycznego, głównie ZSRR.

Parametry płyty głównej:

Procesor: 80286
Możliwość dodania koprocesora arytmetycznego 80287
Częstotliwość zegara: 6 MHz (w późniejszych płytach podniesiono do 8MHz)
Ilość zainstalowanego RAM: 512KB
Możliwość rozszerzenia RAM na płycie: brak
Gniazda rozszerzeń: ISA, 8 szt (sześć 16-bitowych, dwa ośmiobitowe)
Peryferia na płycie: brak

Komentarz Zbigniewa Gałgańskiego: „Budowaliśmy E801AT w oparciu o oryginał IBM PC AT. W oryginale było 512 KB na płycie a wszystkie peryferia były na płytkach I/O. Chyba wbudowaliśmy możliwość instalacji większych kości pamięci 2kb lub 4kb i miały być podstawki … ale był problem z niezawodnością podstawek. Czyli pamięć na płycie mogła być 0.5MB, 1MB lub 2 MB. Kostki pamięci miały organizację pozwalającą na takie rozwiązania. Stosowaliśmy to już Elwro 523 w RAMdysku.”

Elwro 801AT - płyta głównaSzyny zasilające i mostki

Optymalna realizacja płytki elektroniki o złożoności mikrokomputera klasy IBM/AT wymagała użycia obwodów drukowanych o co najmniej 4 warstwach. Płyty do mikrokomputerów klasy AT produkowanych na Tajwanie były robione w ten sposób. Tymczasem możliwości technologiczne zakładu w Bierutowie pozwalały najwyżej na produkcję płytek dwuwarstwowych. Płytka musiała więc być przekonstruowana w sposób uwzględniający te ograniczenia. W tym celu:

Zasilanie do różnych części płytki było dostarczane za pomocą metalowych blaszek – „szyn” dosłownie – wlutowywanych do płytki tak jak pozostałe elementy. Podobne rozwiązanie stosowano z powodzeniem na „pakietach” (modułach) logicznych do komputerów mainframe serii Odra i Jednolitego Systemu RIAD.

Mimo poprowadzenia zasilania za pomocą „szyn”, wciąż pozostawało kilka ścieżek logicznych, które nie mogły być optymalnie poprowadzone w ramach dostępnych dwóch warstw obwodu drukowanego. Te ścieżki były dodawane ręcznie za pomocą cienkiego, izolowanego drucika „kynar”, układanego po stronie elementów („górnej”). Taki drucik był wykorzystywany m.in. do naprawiania przerwanych ścieżek i usuwania błędów konstrukcyjnych obwodów drukowanych, ale wówczas znajdował się od spodu płytki. Niektóre z pierwszych płytek E801AT miały Kynar od spodu instalowany fabrycznie.

Płyta była obsadzana elementami ręcznie, a następnie lutowana półautomatycznie na tzw. fali. Stosowano wyłącznie montaż przewlekany, obecnie zwany THT.

Komentarz Zbigniewa Gałgańskiego: „Tu było trochę inaczej … Elwro miało technologię wielowarstwową 4 warstwy dla Odry i chyba do 8 warstw dla Riada. Były to jednak technologie drogie i mało wydajne (ilościowo). Elwro kupiło nową technologie dwuwarstwową i zwiększonej rozdzielczości i dyrekcja od początku projektu „naciskała” by spróbować wykorzystać tę nową technologię. Podjęliśmy takie wyzwanie… Szyny zasilające również były już stosowane wcześniej w Riadzie i stamtąd adoptowaliśmy to rozwiązanie…i tylko dzięki temu udało się upakować wszystko na dwóch warstwach (zostało kilka „kynarów”).

Również logikę upraszczałem topologicznie jak się tylko dało i stąd zastosowanie PROMów jako dekoderów adresów oraz sekwenser który miał realizować całą rozproszoną logikę sterującą elementami architektury płyty. Sekwenser miał być docelowo scalany jako łatwa do zaprojektowania struktura topologiczna.”

Elwro 801AT - płyta głównaCzerwone kropki

Produkcja płyty głównej do Elwro 801AT była pracochłonna, dlatego użyte elementy musiały być dokładnie sprawdzone. Przed montażem układy były wygrzewane na dużych tacach z podstawkami a następnie selekcjonowane. Tak sprawdzone układy malowano czerwoną farbką.

Elwro 801AT - płyta głównaRAM – tylko 512 KB

Płyta była wyposażona w pamięć RAM o pojemności 512 KB. Maksymalna pojemność podstawowej („dolnej”) pamięci ówczesnego PC wynosiła 640 KB. Płyty produkowane za granicą często miały zainstalowane dodatkowe 128 KB RAM albo posiadały gniazda do zainstalowania go. W Elwro 801AT takie rozszerzenie było możliwe tylko za pomocą karty rozszerzeń, włożonej do jednego z gniazd ISA.

Dynamiczna pamięć RAM (DRAM) wymaga odświeżania. Cykle odświeżania były inicjowane przez układ timera 8254A i wykonywane przez sekwenser, po uzgodnieniu operacji z procesorem. Na innym zdjęciu znajdziesz licznik adresów odświeżania i bufor.

Elwro 801AT - płyta głównaProcesor

Elwro 801AT używał procesorów 80286 produkcji Intela. Na zdjęciu procesor w obudowie wyprowadzeniowej PLCC. Stosowano także procesory w obudowie bezwyprowadzeniowej LCC. Wymagały innego gniazdka.

Elwro 801AT - płyta główna

Sekwenser – czapki z głów!

Widoczne na zdjęciu trzy duże układy oraz kilkanaście mniejszych – rejestrów, buforów, liczników i bramek, tworzą tzw. sekwenser. To układ kluczowy do funkcjonowania każdego PC poważniejszego niż XT. Zajmuje się konwersją cykli dostępów do pamięci i urządzeń wejścia wyjścia, zależnie od typu operacji (dostęp do pamięci lub I/O, operacja na słowie lub bajcie), rodzaju urządzenia (16 lub 8 bitowe) i sposobu jego instalacji (gniazdo ISA 16 lub 8-bitowe). Do realizowania operacji w jednym z kilkunastu możliwych trybów, używana jest skomplikowana logika, wykorzystująca w konkurujących konstrukcjach programowane układy logiczne (w czasach E801AT były to głównie układy PAL) oraz układy LSI. Te pierwsze były trudno dostępne i drogie, a drugie dla Elwro nieosiągalne zupełnie. Wówczas genialny konstruktor, inż. Zbigniew Gałgański wpadł na pomysł wykorzystania układów pamięci PROM TTL o organizacji 512×8 produkcji radzieckiej: КР556РТ5. Te układy były stosowane w komputerach mainframe systemu RIAD (R-34), również produkowanych przez Elwro, więc łatwo dostępne. Układ miał 9 wejść i 8 wyjść. Programując go wg tablic prawdy można było realizować dowolną operację logiczną na stanach linii wejściowych. Operacje sekwencyjne wymagały połączenia większej liczby takich układów. Stworzona w ten sposób Maszyna Stanowa była w stanie realizować wszystkie potrzebne przekształcenia cykli. Rozwiązanie Gałgańskiego pozwoliło przełamać ograniczenia wynikłe z polityki i ekonomii za pomocą radzieckiej technologii. 🙂

Sekwenser jest najszybciej działającym układem na każdej płycie PC. Zaspokaja żądania procesora, który wprawdzie wewnętrznie pracuje z duża prędkością, jednak jest spowalniany przez wszelkie dostępy do pamięci lub układów wejścia/wyjścia. O istnieniu zegara przy procesorze wie każdy (i kombinuje, jak by go tu „podkręcić” 🙂 natomiast o istnieniu sekwensera i ważnej roli jaką pełni gdzieś w „chipsecie”, chyba nikt…

Literka „F” w oznaczeniu układów 74F174 obok КР556РТ5, oznacza układy o najwyższej z prędkości dostępnych w czasach produkcji Elwro 801AT. Z kolei układy UCY780101 produkcji polskiej CEMI to pamięci TTL o organizacji 16×4 bity. Pełnią funkcje rejestru stron dla transmisji DMA. Same transmisje DMA są realizowane przez układy 8237A widoczne na innym zdjęciu.

Elwro 801AT - płyta głównaDekoder adresów pamięci

КР556РТ5 (TTL PROM 512×8) w tym miejscu pełnił funkcję dekodera adresów pamięci.

Elwro 801AT - płyta główna

Dekoder adresów I/O

Układ КР556РТ5 (TTL PROM 512×8) na pozycji M79 pełnił funkcję dekodera adresów urządzeń wejścia/wyjścia.

Dwa duże układy widoczne powyżej to sterowniki DMA zgodne z Intel 8237A. Jeden z nich obsługuje transmisje DMA 16-bitowe, drugi 8-bitowe.

Elwro 801AT - płyta głównaReal Time clock

MC146818 to zegar czasu rzeczywistego (RTC) CMOS. Zawiera także odrobinkę pamięci do przechowywania konfiguracji. Układ wymagał podtrzymania zasilania baterią. Elwro 801AT posiadał w tym celu koszyczek na 4 szt. baterii LR06, który był dołączany do płyty za pomocą złącza J21 widocznego na zdjęciu.

Ówczesne PC innych producentów stosowały podobne rozwiązanie albo posiadały akumulatorek Ni-Cd wlutowany na płycie. Późniejsze płyty PC (już nie Elwro, niestety) wykorzystywały moduły DS1287 firmy Dallas, w postaci układu scalonego z ukrytą wewnątrz nieco powiększonej obudowy bateryjką i kwarcem. Zegar czasu rzeczywistego (RTC) we współczesnym PC jest częścią „chipsetu” albo znajduje się w układzie MultiI/O. Konfiguracja jest przechowywana w pamięci EEPROM lub Flash, a zegar jest podtrzymywany bateryjką CR2032.

Układ zegara czasu rzeczywistego i pamięci CMOS

Z jakiegoś powodu konstruktor nie wykorzystał układu generatora kwarcowego wbudowanego w MC146818, tylko zbudował zewnętrzny na zlinearyzowanych inwerterach układu MCY74069. MC146818 oraz ten generator były jedynymi układami zasilanymi z baterii, gdy mikrokomputer był wyłączony. Pierwsze wyprodukowane egzemplarze Elwro 801AT miały drobny problem z tym układem (CMOS tracił zawartość). Problem szybko usunięto, ale wymagało to wyprodukowania nowej płyty głównej. Na rynek masowy trafiła już dopracowana wersja tej płyty, oznaczona literą „C”.

Elwro 801AT - płyta głównaRAM

Elwro 801AT miał standardowo zainstalowane 512 KB pamięci, zrealizowane przy użyciu 18 układów pamięci DRAM typu 41256 (organizacja 256K x 1 bit). Pojemność taką można uzyskać za pomocą 16 takich układów. Dwa dodatkowe układy przechowywały tzw. bit parzystości. Towarzyszył on każdemu bajtowi zapisanej komórki pamięci i był wyliczany w taki sposób, aby liczba „jedynek” w każdej 9-ce bitów była zawsze parzysta (lub zawsze nieparzysta – to zależy od konstrukcji). Wyliczaniem dodatkowego bitu i sprawdzaniem go zajmowały się układy 74180 widoczne w górnej części zdjęcia. Wykrycie błędu powodowało wygenerowanie przerwania NMI (niemaskowalnego) i zatrzymanie mikrokomputera. Obsługa tej sytuacji była zaprogramowana w BIOS. Mikrokomputer wyświetlał wówczas na ekranie komunikat w rodzaju:

RAM PARITY ERROR AT <adres>

Dalsza praca ani zapisanie wyników dotychczasowej nie było możliwe. System pozwalał błędy wykryć, ale nie skorygować. Było to rozwiązanie typowe w mikrokomputerach PC z tamtych czasów. Dodam, że ze względu na „mało okrągły” (informatycznie) rozmiar standardowej pamięci PC (640 KB) w płytach zachodniej „konkurencji” stosowano często dość skomplikowaną mieszaninę układów 41256 (256K x1), 514256 (256K x4), 4164 (64K x1) i 4464 (64K x4). Ówczesne płyty innych producentów miały często fabrycznie instalowany niepełny RAM oraz podstawki na układy rozszerzające. Pamięć można było rozszerzyć tylko za pomocą odpowiedniego zestawu układów. Późniejsze wprowadzenie modułów SIMM, DIMM (prekursorów SDRAM, DDRx itd.) znacznie to uprościło. We współczesnych komputerach do standardowych zastosowań (dom, biuro) sprawdzania parzystości nie stosuje się.

ROM BIOS

BIOS był instalowany typowo w dwóch układach pamięci EPROM, wkładanych do dużych podstawek widocznych na zdjęciu. Stosowano BIOS Award, a kostki (2 szt. EPROM 27128 – 16 KB) miały oznaczenie H i L. Aktualizacja BIOS była możliwa tylko poprzez wymianę układu. Inna sprawa, że wówczas tego nie praktykowano. Konstrukcja AT była na tyle standardowa, że ta płyta mogła działać z układami BIOS różnych producentów.

Elwro 801AT - płyta głównaGniazda ISA

Gniazda rozszerzeń występowały w wersji 8-mio (te krótkie) i 16-bitowej (długie). Praca na mikrokomputerze Elwro 801AT wymagała wyposażenia przynajmniej dwóch z tych gniazd: w kartę graficzną (zwykle Hercules, znany także jako HGC) oraz sterownik dysków. Zwyczajowo była też instalowana karta wejścia/wyjścia. Zawierała dwa porty szeregowe albo port szeregowy i równoległy. Ten ostatni jednak był w tamtych czasach instalowany standardowo jako dodatkowy na karcie graficznej. Uważano wówczas, że komputer bez drukarki to tylko połowa komputera (to cytat z jednego z ówczesnych czasopism poświęconych informatyce). Mógł nie mieć myszki czy innych ekstrawagancji takich jak karta dźwiękowa, sieciowa czy modem, ale drukarka musiała być.

Karta 8-bitowa mogła być włożona do slotu 16-bitowego. Standard ISA wykorzystywał specjalną linię do zasygnalizowania wspomnianemu wcześniej sekwencerowi, że ma do czynienia z urządzeniem 16-bitowym. Elwro 801AT standardowo był wyposażony tylko w jedną kartę 16-bitową, sterownika dysków.

Jedyny polski mikrokomputer klasy PC innego producenta, Mazovia, miał wyłącznie sloty 8-bitowe i wykorzystywał dużo prostszą konstrukcję XT. Elwro 801AT było znaczącym przełomem technologicznym.

Elwro 801AT - płyta głównaZasilanie i okolice

Czteropinowe złącze między gniazdem klawiatury a złączem zasilania, służyło do podłączenia koszyczka z bateriami podtrzymującymi RTC. Widać tu także złącze klawisza RESET oraz zworki do kasowania konfiguracji w pamięci CMOS.

Duże układy obok to sterowniki przerwań Intel 8259 oraz układ programowalnego timera i8254.

Elwro 801AT - płyta głównaGniazdo klawiatury AT

Sterownik klawiatury 8042 (tu widać tylko kawałek układu przy lewej krawędzi zdjęcia, jest lepiej widoczny na stronie przedstawiającej RTC) był jedynym urządzeniem wejścia/wyjścia dostępnym z zewnątrz i instalowanym na płycie głównej klasy AT. 8042 to właściwie mikrokontroler, a jego obowiązkowa obecność na płycie AT wynikała z dodatkowych funkcji, jakie pełnił. Układ sterował linią A20 (pozwala adresować wyższe obszary pamięci) i posiadał rozkaz resetujący główny procesor. Ta ostatnia funkcja była konsekwencją niefortunnej decyzji podjętej przy projektowaniu układu procesora 80286. 80286 miał rozkaz przełączający go w tzw. tryb chroniony, ale powrót do trybu 8086 (standardowego MS-DOS) był możliwy tylko w drodze resetu. Taka operacja jest powolna, dlatego powstało bardzo mało programów wykorzystujących pełnię nowych możliwości 80286. Sytuacja się zmieniła dopiero wraz z nadejściem 80386. Wspomniane problemy dotyczyły standardu IBM-PC/AT w ogólności, a płyta główna produkowana przez Elwro musiała być z nim zgodna.

Elwro 801AT - płyta główna

Układ odświeżania DRAM

Dynamiczna pamięć RAM wymaga odświeżania, czyli jakby „przypominania” jej zawartości. Odświeżanie jest wykonywane przez sam układ pamięci, ale wymaga uruchomienia poprzez odczyt (lub zapis) komórki pamięci. Odczyt (zapis) składa się z dwóch faz: wybrania adresu wiersza (RAS) a następnie wybrania adresu kolumny (CAS). Odświeżany jest zawsze cały wiersz (wszystkie kolumny) czyli wystarczy wykonanie tylko pierwszej fazy.

Podczas normalnej pracy procesor wykonuje operacje na pamięci, czyli niejako „przy okazji” odświeża ją, jednak normalna praca procesora nie gwarantuje, że „zajrzy” on do komórki pamięci z każdego wiersza, ani że będzie to robił wystarczająco często. Pamięci stosowane w Elwro 801AT wymagały odświeżania w cyklu 4 milisekund, tzn. w takim czasie system powinien odczytać przynajmniej jedną komórkę z każdego z 256 wierszy. Ówczesne układy pamięci często stosowały „odświeżanie siedmiobitowe”, czyli cykl wynosił 2 milisekundy i odświeżano 128 wierszy. Z punktu widzenia opisywanego układu wychodzi na to samo.

Cykl odświeżania był inicjowany przez timer 8254A, który był programowo (jeśli pamiętasz opcję BIOS PC Slow Refresh to teraz wiesz, do czego służyła) ustawiony na wyzwalanie go co 15μs (mikrosekund). Kolejne adresy wierszy były generowane przez widoczne na zdjęciu dwa układy liczników 7493 (M97,98) i wystawiane na szynę adresową przez bufor M57. Nad poprawnym przeprowadzeniem całego cyklu odświeżania czuwał sekwenser, który rozpoczynał operację w odpowiedniej fazie cyklu maszynowego procesora.

Układy liczników i bufora są obecne (fizycznie) w tym miejscu, bo generowane adresy trafiają na szynę ISA. Dzięki temu układ może odświeżać również RAM znajdujący się na karcie rozszerzenia pamięci. Drugim powodem, nie tak oczywistym, było zredukowanie liczby połączeń na płycie obwodu drukowanego.

Elwro 801AT - płyta główna

Oznaczenie płyty – E-801AT/C

Wersja A była pierwszą w krótkiej serii. Wyprodukowano prawdopodobnie ok. 100 szt. płyt głównych w tej wersji i chyba wszystkie zostały wykorzystane do testów bez opuszczania Zakładu, ze względu na problemy m.in. z RTC. Wersja B zawierała konieczne poprawki i chyba trafiła do klientów, ale to wersja C jest najbardziej dopracowana i stabilna.

Elwro 801AT - płyta główna

Spód płyty z bliska

Widać tu możliwości technologiczne zakładu produkcji obwodów drukowanych w Bierutowie. Na potrzeby tego projektu Elwro zakupiło technologię produkcji obwodów drukowanych o zwiększonej rozdzielczości.

Komentarz Zbigniewa Gałgańskiego: „Jak pamiętam to zakup nowej technologii dwuwarstwowej nie był warunkowany opracowaniem AT. Ten zakup realizowano już wcześniej  bo w Elwro brakowało technologii dużej rozdzielczości pozwalającej prowadzić ścieżki między nóżkami układów scalonych. Wszyscy projektanci płytek z tym walczyli od lat (Odra, RIAD, inne wyroby). Nasz projekt został uruchomiony gdy w Bierutowie już finalizowano wdrożenie.”

Elwro 801AT - płyta główna

Stosunkowo duże otwory na nóżki scalaków, pomagały łagodzić problem „ruskiego cala” związanego z użytymi układami produkcji radzieckiej. Radzieckie układy bowiem, nawet gdy były funkcjonalnie odpowiednikiem układów zachodnich, miały rozstaw nóżek 2,5mm, podczas gdy standardowy rozstaw zachodni (w tym stosowany w Polsce) to 2,54mm, czyli 1/10 cala.

Elwro 801AT - płyta głównaKynar, wszędzie Kynar…

O historii powstania mikrokomputera Elwro 801AT możesz przeczytać więcej w artykule:
Polski mikrokomputer Elwro 801AT – Historia