Sběrnice počítače


OctopusLAB 79
Sběrnice počítače

Konečně se dostáváme k prvním konkrétním částem našeho univerzálního počítače. Jen si připomeňme, že navazujeme na předchozí díly a rozšiřujeme Univerzální digitální rozhraní (Universal digital interface – UDI), které patří mezi jeden z našich dlouhodobých nekomerčních projektů. Cílem by pak mohl být jednoduchý funkční počítač, respektive jeho části v různých variantách od funkčních napodobenin (replik), přes emulaci (převážně na ESP32) až po čistě softwarovou simulaci na stolním počítači. Tento stroj nese pracovní název RUR_23 (Retro Ultra Replica, ale samozřejmě je zde i inspirace čapkovými RUR, což jsou Rossumovi univerzální roboti).
Pracovní verze dostupných podkladů postupně vzniká na Githubu:
https://github.com/octopuslab-cz/octopus_23_rur

Osmibitová sběrnice

Počítačová sběrnice (anglicky bus) tvoří hlavní „datovou páteř“ celého zařízení. První jednoduchou částí, kterou si vytvoříme, bude zobrazovací jednotka. Ta plní jedinou funkci – má ukázat aktuální stav, co se na dané sběrnici děje. Většina historických počítačů nedávala programátorům/operátorům ani jinou možnost, než pomocí žároviček ukazovat hodnoty jedna nebo nula (svítí, nesvítí) na sběrnici nebo v jednotlivých registrech.
Pro náš projekt to bude datová sběrnice osmibitová. Jeden z projektů je čtyřbitový procesor 4004, na který nám to stačí. Ostatní jsou v převážné většině osmibitové (až na výjimky, kde si poradíme jinak).
Zkusíme to v první fázi bez ohledu na další požadavky a navrhneme si triviální signalizaci pomocí osmi LED (svítivých diod) s připojenými odpory (na omezení proudu). Na obrázku vidíte část (první pětici).

Pro některé projekty (převážně open source) se nám na kreslení schémat a návrhy plošných spojů osvědčil program KiCad, který je s každou svou novou verzí o něco lepší. Minulý týden byla uvolněna nejnovější pracovní verze 0.7 a tak upravenou variantu 0.2 našeho zobrazovače už vytvářím v ní. Jednoduchý plošný spoj navrhuji s variantní možností osazení buď pro osm samostatných rezistorů R1-R8 nebo pro jedno odporové pole RN1 – osmice rezistorů v jenom pouzdře, hodnota 1k je pro soudobé vysocesvítivé diody s malým proudem asi rozumným kompromisem. Ale zkuste si podle toho, jaké barvy konkrétně zvolíte. Návrh opět počítá s možností osadit LED i „na ležato“ nebo použití větší SMD verze.

Základní návrh se opírá o jednoduchou logiku: při logické nule („žádné“ napětí) LED nesvítí a při logické jedničce (5 V) LED svítí.
Mezní hodnoty pro logickou nulu (Low) jsou obvykle v rozmezí 0 V až 0,8 V. Pro logickou jedničku (High) je to nejčastějí od 2 V až do „Ucc“ (Kde Ucc může být 5 V nebo i 3.3 V). Tyto hodnoty závisí na typu hradla a mohou se lišit mezi jednotlivými výrobci.

Z obrázku je patrno, že původní návrh (varianta A) se dá osadit i na univerzální destičce. Další verze (na obrázku B) už je na plošném spoji a je určena k připojení na sběrnici (spodní větší deska PCB), v našem případě ještě přes speciální oddělovač/budič „registr“. V horní části C je 3D tištěná čelní část, ve které jsou svítivky uchycené.)
Proč nejsou diody připojeny přímo na sběrnici? K naší sběrnici totiž budeme chtít připojit také vstupní část (tlačítka nebo přepínače), dále ji budeme chtít propojit s procesorem a pamětí (podle von Neumanova diagramu) a možná i k některým dalším periferiím. Rozhodně nemůžeme mít na sběrnici všechna data najednou, to je asi zřejmé. Proto nás zajímá řízení sběrnice s využitím oddělovačů/řadičů a budičů. Ale o tom až příště.


OctopusLAB 80
Modul vstupu osmibitové sběrnice

V minulém díle jsme si ke sběrnici „natvrdo připojili“ signalizační LEDky. Také jsme ale naznačili, že na připojení více portů se musí použít speciální obvody.

Pro emulátory (nebo repliky) postačí dění na sběrnici pouze simulovat. K tomu se dá použít třeba I2C expandér (osmi nebo šestnáctibitový). V tomto případě je celá vícebitová sběrnice zúžena na dva stavové bity (data a hodinové pulsy) a oddělení jednotlivých „portů“ nám vyřeší samostatně adresovatelná I2C zařízení (například zmíněný expandér). Využívá se toho i v případě malých mikrokontrolérů, kde nemáme dost datových pinů, ale umíme pracovat s I2C. Na obrázku je náš oblíbený Attiny85 s expandérem PCF. Osminohý „brouk“ může tak obsloužit celých osm bitů digitálních vstupů či výstupů.

My však stavíme zařízení, kde potřebujeme na sběrnici přímý přístup na různých úrovních jednotlivých modulů (vstupy, výstupy, paměti, procesor). V dalším kroku si proto připravíme koncept jednoduchého modulu 8bitových vstupů. Chceme mít přepínače, na kterých se nastaví hodnota (jedna nebo nula) a signalizaci, ze které snadněji vyčteme celkový aktuální stav. Bude to trochu připomínat minulou verzi, kde byly pouze výstupní signalizační LEDky, ale připojením spínačů nám vznikla jakási „vnitřní sběrnice“ (MAIN internal BUS). Pokud bychom chtěli použít přímo stavy spínačů, máme ji vyvedenu na samostatném portu (J1 na obrázku). No a k této sběrnici pak připojíme (úplně napravo) speciální obvod, který nám ji oddělí od hlavní osmibitové sběrnice – to je ta, se kterou celé zařízení bude komunikovat navenek (s procesorem, pamětí apod.).

Deska je navržena tak, že se dá použít i s více typy spínačů. Používáme miniaturní přepínače ON/OFF a obě základní možnosti vidíte na obrázku. Také si můžete prohlédnout, jak vypadá modifikovaná knihovna footprintu (Používám KiCad verze 7).

Poupravili jsme si „footprint“, což je fyzická reprezentace součástky (v našem případě spínače) na desce plošného spoje, zahrnující rozměry, tvary a umístění kontaktních plošek. Nikde není psáno, že nemůžeme vytvořit základ pro více variant a až podle potřeby si zvolit, kterou verzi součástky osadíme. Proto si v OctopusLABu velmi často vytváříme vlastní knihovny, které nám umožní zvýšit flexibilitu projektů. Na 3D tiskárně jsme si také vytiskli jednoduchý držák, který usnadní rovnoměrnost rozložení při montáži a činí modul kompaktnějším. Na desce PCB máme vyvedeny obě sběrnice (vnitřní i vnější oddělenou, která bude připojena k hlavní).


Pro oddělení vnitřní sběrnice od hlavní jsme použili integrovaný obvod 74244 (přesněni SN74LS244N – s anglickým popisem octal tri-state buffer/line driver). Tento obvod má dvě čtveřice nezávislých vstupů a výstupů, které dokáží řídit signály s napětím 5V. Umožňuje tak výstupní signál z každého vstupu buď „povolit nebo zakázat“. Když je řízený vstup zakázán, výstupní signál se nachází v takzvaném režimu vysoké impedance (velký vnitřní odpor) a nevytváří tak znatelný odběr proudu z připojeného zařízení. Tento princip se používá k řízení sběrnic a k zabránění konfliktů při přenosu dat.




OctopusLAB 81
Budiče a oddělovače sběrnice

Přestože nám běžné pracovní povinnosti umožní věnovat se našemu projektu jen omezeně, jisté hrubé obrysy a první verze některých modulů RUR_23 už pomalu vznikají. Na obrázku jsou přepínačové vstupy z minulého čísla i LED výstupy z čísla předminulého. Úplně nahoře je sestava ESP32 s osmibitovým expandérem, která slouží pro první testování. Vlevo uprostřed je pak modul osmibitového počítače s procesorem 8085 (Minimal 8085 Single Board Computer), ke kterému bychom rádi celou sestavu jednou také připojili.
Aktuálně zvažujeme, kterým směrem se v projektu přednostně vydat. Rádi bychom oživili některé repliky historických počítačů či jejich periferií. Pak bychom také rádi vytvořili vlastní verze s osmibitovými procesory 8085 a Z80 (možná i dalšími). A k tomu ještě chceme pokročit i v emulátoru na ESP32, který mnohé procesorové desky i moduly periferií relativně snadno zvládne.
Napište nám, zda by vás víc zajímaly stoje běžící „na“ historických součástkách a principech nebo moderní repliky a emulátory, které pro nezasvěceného pozorovatele mohou vypadat stejně, ale o principech počítače mohou vypovědět mírně odlišný příběh.

Některé vhodné integrované obvody (nejen pro sběrnice)

Při návrhu jednoduchého počítače vlastní konstrukce se můžeme potýkat s mnoha situacemi. Jednou ze základních je chování dat na sběrnicích. A jak jsme již v minulém díle naznačili, můžeme využít některé již hotové (a stále dostupné) integrované obvody. Modely s označením 74XX patří do skupiny TTL (Transistor-Transistor Logic), což znamená, že pracují s logickými úrovněmi v rozsahu 0 až 5 V. Pro základní popis obvodů jsme čerpali z více zdrojů, například u tradičního výrobce Texas isntruments: www.ti.com/. Většina z nich je stále k dostání například i u TME (www.tme.eu/cz/). Bývají dostupné v různých typech pouzder, jako jsou DIP (Dual in-line package) či SOP (Small Outline Package). Používají se totiž stále v široké škále elektronických zařízení, jako jsou počítače, tiskárny a průmyslové přístroje.

74244 (SN74LS244)

(8-ch, 4.75-V to 5.25-V bipolar buffers with 3-state outputs)
Tento neinvertující budič sběrnice má dva samostatně řízené čtyřbitové porty. Je tedy celkem osmibitový a je „jednocestný“, což znamená, že signál může proudit pouze jedním směrem – od vstupů k výstupům. Tento obvod se obvykle používá pro zesílení signálu nebo pro oddělení zařízení od citlivých výstupů.
V katalogovém listu se mimo jiné dozvíme:
Input type: Bipolar | Output type: 3-State (takže výstup je s třístavový).
IOL (Max) 28 mA | IOH (Max) -15 mA, takže při výstupní logické nule obvodem může téct až dvojnásobný proud (údaje různých výrobců a šarží se mohou lišit).


74245 (SN74LS245)

(Octal bus transceivers)
Podobný obvod pro osmibitové sběrnice. Je ale obousměrný, což znamená, že umožňuje proudění signálu v obou směrech. Tento obvod má osm vstupů a osm výstupů, které mohou být použity jako vstupy nebo výstupy podle toho, jak je obvod konfigurován. Je používán v systémech, které vyžadují komunikaci mezi více čipy nebo periferiemi, jako jsou právě sběrnice.


74373 (SN74LS373)

(Octal D-type Transparent Latches with 3-state Outputs)
Jedná se o obvod typu Latch s osmi vstupy a osmi výstupy. Používá se k ukládání a udržování dat v digitálních systémech. Každý z osmi vstupů lze nastavit na logickou hodnotu „1“ nebo „0“ pomocí signálů přivedených na příslušný vstup. Tato hodnota zůstane na výstupu uložena, dokud se nezmění stav na příslušném vstupu. Obvod reaguje na tzv. „náběžnou hranu“ (positive-edge triggered), což znamená, že data se uloží na výstupy v okamžiku náběžné hrany na řídícím (hodinovém) signálu.





OctopusLAB 82
Budiče a oddělovače sběrnice 2

V minulém díle jsme uvedli první část přehledu vybraných integrovaných obvodů. Mají jedno společné, jsou to speciální součástky především pro osmibitové sběrnice, které se používají už desítky let až do dneška. Určitě by stály za zmínku i další, ale zaměřili jsme se na ty, které v naší konstrukci použijeme. Takže ve výčtu ještě zmíníme jeden, který se dnes pokusíme i oživit:

74374 (SN74LS374)

Obvod reaguje na „sestupnou hranu“ (negative-edge triggered), což znamená, že data se uloží na výstupy v okamžiku sestupné hrany na řídícím signálu.
Tento obvod lze použít pro ukládání adres, řídících signálů nebo datových hodnot v počítačových a jiných digitálních systémech.
My ho použijeme jako „buffer“, který si zapamatuje jeden okamžik, ve kterém byl připojen na hlavní sběrnici a na výstupech zachová tento stav až do doby, kdy načteme jiný.

Při jednoduchém experimentování pouze s jedním modulem LEDek a jedním modulem vstupů na sběrnici si vystačíme s připojením řídícího pinu OE na zem. Pinem CP (clock) pak ukládáme stav ze vstupů do bufferu (slouží jako střadač / paměťový registr).

Toto je už verze č. 2, protože v té první jsem se dopustil jedné chyby, o které se chci více rozepsat, jelikož to není poprvé (ani naposled). Pokud chceme zobrazit na svítivé diodě logickou jedničku nebo nulu, bylo by žádoucí, aby v jedničce dioda svítila a v nule ne. Takže diodu připojíme přes odpor katodou k zemi a máme splněno. Když je na výstupu hradla (a tudíž na vstupu diody) logická „1“ (napětí), proud teče diodou do země a dioda svítí.
TTL hradla jsou ale logické obvody, které pracují s relativně malým proudem. Proto hradlo občas není schopno dodat dostatečný proud ani pro rozsvícení LED. Mezní hodnoty proudu používané v TTL hradlech se liší v závislosti na konkrétním typu hradla. Již minule jste si této zásadní charakteristiky mohli povšimnout:
IOL (Max) 28 mA | IOH (Max) -15 mA, takže při výstupní logické nule obvodem může téct až dvojnásobný proud (údaje různých součástek, výrobců a šarží se mohou lišit).
Takže na zobrazení „1“ s diodou spínanou k nule jsme omezeni proudem IOH a navíc, pokud zatížíme více výstupů, obvod se začne chovat nestandardně. Proto musíme logiku otočit a diodu rozsvítíme při logické nule (pak nám teče proud „od plusu“, ale ten je už dostatečný). Pro lepší zobrazování se používal ještě dodatečný spínací tranzistor, který by mohl jednak zvýšit možný proud diodou, ale především nám pak korektně signalizuje „0“ / „1“. V našem návrhu na to musíme myslet a nebude problém signalizovat stav invertovaně. Procesor načte, co je na sběrnici, pak odpojí vstupní signál od sběrnice a znegované to pošle po stejné sběrnici do bufferu, který udrží stav, který nás zajímá „na LEDkách“.



Blokové schéma modulu vstupů (přepínače) a výstupů (LED signalizace) na jedné společné datové sběrnici, ke které můžou být připojeny i další periferie (například paměti nebo procesor).



OctopusLAB 83
Základní oživení universální sběrnice

V tomto díle konečně propojíme vstup (osm přepínačů se signalizací) a výstup (střadač s osmi LEDkami) na společné osmibitové sběrnici. K té si připojíme i signalizaci, abychom mohli otestovat a zkontrolovat, že jsou tam pouze námi požadované stavy a zda se obvody chovají podle předpokladu.
Otestujeme jednoduché zadání, ve kterém na vstupu nastavíme jeden konkrétní BYTE, ten pošleme na sběrnici a ve třetím kroku ho uložíme do výstupního bufferu. Řídící vstupy jednotlivých obvodů jsme v první fázi zkoušeli řídit pomocí jednoduchých skriptů z ESP, ale vzhledem k jednoduchosti zapojení jsme se v tomto okamžiku vrátili k ovládání pomocí několika přepínačů. Je to názornější, intuitivnější a v tuto chvíli paradoxně i rychlejší.

  1. U modulu vstupních přepínačů ovládáme obvod 74LS244 tak, že k negovaným vstupům 1G/2G připojíme +Ucc (obvod sběrnici odpojí a výstup je ve stavu vysoké impedance) nebo GND – pak jsou stavy přepínačů připojeny ke sběrnici.
  2. Jednoduchý modul pro zobrazení stavu má osm LEDek, které spínáme k plusu (v logické nule svítí). Sjednotili jsme tak nastavení i s ostatními moduly a celou sběrnici pak vidíme invertovaně (negovanou: 1=0 / 0=1).
  3. Modul registru (buffer) obsahuje obvod 74LS374, který má dva řídící vstupy. První z nich aktivuje obvod a používá se v případě více obvodů pro výběr jednoho z nich. V našem případě nám stačí negovaný QE (E=enable) připojit k zemi a tím je obvod aktivován trvale. Dalším vstupem je CLK (clock), hodinový puls, který sestupnou hranou (z 1 do 0) uloží stav, který je připojen ke vstupům. Při správném použití spínače nám postačí „zapnout/vypnout“ a stav je uložen.

Celé reálné zapojení pak vidíte na obrázku. Vlevo jsou tři ovládací tlačítka, ze kterých se používají zatím jen dvě – pro CLK a G. Ve spodní části, která na obrázku není, máme samotnou sběrnici, kterou tvoří zatím jen několik propojených osmipinových hřebenů, ke kterým se napojují dílčí osmibitové rozhraní z každého modulu.

Ještě pro lepší pochopení, jak jsme testovali, si znázorníme i graficky. Na vstupech (INP.) jsme nastavili hodnotu (podobně jako je na fotce máme „10101101“). Hodnotu stavů vidíme na signalizačních LEDkách u přepínačů, jelikož jsou připojeny napřímo. Pokud je G (invertované G1/G2) v log. „1“ (připojeno na +Ucc) – pak je hlavní společná sběrnice odpojena, což by měl být výchozí stav.
Připojíme-li invertované G k zemi, data se dostanou i na sběrnici (BUS) – na obrázku vlevo.
Hodinovým pulsem (CLK) sestupnou hranou (1 do 0) se data „posunou“ do registru a zůstávají tam uchována až do dalšího přepsání. V tuto chvíli můžeme od sběrnice vstupy odpojit a LEDky na výstupu (REG) stále drží poslední (předchozí) uloženou hodnotu.
Pravá část obrázku ukazuje, jak se data se sběrnice uloží do registru (REG). Zatím nám slouží jen jako výstupní zobrazovací jednotka, ale v dalším kroku jí už budeme moci připojit k dalším periferiím (expander, paměť, procesor nebo mikrokontrolér).

Modulů máme více a starší verze (jsou to ty, co jsme použili v ukázce), můžeme případným zájemcům poskytnout. Pokud si „hrajete“ s číslicovou technikou nebo mikroprocesory, určitě se vám hodí. Ideálně, když se po domluvě zastavíte u nás v LABu (Praha Vršovice).




http://upgrade.kongju.ac.kr/data/ttl/74374e.html
https://www.ti.com/product/SN74LS244


OctopusLAB 84
Co všechno připojíme ke sběrnici?

V minulých dílech jsem popsal základ univerzální sběrnice, která funguje na principu výběru vstupů nebo výstupů pomocí oddělovačů sběrnice a jednoduchého registru. Ověřil jsem si správné fungování obvodů 74LS244 i 74LS374 na jedné společné osmibitové sběrnici.
V dalším kroku už můžeme naše rozhraní připojit k dalším obvodům. První z adeptů je paměť. Mám v plánu otestovat RAM (statickou) i ROM (respektive EEPROM). Takže je potřeba přidat i adresovací sběrnici, která pro první pokusy může být pouze „několikabitová“ a bude připojena k dalšímu modulu přepínačů. Takže například pouhými třemi přepínači bychom mohli adresovat osm osmibitových slov, což na první ověření postačí. V dalším kroku přejdu na adresování pěti nebo šesti bity (pro paměť 32 nebo 64 slov).

Jako kontrolér bude v první fázi určitě sloužit ESP32 s I2C šestnáctibitovým expandérem. Tato sestava zvládne i emulaci mnoha osmibitových procesorů. Směřuji ale ke komplexnějšímu projektu. Chtěli bychom i vytvořit základ osmibitového počítače ve stylu Altair nebo IMSAI. Zatím však postačí zaměřit se na jednoduchou sestavu jen z logických obvodů pro zapisování krátkých programových sekvencí do RAM paměti s možností spustit z ní případný program.

IMSAI 8080 byl osmibitový počítač, který byl představen v roce 1975. Stal se tak jedním z prvních osobních počítačů na trhu.
Tento počítač se stal populárním díky tomu, že byl použit ve filmu WarGames (1983), kde hrál důležitou roli v příběhu. Hlavní postava David Lightman (hraná Matthewem Broderickem) se pokouší prolomit zabezpečení do vládního počítačového systému, což ale vedlo k nechtěné aktivaci systému, který hrozil vyvolat jadernou válku.

Pokud si budete IMSAI 8080 prohlížet detailněji, určitě si povšimnete možnosti zadávání adres nebo dat pomocí barevných přepínačů. V té době se běžně používal hexadecimální i osmičkový zápis, což je zobrazeno i graficky (naznačeny čtveřice a alternativně i trojice bitů). Dále se zadávala data i část adresy ze společných přepínačů. To vše už máme vlastně připravené, takže můžeme vesele experimentovat.



Chtěl bych také pokračovat v započaté cestě bádání nad obecnými principy, jak fungují počítače. V plánu jsou především tyto tři dílčí projekty:

  • Operační paměť na principu zpožďovací linky
  • Paměť složená z feromagnetických jader
  • Čtečka děrné pásky modifikovaná i na čtení a zápis na magnetický pásek (nebo drát)

Zpožďovací linka je speciální zařízení, které slouží ke zpomalení signálu. Jedním z prvních využití zpožďovacích linek byla „rtuťová“ operační paměť (Mercury tube Delay Line Memory) a byla používána v prvních elektronických počítačích v 50. a 60. letech minulého století.

Základem této paměti byla trubička naplněná rtutí. Signál se posílal „do“ jednoho konce trubičky, odkud se šířil jako akustická vlna. Rychlost šíření akustické vlny ve rtuti je mnohem pomalejší než rychlost šíření signálu v kovech a vodičích, a proto se signál v trubičce zpomalil a na určité délce i dočasně uchoval. Poté, když zvuk dosáhl druhé strany trubičky, byl převeden na elektrický signál a poslán znovu na začátek, případně mohl být podle potřeby použit dál (k přečtení stavu). V praxi se tato „rtuťová“ paměť používala jako krátkodobá paměť pro ukládání dat nebo instrukcí, které měly být zpracovány později. Problémem však byla malá kapacita a pomalá odezva paměti, což znamenalo, že byla vhodná pouze pro určité aplikace a nemohla být použita jako hlavní paměť.

OctopusLAB 85
Sběrnice (retro) počítače

Dokončení z minulého dílu.

Feritová paměť byla jedním z druhů pamětí používaných v počítačích v 50. a 60. letech 20. století. Využívala malých feromagnetických jader k ukládání informací. Každé jádro může být magnetizováno buď v jednom směru (reprezentujícím binární hodnotu 0) nebo v opačném směru (reprezentujícím binární hodnotu 1). K ukládání dat se používala feromagnetická jádra vysoké čistoty, která mohla být magnetizována relativně slabým elektromagnetickým polem. Udržovala svůj stav po dobu řádově milisekund. Oproti paměti s rtuťovými zpožďovacími linkami, byla feritová paměť rychlejší a mohla ukládat více informací na menším prostoru. Její nevýhodou byla ale vysoká cena a složitost výroby.

Feromagnetické paměti byly používány v řadě počítačů a dalších zařízeních, včetně prvních řídicích jednotek pro letové simulátory a řídicích jednotek pro satelity. Nejznámější použití bylo v modulu Apollo.
(Mise Apollo byla první v dějinách, kde lidský život závisel na počítači. Byla první, v níž stroj ovládal jak řízení letu, tak i systémy na podporu života – a tedy i životy astronautů na palubě).

Pokud někdo máte feritovou nebo dokonce rtuťovou paměť (nebo její část), dejte nám prosím vědět. Zájem máme i o libovolné fragmenty retropočítačů – čím starší, tím lepší. Skvělé by byli osmibitové (i mikroprocesory) nebo moduly s integrovanými obvody (ideálně i tranzistory nebo dokonce elektronky). Pokud byste se chtěli do našeho experimentování zapojit, napište mi prosím na mail: honza.copak@gmail.com.


Anabáze s Minimal 8085

Až minulý týden jsem se dostal k tomu, abych otestoval finální sestavu sběrnice, kde máme připraveno pět osmibitových výstupů (1×8 pro data, 16 pro adresu, a 2×8 pro volitelné stavové registry). A k tomu jeden osmibitový vstup přepínačů a dva osmibitové přes I2C expandér.

Jedno ze zvolených „jader“ centrální jednotky byl projekt Minimal 8085 (www.malinov.com/Home/sergeys-projects/minimax8085). Vypadal na první pohled jednoduše, ale stejně nás nakonec trochu potrápilo pár drobností. Autor projektu sice elegantně zjednodušil a zmenšil desku, kde například tři integrované obvody (hradla) snížil na jediný obvod hradlového pole GAL. Ale kdo to dnes „v amatérských podmínkách“ programuje GALy?

Tak jsem si například chvíli musel „hrát“ se „stařičkým“ ELIOT-104 (programátor hradlových polí) a opatřil si potřebné GAL obvody, dokumentaci, nějaké redukce, ladil správný zdroj. Sháněl jsem optimální krystal – 6.144 MHz (pro 3 MHz CPU) nebo 9.8304 MHz (pro 5 MHz CPU) ale zatím nakonec zkoušíme 8 MHz (pro přijatelných 4 MHz CPU). V testovacím režimu připojíme externí RS232 (s MAXem), jak je vidět na obrázku. A do třetice – kapitola EEPROM, kde by byla ideální elektricky mazatelná 28xxx, ale my máme 27xxx (kde různé typy se chovají velmi rozdílně a tak si teorii mazání UV světlem necháme na jindy). Naštěstí se našla i nějaká prázdná a na testy jich máme několik v posledním bloku volných (snadno přeprogramovatelných)a tudíž na experimenty použitelných. 

Takto to zatím vypadá. Krystal nám už kmitá a za GALem máme poloviční frekvenci (což je ověření, že je GAL naprogramován správně). RAMku jsme otestovali a do EEPROM nahráli „monitor“ MON85 (v 1.2 od Romana Bórika). Ale čekáme na odporová pole (pro pull-upy a pár drobných součástek). Držte nám palce. Nebo je někdo ochoten a schopen (kdyby se nám to nedařilo) nám pomoci s rozběhem?


Koukal jsem do poznámek a vychází mi, že o retropočítačích s „výukovým přesahem do dneška“ by se dalo napsat i několik knih. Jen ještě nemám ani zdaleka všechno nastudováno a hlavně otestováno. A jelikož se občas setkávám s lidmi co to zajímá, tak mám možnost vidět ty obrovské rozdíly ve znalostech, zkušenostech či ve specifickém zájmu a zaměření. Každého zajímá něco jiného a k tomu všichni jsme ochotni či schopni se dostat jen na nějakou úroveň. Mám pocit že, že Hamík čtou především „dědečkové radioamatéři a jejich vnuci“ a další směřování do větších technických podrobností speciální číslicové techniky už své čtenáře ztrácelo zcela.
Proto by mi další pokračování spíš bralo energii, protože už nyní jsem se vždy ve stresu snažil něco dopsat a někdy jsem popisoval právě to, co jsem s ne úplně uspokojivými výsledky testoval. Odezva z Hamíka je prakticky nulová a ani to autora moc nemotivuje. Proto jsem se rozhodl v tuto chvíli seriál na neurčito přerušit a současně i snížit frekvenci dalších příspěvků.
Pokud něco sepíšu, bude to nejspíše tu a tam jen jeden menší konkrétní projekt nebo návod, což by bylo ideální už od úplného začátku. Ale kdo má v šuplíku stovku zajímavých nápadů, které převedl do praxe, sestavil, oživil otestoval a sepsal k nim poutavou dokumentaci?





uvidíme, jak se vejde
když tak by se poslední obrázek s první větou za ním mohl vyhodit.


Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *