OctopusLAB 71
Univerzální digitální rozhraní – úvod
Univerzální digitální rozhraní (Universal digital interface – UDI) patří mezi jeden z našich dlouhodobých nekomerčních projektů. Další fázi základní sestavy jsme představili i na letošním pražském festivalu Maker Faire a jelikož vzbudila jistý zájem, rozhodl jsem se právě tomuto tématu věnovat více prostoru.
Jádro UDI tvoří náš oblíbený mikrokontrolér ESP32, ke kterému jsme přidali dva šesnáctibitové expandery, posilovače sběrnice a zobrazovací prvky. Dále zkoušíme připojování pamětí (RAM, ROM, EEPROM i I2C malých EEPROM) a rodí se části emulátoru strojových kódů některých „retro“ mikroprocesorů, které však tvoří základ 99% všech soudobých procesorů.
To vše je na obrázku ohraničeno oranžovým obdélníkem, vlevo je modré rozhraní vstupů a výstupů pro emulátor i4004, nad kterým je zdrojová část. V pozadí je pak deska emulátoru PC286 pro AMIGU.
O čem miniseriál bude?
Už ve chvíli, kdy jsem začal článek připravovat, jsem věděl, že téma je natolik obsáhlé, že zabere několik dílů. Jelikož jsem to chtěl vzít poctivě „zeširoka“ a někdy i hlouběji, některé podkapitoly ještě v průběhu sestavování stále doplňuji a rozšiřuji.
Rád bych se zaměřil na věci podstatné a občas se i zdržel u těch zajímavých, ale úvahy vycházely z následující osnovy:
- přiblížení, jak funguje klasický (von Neuman) počítač
- odhlédnutí do minulosti: „Již staří Římané…“, meziválečná éra
- bity, bajty, jak a co si má stroj pamatovat?
- první osmibitové počítače – pro každého zájemce
- k čemu všemu se hodí UDI-22?
- práce s obsahem starších ROM/EPROM
- emulátory některých strojových kódů osmibitů
- opravdové pochopení principu algoritmizace a hledání nového přístupu
- …
(osnova se průběžně modifikuje, ale základ zůstává)
Vzpomínám si, jak jsem byl fascinován první kalkulačkou (Model TI-1450 z roku 1976), kterou přivezl „ze Západu“ náš příbuzný. Na obrázku vlevo.
Bylo to něco nového a v té době (kolem roku 1980) nebylo tak snadné rychle nasytit mou dětskou zvídavost. Jak to funguje? A že je to tak maličké. Od ABC jsem přešel k VTM, kde sice pár odpovědí bylo, ale jen ve velmi v hrubých obrysech. Byly to právě „tajemné“ první počítače, které mě přivedly k elektronice a následně jsem se snažil něco pochytit i z Amatérského rádia. Někdy v roce 1979 mi kamarád, který studoval matematické gymnázium, ukázal programovatelnou kalkulačku TI-58 a to bylo teprve „zjevení“ – úplná magie, psát si vlastní programy, třeba Přistání na měsíci. Její emulátor si dnes každý (kdo chce) může stáhnout i do svého mobilního telefonu, ale v té době jich v republice byly jednotky kusů.
Proto možná vznikl i „papírový počítač„, jakýsi simulátor opravdového stroje, který umí zpracovat program. Bylo v roce 1980, kdy ve VTM vyšla papírová skládačka CGS (Computer Game system), která pracovala na principu manuálního provádění posloupnosti příkazů (z postupně sem a tam posouvaného proužku papíru) a průběžné zapisování mezivýsledků do registrů (také proužky papíru nebo „tužka-guma“).
Pro testování moderních řídících, diagnostických, měřících či monitorovacích systémů se hodí jistá komplexnější znalost problematiky digitálních (číslicových) systémů i s pohledem do hlubší minulosti. Protože mnoho pojmů, postupů a komponent má své velmi logické důvody a nyní i jasně dohledatelné kořeny.
1. přiblížení, jak funguje klasický (von Neuman) počítač
foto koláž retro ENIAC…
Ilustrační foro počítač ENIAC – MANIAC a EDVAC
foto koláž retro osmibity
trochu historie – (historia magistra vitae) – pro pochoení velmi dobře pomáhá nastudovat cesty hledání a následné důvody proč je něco tak, jak to známe dnes
Von Neuman:
2. první osmibitové počítače
opuštění armádního, kosmického prostoru (modelovámí a simulace, zpracování dat a řízení) – a velké státní zakázky typu sčítání obyatelstva a statistky nad získanými daty
1970 – i4004 – první komerčně dostupný (čtyřbitový) mikroprocesor (sdružující základ dle von neumana)
4 bity? do jednoduché kalkulačky satčí a také pro řídící obvod v tiskárně
následuje éra 8mi bitů:
8008
8060
8080
8085
Z80
6205
3. práce s obsahem starších ROM/EEPROM
čtení – výpis obsahu (hex_dump)
kopírování do souboru
náhrada moderními sériovými I2C EEPROM (DIL8 oproti DIL 24+)