The Micro UK101 - COMPUKIT UK101, 4MHz, transfer speed=38.400Bd. Part-4.

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

Po zvýšení taktu hodín procesoru na 4MHz nasledovalo rozhodnutie že by bolo dobré skúsiť tiež zdvihnúť vlastnú prenosovú rýchlosť na novú hodnotu = 38.400Bd. Riešenie som urobil zase také aby sa nemusel na doske Micro UK101 robiť žiaden zásah, t.j. na základnej doske sa nerobí žiadna prerábka a nemusí sa naťahovať na doske ani jeden jediný pomocný drátik - jednoducho chcem aby doska bola celkom pôvodná, zadanie som dodržal.

Dôvod úpravy ?

Pretože napríklad SBC6502 spokojne "fičí" na 115.200Bd (+ je aktívny handshaking) tak dostupných "iba" 19.200Bd na UK101 mi potom pri práci s ním pripadá zúfale pomalé, občas to síce nemusí vadiť, ale skúste dať do takejto mašiny 16kByte dlhý program - a to sa ešte nepoužíva žiaden handshaking ... no, takže táto úprava je aspoň malou náplasťou na nízku prenosovú rýchlosť.

 

Micro UK101 s už osadenou novou doštičkou ktorá sa zasunie namiesto

pôvodného čipu U7 (74LS163).

 

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.


Je to samostatná doštička ktorá sa iba zasunie na pôvodné miesto čipu 74LS163 (tento čip ide z dosky von). Doštička obsahuje 2x aktívne súčiatky, 2x kondenzátory, 1x 16-pinovú pätičku, 1x 8-pinovú pätičku a 1x odpor. Je tam umiestnený TTL oscilátor =1.8432MHz a delička :3 (toto delenie zabezpečuje čip 74LS90). Výstupná frekvencia z deličky 74LS90 je potom 1.8432MHz/3 = 614.400kHz, t.j. táto hodnota vstupuje do čipu 68B50 kde sa ešte interne delí 16-timi. Potom platí nasledovné - 614.400kHz/16 = 38.400Bd - a toto práve my potrebujeme na zdvihnutie prenosovej rýchlosti na dvojnásobok pôvodnej hodnoty. Doštička je na výšku posadená o niečo vyššie ako "dummy" čip, len som to chcel odskúšať a teda väčšia výška tohoto modulu  mi nevadí - nechcel som aby spodná strana doštičky "sedela" na čipoch nachádzajúcich sa pod ňou. Zase na druhú stranu - čakal som že to bude fungovať bez najmenších problémov, takže žiadne prekvápko tu nebolo akosi v pláne (a ani sa nekonalo). Oscilátor a aj delička majú vlastné kondenzátory 0.1uF na vývodoch napájania, rozhodne zvyšujú stabilitu zapojenia, na takýchto veciach v zapojeniach nešetrím.
(Ak by som takto rozmýšľal hneď od začiatku tak by som vôbec nemusel zháňať obvod 74LS163 do zapojenia - po bitke je ale každý generál. Faktom je to, že o pretaktovaní a následne ešte aj o zväčšení prenosovej rýchlosti som začal uvažovať po ukončení kompletnej stavby a následom oživení Micro UK101.)


"New chip U7"

Schéma doštičky ktorá sa založí namiesto U7.

 

A takto vyzerá protoboard "new chip U7" v reáli,

celé zapojenie je urobené na univerzálke:

 

 

Prepojky doštička - pôvodný čip sú na doštičke "zapustené" tak, aby neprečnievali von, tým sa zväčšila stavebná výška. Vďaka tomu je dosť priestoru pod doštičkou pre založené čipy - a tak isto je možné zo spodnej strany doštičky bezproblémovo pripojiť drátiky na potrebné prepojenie oscilátoru a deličky + prepojenie na potrebné vývody smerom nadol.


Všetko drátkovanie na doštičke je celé prevedené zo spodnej strany univerzálky.

(Je to dobre skryté pred zvedavými zrakmi ...)

Doštička je testovacia, t.j. rozmery doštičky by sa dali ešte o kus zmenšiť.

 

Odpor 4k7 (3k3) slúži len ošetrenie vstupu hradla NAND čipu 74LS00, aby tam bol nejaký rozumný logický stav na vstupe, kľudne je možné pin č.12 namiesto do log.1 pripojiť priamo na zem, vtedy tento odpor v zapojení môžeme ušetriť. Pretože na doštičke je voľné miesto tak som tam ten odpor dal. Na pine č.11 je výstup 614.400kHz ktorý vstupuje do čipu 68B50 a "vyrobí" novú, nám potrebnú dvojnásobnú prenosovú rýchlosť.

 

Sem na toto miesto sa osadzuje nová doštička "new chip U7"

 

Už osadené na svojom novom mieste.

 

Chodilo to okamžite na "prvú dobrú", len zase bolo treba nanovo nastaviť v Hypertermináli parametre prenosu, teraz na hodnotu =38.400bit/sec., 8bit, no parity, no handshake.

 

 

A ešte bolo treba nastaviť toto:

 

___________________________________________________________


Pre niekoho toto "len" dvojnásobné zrýchlenie prenosu dát nemusí dávať zmysel, ja považujem za celkom super že to sviští na dvojnásobku pôvodnej rýchlosti, treba nanovo pripomenúť že tu nepoužívame "handshake" režim, t.j. pokúšať sa dostať na ešte vyššiu prenosovú rýchlosť mi už nedáva veľký zmysel, pretože potom už budeme musieť "brzdiť" prenos umelo - veľkými vloženými pauzami čo je ale kontraproduktívne. Pritom, dalo by sa to - stačilo by zmeniť deliaci pomer čipu 74LS90 - ak by sa nastavilo delenie :2 tak by sme dostali prenosovú rýchlosť 57.600Bd. Samozrejme, toto by si už vyžiadalo zmenu zapojenia deličky čipu 74LS90. (1.8432MHz/2=921.600kHz, toto sa interne ešte v čipe 68B50 delí :16, teda potom by sme mali 921.600kHz/16= 57.600Bd)


Kto chce môže si to vyskúšať.

___________________________________________________________


Ak by sa objavovali chyby v prenose (hlavne je to možné najmä pri nahrávaní dodatočných riadkov do už existujúceho programu v Micro UK101) odporúčam nastaviť Line delay najprv na hodnotu 175msec, možno sa ukáže že bude potrebné ísť v nastavení aj na vyššiu hodnotu. Táto hodnota môže závisieť aj od vlastnej rýchlosti použitého počítača a teda od jeho rýchlosti odozvy, tu sa asi nevyhnete malému experimentovaniu (a samozrejme to tiež závisí aj od konkrétneho typu použitého USB↔RS232 prevodníku). Riešim to tak že zadám podstatne vyššiu hodnotu, nahrám program a následne zopakujem jeho nahrávanie do neho samého, t.j začnú sa nanovo prepisovať už existujúce riadky. Ak sa neobjaví pri prenose chyba (to vidíme priamo na obrazovke Hyperterminálu) tak hodnotu Line delay znížim (napríklad podľa vzorca Line delay = Line delay-20) a postup zopakujem. Ak nájdem hodnotu kedy už prichádza k chybám pri prenose tak túto hodnotu zvýšim naspäť (pridám +20). Ak potom prenosy zbiehajú bezchybne tak to mám už dobre nastavené. Len proste dávam Micro UK101 dostatočný čas na spracovanie jednoho prijatého riadku programu, aby to dokázal v sebe "prežuť" a pripraviť sa na ďalšie prijímané data. Originálny UK101 posielal pri prenose vždy na konci riadku 10x nulový byte, ktorý zaručoval že bol čas na spracovanie riadku, toto tu odpadá a preto je treba zaviesť umelé oneskorovanie. Ak sa to správne nastaví tak Micro UK101 pracuje fantasticky,


Budem konkrétnejší - prenos programu do Micro UK101 bude fungovať aj pri podstatne menšej hodnote čísla uloženého v Line delay, problém nastáva až v okamžiku ak chceme prepisovať v programe niektoré časti dodatočnými riadkami zvonku. Preto je hodnota v Line delay nastavená tak vysoko že vyhovuje bezproblémovému prenosu dát do Micro UK101 v obidvoch prípadoch za každých okolností. To že tu nie je hardvérové riešenie toku dát naozaj treba brať do úvahy, hlavne pri vyššej prenosovej rýchlosti, ale ak to dobre nastavíte tak potom to už fičí bez najmenších problémov.

 

Zase je to veľmi jednoduché riešenie, ak to z akýchkoľvek dôvodov už nechceme alebo nepotrebujeme, zase stačí doštičku vybrať z Micro UK101 a zasunieme naspäť na svoje miesto odložený čip 74LS163 (U7). Dtto riešenie platí aj opačným smerom. Výmena je záležitosťou iba niekoľkých sekúnd. Je veľmi pravdepodobné že tento protoboard v budúcnosti nahradím niečm iným, buď menším, alebo to bude väčšia doštička kde to bude integrované do celku ako takého. Teraz išlo hlavne o to skúsiť či vôbec má zmysel pokúšať sa zdvihnúť vlastnú prenosovú rýchlosť na dvojnásobok pôvodnej hodnoty - a zmysel to rozhodne má. (Káblik USB ↔ RS232 pri rýchlosti komunikácie 38.400Bd môže mať dĺžku niekoľko metrov bez nejakých obmedzení, dtto platí pre RS232 ↔ RS232.)

 

 

Dtto pri pohľade z opačnej strany.

 

Záverom:

Pôvodná prenosová rýchlosť počítača UK101 bola 300Bd, čo skutočne nie je veľa (dtto takto "rýchlo" ukladal a čítal na magnetofóne napríklad aj počítač ZX-81). 64-násobné zrýchlenie na hodnotu =19.200Bd je už celkom slušné. No a 128-násobné zrýchlenie prenosovej rýchlosti na novú hodnotu 38.400Bd je zákonite ešte lepšia hodnota. Ešte pripomeniem že sa tých 38.400Bd  dá dosiahnuť aj úplne inou cestou - ale o tom zase nabudúce ...

 

Zapojenie nerieši ďalšie možné zvyšovanie taktu procesoru, takt hodín =4MHz mám aj na doske SBC6502 a zatiaľ mi pretaktovanie na túto hodnotu postačuje. Z mojej strany bola snaha dostať na túto doštičku aj časť čo robí pretaktovanie na 4MHz (teda dostať tam aj túto prepojku) - lenže rozostup uloženia pinov čipu 74LS74 a 74LS163 nie je na doske urobený v rastri násobkov 2.54mm (alebo inak - vlastný rozostup čipov na doske nie je týmto násobkom) takže z riešenia typu AllInOne na jednej jedinej doštičke zatiaľ vzišlo. No, ako hovorím - hotovej zakúpenej doske netreba hľadieť na jej zuby ... nakoniec som z tej dosky dostal celkom slušné zrýchlenie (na dvojnásobok pôvodného taktu procesoru) a dtto sa týka zrýchlenia komunikácie (tá je teraz tiež na dvojnásobnej hodnote oproti pôvodnej). Na tohoto "drobčeka" sú tie urýchlenia slušné.

Ďalšou výhodou je to že tak pretaktovanie ako aj zmena prenosovej rýchlosti sa môžu urobiť osve, t.j. samostatne, nie sú na seba viazané. Zvýšenie prenosovej rýchlosti má zmysel len vtedy ak použijeme minimálnu rýchlosť procesoru =2MHz (a viac).


SealedSealed
Sealed

 

Čo bolo veľmi povzbudzujúce že všetko čo sa týkalo Micro UK101 išlo okamžite na prvý pokus, teda vlastná stavba Micro UK101, potom použitie "dummy" čipu U8 a tak isto okamžite "šlapala" aj následná náhrada čipu U7 novou doštičkou. Absolútne žiadne zádrhely, všetko fungovalo hneď (a funguje) tak ako treba. Po naozaj jednom ťažkom februárovom týždni "ála blbec" kde nič nešlo a nefungovalo tak ako treba mi táto celá práca okolo Micro UK101 pripadala mimoriadne príjemná - proste bola to naozajstná oddychovka (našťastie.) Takže k tejto mašinke mám od úplného začiatku čo som si ju postavil skutočne dobrý vzťah.

___________________________________________________________

Vaše hodnotenie, Rate post:

Comments

22. 3. 2021 7:34:12 #

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: