SBC6502 - 3. 7 chip computer. 32kB RAM+8255. Name:"Erika0".

By Administrator at februára 02, 2016 18:05
Filed Under: SBC6502

 

Tááák a máme tu SBC6502 spolu zo zapojeným čipom 8255. Nakoniec to teda už bude vo výsledku celých 10 čipov, ale základ 7 čipov zostáva bezo zbytku. Počítač vyzbrojený čipom 8255 má k dispozícii 3x 8bit brány, nastaviteľné ako vstupné, alebo výstupné, alebo aj ako zmiešané. A takáto mašinka už dokáže údaje zbierať, vyhodnocovať a riadiť. Povedal som si že tento počítač aj pomenujem - takže SBC6502 "Erika0", keď sú v tom vlastné prsty a vlastná hlava. Použité poradie v tomto prípade nechám na Vás.


Nakoniec - dnes je Eriky ...a aj moja manželka je Erika.

 

Potrebné zmeny sú nasledujúce:

 

Treba zmeniť reset (v schéme je to nakreslené zrozumiteľne), zapojenie je vcelku jednoduché, reset sa vyvoláva pomocou čipu 555 a negovaním výstupu cez jedno hradlo čipu 74LS00 máme potom k dispozícii potrebný reset aj pre čip 8255. Potrebujeme ešte jeden čip - 74LS138, je to adresný dekodér. Tu v tomto zapojení je čip namapovaný hneď za RAM, t.j. základné 7-čipové zapojenie sa vôbec nemení, iba proste pridáme ďalšie 3 čipy a meníme zapojenie tlačítka Reset. Na úvodnom obrázku je vidieť ako sú rozložené jednotlivé čipy, na pravej strane sú konektory (J1, J2, J3), kde sú vyvedené jednotlivé porty a je tam jeden dlhý konektor (J4). Tým že je J4 taký veľký tak sa tam vojdú všetky vývody jednotlivých portov (ak treba), tak isto je tam možné pridať doteraz nepoužité vývody chip selectov a aj riadiace signály, konektor je dostatočne dlhý aby sa tam všetko toto vošlo a ešte zostane voľné miesto aj tak. Čo si dáte na J4-ku je na Vás. Ja som ho volil preto taký veľký (má 2x 17 vývodov, t.j. 34 pinov), že má slúžiť ako "samonosný", t.j doštička čo sa do neho založí a už nie je ničím iným podopretá. Takže dostatočne dlhý konektor = dostatočný počet voľných vývodov na rôzne použitie + netreba držiak na vloženú doštičku. Nakoniec som tam priviedol aj napájanie +5V. Proste som chcel aby sa počítač  a jeho periférie ešte dali ďalej rozšíriť ak to bude potrebné. A na univerzálke si tam pripojíte a zapojíte iba to pre Vás potrebné podľa Vašich potrieb. J4-ke sa už nebudem v tomto dieli venovať, ale príde na neho rad v niektorom z ďalších dieloch. Je tu aj tzv. activity indicator - dva tranzistory spolu s dvomi hradlami z obvodu 74LS00 a červenou a oranžovou LED, ktoré indikujú posielanie dát cez linku RS232 (Nemusíte mať zapnutý monitor a vidíte aj tak či sa dáta posielajú jedným a aj druhým smerom.).


Dnes fotkami budem trošku skrbliť - pohľad na počítač SBC6502 Erika0 otočený o 180° oproti úvodnej fotografii:


Tu ešte nie je zapojený nový reset, proste išiel som v step by step režime, čiže je to staršia fotka ako je

v úvode článku. Proste ešte som len hľadal optimálne zapojenie jednotlivých komponentov na doske.

 

Nasleduje zapojenie počítača SBC6502 "Erika0":

SBC6502ver1_1.PNG (109,87 kb)

 

Zapojenie ako na to už máme, ale to nestačí, čip 8255 treba vedieť aj ovládať (musíme mať aj nejaké programové vybavenie) - tu je to veľmi jednoduché, v Basicu nám na to stačia iba jednoduché príkazy Peek a Poke. Obvod 74LS138 nám mapuje výstupy pekne po 1kB od adresy 32768d (8000h), ja používam hneď prvý výstup, ostatných 7 je voľných pre Vaše ďalšie použitie, proste adresácia beží na čipe po 1kB. Áno - je to plytvanie pamäťovým miestom - ale nezabúdajme že doteraz, teda v nultej verzii je to priestor ktorý je absolútne nevyužitý, nepoužitý a nepoužívaný.

 

Prikladám tabuľku adresácie výstupov 74LS138 v tomto zapojení, používam iba výstup na pine č.15:

 

 

Dobre, toto máme za sebou a pokračujeme ďalšou časťou,kde si povieme že na ovládanie čipu 8255 slúžia 4byty, prvé tri sú konkrétne zaradom portA, portB a portC, štvrtý byte je tzv. riadiace slovo, ktoré určuje ako sa čip bude správať (CWR):


 

Čiže najprv musíme nastaviť riadiacie slovo a poslať ho do riadiaceho registra. Napríklad chceme aby boli všetky porty nastavené ako výstupné. Pošleme na adresu 32771d (8003h) číselný obsah 128.

 

Vlastne v Basicu je to potom tento príkaz:

 

POKE 32771,128

 

Nuž a potom posielame potrebný obsah:

- na port A ako príkaz POKE 32768,X kde X = naše potrebné číslo v dekadickom tvare (0-255)

- na port B ako prílkaz POKE 32769,X kde X= naše potrebné číslo v dekadickom tvare (0-255)

- na port C ako prílkaz POKE 32770,X kde X = naše potrebné číslo v dekadickom tvare (0-255)

 

Áno, možno to vyzerá trošku nezrozumiteľne ale len do okamžiku ak si pozrieme tabuľku riadiaceho registra, tu nám už začne byť jasné ako si vieme jednotlivé porty nastaviť:

(Chcete dva porty vstupné a jeden výstupný ? - do riadiaceho registra zadáte číslo 137, teda POKE 32771,137, potom je port A a port B výstupný, port C je vstupný, z portu C čítame príkazom PEEK adresa 32770,X kde X je obsah čítaného portu - dekadicky)


Čiže z vybratého 1kB priestoru nám vlastne stačia 4 byty ...


A teraz na ovládanie tohoto čipu máte voľných celých 32kB RAM - možno to znie úsmevne ale je to naozaj hodne miesta na hodne vecí. A zvládne to aj bez Arduina ...Wink


 

Rozmiestnenie konektorov na doske SBC6502 "Erika0". Ani tu ešte nie je  použitý nový

resetovací obvod.  V tejto dobe ma ešte "trápil" DC/DC menič (len som o tom nevedel).

_______________________________________________________________________________

Popis SBC6502 "Erika0" activity indicator:

Na predný panel som mimo indikácie napájania (zelená LED) vyviedol ešte dve LED-ky - červenú a oranžovú. Červená slúžia na indikáciu prenosu Tx - t.j. zo zariadenia smerom von, oranžová zase indikuje prenos Rx, .t.j. smerom do zariadenia. Pretože na obvode 68B50 je Tx a RX v kľudovej polohe v log.1, treba použiť 2 hradlá obvodu 74LS00 na invertovanie signálu. Ak nahrávame program tak LED-ky veselo poblikávajú, pri posielaní údajov smerom von bliká iba červená LED. Je to celkom dobré na sledovanie stavu zariadenia, netreba potom mať stále zapnutý monitor. Pozor, táto verzia ponúka len veľmi krátke záblesky LED (ideme na 115.200Bd !) Tu som to nechcel "komplikovať" nejakým zložitejším zapojením a dumať nad nejakým monostabilným klopným obvodom, v ďalšom už je to použité, ale aj v tejto verzii to ako základná indikácia postačuje. Ak použijete nižšiu prenosovú rýchlosť tak sa dĺžka zábleskov úmerne predlžuje.


Použité LED a púzdra na ne sú zkanibalizované zo starého PC (tak isto aj tlačítko Reset) - konečné je pre ne rozumné využitie ...


Activity indicator nie je potrebnou súčasťou stavby SBC6502, takže rozhodnutie o tom či si vylepšíte zariadenie o túto indikáciu je iba na Vás.

____________________________________________________________

Pri mojich testoch dokázal počítač SBC6502 "Erika0" zapisovať a čítať v Basicu na porty čipu 8255 rýchlosťou cca 150byte/sec (Uvedená hodnota platí pre x-tal = 1.8432MHz) - je to dané Basicom, ale na jednoduché riadenie to rozhodne postačuje. Komu by táto rýchlosť nestačila - má k dispozícii na riadenie ešte strojový kód kde to potom fičí na úplne iných obrátkach.

 

A nasleduje zase jedna zaujímavá vec - nameraná spotreba:

SBC6502 "Erika0", použitý procesor 65C02 + rozširujúca doska, spolu 10 čipov:

 

odber 70,7mA/12V = 848mW = celková spotreba
odber 132mA/5V = 660mW = vlastný odber SBC6502 "Erika0"

vlastná réžia DC/DC meniča = 848-660 = 188mW


Celkom rozumné hodnoty na tohoto drobčeka, nie ? Od spínaného zdroja som síce čakal vyššiu účinnosť, ale aj tak to nie je zlé.

________________________________________________________________________________

V ďalšom bude zase popis "radostí", ktoré ma sprevádzali pri tejto prestavbe a teda rozšírenia o púhe 3 čipy, mno -  rozhodne to bolo zaujímavé.

 

Návrat do všetkých pokračovaní o SBC6502:

http://blog.3b2.sk/igi/post/SBC6502-0-UvodIntroduction.aspx

____________________________________________________________

Vaše hodnotenie, Rate post:

Add comment


(Will show your Gravatar icon)

  Country flag

biuquote
  • Comment
  • Preview
Loading