The Micro UK101 - SBC COMPUKIT UK101 /32kB RAM. Part-1.

By Administrator at marca 07, 2021 09:30
Filed Under: SBC8085-NCB85

Micro UK101

 

Pred cca 3 týždňami som si objednal z eBay základnú dosku pre SBC počítač Micro UK101. Síce mi prišiel oznam že bude dodaná asi tak za 3 týždne, ale dorazila (v poriadku) asi tak po týždni. Pekne zabalená v bublinkovej fólii a bola priložená aj schéma, ktorá je mierne upravená oproti originálu na stránkach Searle Granta. Vďaka priloženej schéme bolo osadenie súčiastkami brnkačka. Včera som si večer o pol ôsmej (05.03.2021) k tomu sadol, hotovo bolo asi tak za 3 hodiny - v tom počítam aj dosť pracné hľadanie niektorých súčiastok po šuplíkoch (viem že to mám, ale kde to len môže byť založené ? - to je večná otázka pri stavbe čohokoľvek). Ak sa Vás táto otázka netýka - šťastný to človek ...

 

Upozornenie:

Zásahy do zariadenia sú na vlastné riziko majiteľa zariadenia. Autor týchto stránok nenesie žiadnu

zodpovednosť za škody spôsobené používaním zariadení postavených podľa tu uverejnených

schém alebo zobrazených úprav.

 

Toto bola prvá "srdcovka" z malých SBC počítačov, ktorú som chcel už dávno postaviť, ale akosi mi to vyšlo tak že najprv som postavil SBC6502 - človek mieni, život mení. (Asi zavážila možnosť ísť na SBC6502 už od začiatku na vyšších hodnotách prenosovej rýchlosti.) Pri nedávnom prehľadávaní webu som čírou zhodou okolností natrafil na túto dosku - a už som neodolal:


 

Pekná, čistá doska. Súčiastky doma boli k dispozícii, jedinú vec čo som zháňal bol čip 74LS163, ten sa v domácich zásobách nevyskytoval ani náhodou. Nakoniec som ho veľmi rýchlo zohnal, skôr ako dorazila doštička. Základné rozmery sú neveľké - 100 x 86mm. Čipov na doske je spolu 11, čo je ešte o jeden viac ako má moja SBC6502 spolu s už pripojeným čipom 8255A čo je vcelku paradox. Na dosku je možné osadiť tak RAM v úzkom púzdre, alebo aj vo verzii širokého púzdra, t.j. klasiku - toto je tu vyriešené mimoriadne šikovne. Osadil som tam pätičky tak, že je možné použiť obidva druhy RAM pamätí (samosebou - nie naraz ... Wink) - niekedy v budúcnosti sa to môže hodiť, dajú sa tu testovať obidva druhy RAM. Pretože úzku 28-pinovú pätičku nemám tak som osadil dve 14-pinové za sebou, je to celkom dobré riešenie.

 

Už kompletne osadená doska - mimo čipov. Nad nápisom Design by ... je umiestnená RAM, takéto zapojenie pätičky umožňuje použiť v doske tak úzku alebo širokú RAM. Vo veľkej pätičke je vidieť osadenú 1uF keramiku. Tak isto vidieť že vo veľkej pätičke je "zrušená" jedna prepážka aby neprekážala osadeniu kapacity na svoje miesto. Osadený Cannon je 9-pinový ( "samička" /female/) pre priame pripojenie RS232.

 

Ako vidieť na doske je možné preswitchovať procesor pomocou prepojky (J4) na rýchlosť 1MHz alebo 2MHz. Základný takt hodín pritom beží na 4MHz a delí sa na uvedené nižšie hodnoty dvomi deličkami :2 za sebou ktoré sa nachádzajú v jednom čipe 74LS74.

 

Celkom vľavo - je odstránená jedna prepážka v 40-pinovej pätičke.

 

Pri stavbe som použil pomocné plastové distančné stĺpiky ktoré chránia súčiastky keď potrebujem otočiť dosku pri montáži "hore nohami". Výborne sa mi to osvedčilo už pri mnohých doskách ktoré som osadzoval. Jednoduchá pomôcka, ale naozaj maximálne účinná.

 

Niektoré súčiastky sú osadené už dosť na tesno (ak sa použijú precízne pätičky),

ale išlo ich osadiť do dosky bez nejakých problémov.

 

Ako som už spomenul, večer o pol jedenástej bolo hotovo, vďaka nepájivej maske sa s doskou robilo mimoriadne dobre, ešte som následne dosku umyl v technickom liehu a na noc nechal vysušiť, skúšanie som nechal na ďalší deň ... aj vyspať sa treba.

 

 

Čo dodať k vlastnej stavbe ?


V podstate žiadne záludnosti až na na nejaké tie drobotiny a urobené vlastné úpravy:


- ak som chcel pri stavbe použiť precízne pätičky tak som musel v 40-pinovej precíznej pätičke odstrániť jednu prepážku, pretože práve tam je umiestnený kondenzátor C5=0.1uF čo by naozaj prekážalo, ale úprava pätičky sa dala hravo zvládnuť (alebo treba použiť štandartné pätičky, tie zase ja nerád používam vo svojich zariadeniach) - komu to nevadí môže osadiť kondenzátor zo spodnej strany dosky a teda potom netreba robiť úpravu pätičky (menej elegantné riešenie, nechcel som ho použiť), tak isto je možné "natvrdo" osadiť čipy bez pätičiek - toto ale neodporúčam, výmena niektorého čipu je potom o kus zložitejšia - a nie je potom možné skúsiť ďalšie veci (popísané neskôr v ďalších častiach)

 

- pri použití precíznych pätičiek vzniká "mierny" problém s osadením vlastného x-talu, musia sa mu mierne vytvarovať prívody, inak sa na svoje miesto fyzicky nevojde (reálne to vyhnutie prívodov je potrebné o tak cca 1÷1.5mm - ak osadzujeme priamo čipy bez precíznych pätičiek uvedený problém nevzniká, tak isto to platí pri použití štandartných pätičiek):


 

Osadený x-tal na svojom mieste s už mierne ohnutými prívodmi.

 

- dovnútra tejto 40-pinovej pätičky som osadil namiesto C5 (pôvodná hodnota = 0.1uF) keramiku 1uF, je tam uložená "naležato", vo filtrácii napájania je väčšia hodnota použitej kapacity vítaná

 

- tak isto kondenzátor C10 (pôvodná hodnota = 0.1uF) ktorý je určený pre čip MAX232, tiež som tam osadil keramiku 1uF, nevadí ak je tu použitá väčšia kapacita ako predpísaná

 

- odpory R2 a R3 ktoré majú originálne hodnotu 680Ω, tieto som nahradil hodnotou 1kΩ, oscilátor aj s týmito odpormi zaručene nabieha taktiež

 

- použité keramiky vo filtrácii napájania sú modré a žlté, tu mi už "dobiehajú" ich domáce zásoby a tak išlo do dosky to čo som doma našiel

 

- kondenzátor pre Reset (C18) je rozmermi o niečo väčší ako by tu stačilo, teda myslím tým jeho veľkosť, šuplík "vydal" na použitie tantal 10uF/35V, preto je "mierne obéznejší" ako by mu prináležalo, ale miesta na jeho osadenie je tam dosť (ale funguje)

 

- kapacity pre obvod MAX232 (teda C1 ÷ C4) som použil síce tiež tantalové, majú oproti pôvodnému zapojeniu väčšiu kapacitu = 2.2uF, t.j o niečo viac ako je predpísané, tiež s nimi nič nepokazím, sem môžu ísť kapacity až do hodnoty 10uF (na tomto mieste tak isto platí že osadená väčšia kapacita je lepšia)

 

- v zapojení indikácie napájania som nepoužil červenú LED, (červená by mala indikovať nežiadúci stav, nie napájanie) ale zelenú LED, použitý typ je 20mA LED


Dnes ráno (písané večer 06.03.2021) som dosku osadil všetkými potrebnými čipmi, napálil som obsah do Eprom typu 27C256 (32kByte), naswitchoval som (J4) procesor priamo na vyššiu hodnotu, t.j. =2MHz, pripojil dosku na zdroj 5V/DC/0.8A, zelená LED sa rozsvietila (to som skontroloval ešte včera bez osadených čipov či je všade napätie tam kde treba), dym sa nikde k mojej plnej spokojnosti nezjavil a tak som v Hypertermináli nastavil prenosovú rýchlosť (19.200 Bd, 8 bit, no parity, no handshake) a pripojil káblik USB ↔ RS232 priamo na RS232 konektor na doske Micro UK101 (pozor, tu sa na pripojenie nepoužíva null-modemový káblik !).

 

 

Následne som na doske stlačil Reset a ...

objavila sa úvodná hláška (príjemná chvíľka):


V úvodnej hláške je vidieť že dostupnej RAM je o niečo menej ako u SBC6502.


Chvíľu ešte trvalo správne nastavenie parametrov prenosu aby sa nestrácali (a nemenili) prenášané znaky (tu máme potrebné nastavenie režimu na no handshake, takže niektoré veci pri prenose treba umelo spomaliť aby sa stíhali preniesť údaje) a potom už len skutočná pohoda, pohodička. Basic je Microsoft Basic - v podstate je to to isté ako je použitý v SBC6502, čiže žiadne zložitosti, to teší, vyzerá že minimálne 95% vecí zo spomínaného SBC pobeží priamo bez najmenších problémov aj na Micro UK101. Maximálny počet znakov v programovom riadku je rovnaký ako u SBC6502, t.j. 72 znakov. Počet znakov v riadku sa volí príkazom POKE 15,X kde X=počet znakov v riadku. Maximálny počet znakov v riadku =80, ak chceme urobiť zápis nad túto hodnotu tak musíme takýto zápis mať už rozdelený minimálne do dvoch programových riadkov.

Tu použitý Basic (1979) je o 2 roky mladší ako Basic (1977) na SBC6502.


Nastavenie Hyperterminálu pre spoluprácu s Micro UK101:

(číslo použitého COM portu je závislé od Vášho počítača,

určuje ho použitý prevodník USB ↔ RS232)

 

 

Aby všetko bežalo tak ako treba, to že je možné v Hypertermináli nastaviť tieto oneskorenia pri prenose je vec zásadná (treba nastaviť - ak sa neopoužíva handshake),  mne sa zatiaľ osvedčilo toto nastavenie kedy neprichádza ku skomoleniu dát pri prenose, platí to pre 2MHz clock ! :

 

Ak by bol problém tak treba zväčšiť oneskorenie Line delay z 35msec aj na

podstatne vyššiu hodnotu, napríklad až na 150msec, jednoducho treba nájsť

nastavenie kedy už neprichádza ku skomoleniu dát pri prenose.

 

Testujem to tak, že nejaký už nahratý program prepisujem nanovo zase ním samým a nesmie sa objaviť chyba pri novom zápise. Je vidieť že riadenie toku dát tu naozaj chýba a toto umelé spomaľovanie rýchlosti prenosu dát fakt je hodne, hodne obmedzujúce. Na druhú stranu terajších prenosových 19.200Bd je 64x rýchlejších ako pôvodných 300Bd ... a to je významne lepšia hodnota (a pritom stále je to 6x pomalšie oproti 115.200Bd u SBC6502).

 

Nasleduje jednoduchý (skrátený test na obsah 0, 85, 170 a 255 (dec)) Basic-ový program na otestovanie RAM, voľná RAM je posunutá smerom vyššie (cca 256 byte) ako je to u SBC6502 a teda môžeme testovať RAM od adresy 1280(dec) po adresu 32767(dec), t.j. testovaných je od 1.25÷32kB RAM (veď aj ten vlastný testovací program sa musí do SBC niekde nahrať):


11 ? CHR$(12):? "       TINY test RAM 1.25-32kB"
12 ? "             Igi (c) 2021":W=1280:Q=1.25
13 ? "         SBC UK101-32kB RAM": ?
20 ? "     RAM range:";:? Q;:?"-";:? Q+0.25;:?"kB"
25 FOR F=W TO W+255
30 POKE F,0:IF PEEK(F)<>0 THEN 50
31 POKE F,255:IF PEEK(F)<>255 THEN 50
32 POKE F,85:IF PEEK(F)<>85 THEN 50
33 POKE F,170:IF PEEK(F)<>170 THEN 50
39 NEXT F:Q=Q+0.25:W=W+256:IF W>32767 THEN 55
45 GOTO 20
50 ? "Problem at adress - data":? F,PEEK(F):END
55 ? "O.K. - complete !"

 

Program sa dá podstatne urýchliť (2x) vynechaním riadkov 30 a 31, pretože jednotlivé bity v jednom byte budú aj tak otestované nulou a aj jednotkou - nakoniec je to len jednoduchý základný test, rozhodne by mal zbehnúť bez problémov, potom by malo byť všetko s použitou RAM v poriadku.

 

Ako to vyzerá v reáli keď počítač beží na 2MHz (testujú sa pamäťové bunky RAM na 0, 85, 170 a 255) ?

video:

UK101_test RAM.mp4 (4,13 mb)

 

Tento program testuje voľne dostupnú RAM na všetky možné hodnoty obsahu byte:

 

10 ? CHR$(12):S=1280:W=S:Q=1.25:? "Full tested 1.25kb-32kB RAM"
12 ? "UK 101 - (c) Igi 2021"
20 ?"Test RAM range: ";:? Q;:?"-";:? Q+0.25;:?"kB"
25 FOR F=W TO W+255:FOR X=0 TO 255:POKE F,X:IF PEEK(F)<>X THEN 50
35 NEXT:NEXT:Q=Q+0.25:S=S+256:W=S:IF S>32767 THEN 55
45 GOTO 20
50 ? "Problem at adress - data":? F,PEEK(F):END
55 ? "Complete !"

(Program zbehne za 3h28min - pri takte procesoru = 4.00MHz)

 _______________________

 

Čo teší je to že Micro UK101 je naozaj malá doska a teda počítač je ľahko prenosný. Dosahuje 1/2 veľkosti mojej dosky SBC6502 (na tej mám navyše umiestnené obvody indikácie Tx a Rx, Reset pomocou 555-ky, je tu tiež osadený čip 8255A, prídavné konektory + spínaný DC/DC menič 12V/DC/5V/DC, tak isto aj vypínač počítača. Zákonite na doske kde netreba drátkovať prepoje je možné čipy uložiť bližšie k sebe - je to poznať. Micro UK101 je skutočne príjemná mašinka a teším sa že si na nej všeličo otestujem. A dá sa ľahko prenášať. S takýmto malým počítačom sa dá zažiť spústa zábavy, hlavne ak viete čo a ako.


Ešte sa vrátim k niektorým veciam:


SBC Micro UK101 nabehol na prvý pokus, nenastalo žiadne hľadanie kde je chyba, to vždy náramne po stavbe poteší

- doštička je tak malá že pripojený káblik s konektorom pre RS232 svojou váhou prevažuje dosku na zadnú stranu ak ju nemám položenú na dostatočne veľkej podložke

- komunikačná rýchlosť prenosu 19.200Bd mi pripadá na dnešné časy pomalá - i keď pôvodných 300Bd bola neskutočne malá hodnota

- asi by som mal pouvažovať o prepäťovej ochrane (obyčajná 5W ZD na 5.6V pripojená paralelne v závernom smere na napájanie), predsa len sa omylom môže pripojiť zdroj o vyššom napätí - tu by asi bolo dobré dať ju priamo na dosku namiesto pôvodnej diódy 1N4xxx

- tlačítko Reset by som videl radšej na prednej strane kde by bolo lepšie prístupné

- na zadnej strane chýba vypínač napájania, je to síce drobnosť - možno blbina, ale mne to na tomto SBC počítači naozaj chýba, mimo iného je to ešte aj dobrá ochrana (ak pripojíte zlé napätie v napájaní a máte pritom vypnutý vypínač = záchrana čipov v zariadení)

- trošku to bude zložitejšie na realizáciu ak by som na toto chcel pripojiť čip 8255A, ale dá sa to, možno sa niekedy k tomu "nakrknem", to že tu nie k dispozícii extended BUS zbernica je škoda, naozaj škoda, pretože rozšírenie o nejakú perifériu sa tým hodne zkomplikovalo, ale tu mám už v merku iný SBC ktorý tento nedostatok nemá a extended BUS zbernicu má na základnej doske

- som si vedomý že tieto veci sú daňou za hotovú dosku, takže nezostáva nič iné ako to zobrať do úvahy a riešiť si to po svojom

 

Čo dodať - pretože mám osadený procesor 65C02 ktorý priamo funguje na 4MHz (a ide pretaktovať aj na viac), tak uvažujem nad tým ako sa dostať na doske na túto hodnotu. Jednoduchá možnosť by bola drátikom na stredný vývod J1 dodať 4MHz (napríklad z pinu 3 čipu 74LS74) a máme mašinu s podstatne väčším výkonom, akurát nechcem na doske robiť takéto prepoje. Vlastná prenosová rýchlosť (19.200Bd) sa takýmto overclockingom nezmení. A ten výkon by bolo už naozaj pri používaní cítiť. Ďalšou možnosťou je priamo na procesor dodať externý clock trebárs aj =6MHz, procesor to zvláda (otestované na SBC6502) a to už je poriadny "frkot" (toto by si ale už vyžadovalo prídavnú, externú doštičku), tých možností je naozaj viacero. Rozhodne ešte niečo v tomto smere skúsim.

 

Priznám sa, že týmto jednoduchým SBC som už celkom dávnejšie prišiel na chuť, bavia ma - i keď toto skonštatovanie asi nie je žiadna novinka. Hotová doštička stavbu počítača Micro UK101 významným spôsobom zjednodušuje, hlavne ak máte doma všetky potrebné súčiastky (teda skoro, chýbal mi iba už spomenutý čip 74LS163). A počet čipov je 11, čo je o jeden čip nad mojou "internou" hranicou pre naozaj jednoduchý SBC ktorý je aj výborne funkčný. A prišiel som nakoniec na to ako sa dostať na moju magickú hranicu 10 čipov na doske - stačí čítať budúci článok na túto tému.

____________________________________________________

Záverom prikladám odkazy na stránky k danej téme:

 

Obsah Eprom (27C256):

MicroUK101.bin (32,00 kb)


Nová schéma dodávaná k tejto konkrétnej doske (tu som opravil dnes, t.j. 08.03.2021 chyby ktoré v uvedenej schéme boli):

Micro UK101 _schema_error_corection.pdf (1 021,79 kb)


Vlastný zdroj - autorom je Searl Grant:

http://searle.x10host.com/uk101/uk101.html

 

manuál k monitoru:


CEGMON.pdf (3,41 mb)

 

Kto chce vedieť viac o pôvodnom počítači UK101:

https://en.wikipedia.org/wiki/Compukit_UK101

 

manuál k pôvodnému počítaču UK101:


UK_101 manual.pdf (3,16 mb)

________________

Ďalšie odkazy:

http://www.gkc.org.uk/martin/software/index.html

http://www.compukit.org/Compukit.org
http://uk101.sourceforge.net/docs/index.html

http://osi.marks-lab.com/

http://www.6502.org/users/sjgray/projects/microuk101/index.html

__________

Môj prvý článok na danú tému (vyšiel pred 10 rokmi):
Compukit 101, new version MicroUK101.

_____________________________________________________

Vaše hodnotenie, Rate post:

Comments

7. 3. 2021 9:33:19 #

trackback

Directory SBC.

Directory SBC.

Igi blog |

Info o autorovi

Volám sa Igor Gramblička, bydlisko: Bratislava, Slovakia. Môj nick: Igi. Blog je o mojich záujmoch, predtým som pracoval ako IT špecialista na počítačové siete a redakčné systémy pre viaceré denníky - až som pred rokmi nakoniec v jednom z nich zakotvil a kde som to potiahol až do konca mojej profesnej kariéry.

Rok, mesiac, počet článkov: