Obsah:
- Zásoby
- Krok 1: Koncept
- Krok 2: Požiadavky
- Krok 3: Spojte to dohromady
- Krok 4: Testovanie obvodu
- Krok 5: Ďalší krok
- Krok 6: Program
- Krok 7: Záver
Video: 6502 Minimálny počítač (s Arduino MEGA), časť 1: 7 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
Mikroprocesor 6502 sa prvýkrát objavil v roku 1975 a navrhol ho malý tím vedený Chuckom Peddleom pre technológiu MOS. V tej dobe sa používal vo video konzolách a domácich počítačoch vrátane Atari, Apple II, Nintendo Entertainment System, BBC Micro, Commodore VIC20 a 64. V tej dobe bol jedným z najlacnejších na trhu. Nikdy skutočne nezmizol a teraz ho používajú nadšenci a profesionáli na mnohé aplikácie.
Verzia, ktorú používam, je W65C02S6TPG-14 od spoločnosti Western Design Center a používa desaťkrát menej energie ako originál. Je špeciálny tým, že nemusí bežať na 1 MHz ako pôvodný čip. Môže bežať oveľa pomalšie alebo môže byť použitý na jeden krok v programe a dokonca sa zvyšuje až na 14 MHz. Údajový list k čipu vysvetľuje jeho možnosti. Ostatné čipy 6502 túto schopnosť nemajú a nebudú fungovať týmto spôsobom. Čipy sú v súčasnej dobe k dispozícii na Ebay a ďalších zdrojoch.
Zásoby
Všetky použité diely sú v súčasnej dobe k dispozícii na Ebay, AliExpress a ďalších.
Krok 1: Koncept
Inšpiroval som sa Benom Eaterom, ktorý na YouTube vytvoril sériu videí o modeli 6502 a mnohých ďalších aspektoch stavby počítačov a obvodov. Program pôvodne napísal on a ja som upravil tento a niektoré z jeho návrhov tak, aby prišli s týmto pokynom. Ďalším človekom, ktorý ma inšpiroval, bol Andrew Jacobs, ktorý má sekciu na GitHub, kde na ovládanie svojho 6502 používa mikroskop PIC.
Rovnako ako Ben, aj ja používam Arduino MEGA na monitorovanie 6502. Tiež používam MEGA na poskytovanie hodinového signálu na rozdiel od Ben. V súčasnosti nepoužívam žiadne pamäte EEPROM ani RAM.
Krok 2: Požiadavky
Ak chcete zostaviť tento „počítač“, zoznam položiek je nasledujúci:
1 x Arduino MEGA
1 x Western Design Center W65C02S6TPG-14
1 x 74HC00N IC (Quad 2-input NAND gate) alebo podobný
1 x 74HC373N IC (priehľadná západka typu Octal D) alebo podobné
2 x 830 otvorov na chlebové dosky (1 na štipku)
Rôzne vodiče a prepojovacie vodiče Dupont - mužské a mužské
2 x LED (použil som 5 mm modrú, pretože sa môžete dostať preč bez rezistorov)
1 x 12 mm momentálny hmatový tlačidlový spínač SPST namontovaný na PCB alebo podobný
1 x 1K odpor
2 x 0,1 uF keramické kondenzátory
1 x 8 -cestná vodná svetelná značka 5 mm červená LED (ako vyššie) alebo 8 LED a rezistorov
POZNÁMKA: Ak dostanete nespájkovanú súpravu, môžete diódy LED vložiť nesprávne, aby boli bežnou katódou. Pripevňujem mušľový kábel (namiesto kolíka), aby sa mohol ľahko pripojiť inde. VCC sa teraz stáva Ground. LED diódy môžete samozrejme otočiť (na zmontovanom predmete) a znova ich spájkovať, ale je to veľa problémov! Sady sú v súčasnej dobe k dispozícii na AliExpress.
Krok 3: Spojte to dohromady
Zistilo sa mi jednoduchšie používať nové káble DuPont, ktoré neboli oddelené od pásky, pre zbernice adries a údajov.
Pripojte kolík 9 (A0) 6502 k kolíku 52 MEGA, pin 10 (A1) z 6502 na pin 50 atď …
až
Pripojte kolík 25 (A15) 6502 k kolíku 22 MEGA.
Zatiaľ 16 spojení.
Rovnako
Pripojte kolík 26 (D7) 6502 k kolíku 39 MEGA, pin 27 (D6) z 6502 na pin 41 atď …
až
Pripojte pin 33 (D0) 6502 na pin 53 MEGA.
8 ďalších spojení.
Pripojte pin 8 (VDD) k 5v na MEGA.
Tu môže byť užitočný kondenzátor 0,1 uF pripojený od pinu 8 k Gnd dosky na chlieb, ale nie je potrebný.
Pripojte pin 21 (VSS) k Gnd na MEGA.
Kolíky 2, 4, 6, 36 a 38 je možné uviazať na 5v
Pripojte pin 37 (hodiny) k pinom 2 a 7 k MEGA.
Pripojte kolík 34 (RWB) k pinu 3 MEGA.
Pripojte kolík 40 (Reset) podľa schémy vyššie.
Krok 4: Testovanie obvodu
V tejto fáze bude 6502 fungovať a bude možné použiť program1. Ak používate 8 -way markýzu (ako vyššie), môže byť vložená priamo do dosky a prepojovací vodič pripojený k zemi, alebo môžete použiť 8 LED a odpory. LED diódy ukážu, čo je na dátovej zbernici.
V tejto fáze by bolo tiež vhodné nastaviť meškanie v cykle () na 500 alebo viac, aby bolo možné sledovať, čo sa deje.
Na sériovom monitore by ste mali dostať podobný výstup, ako je uvedený vyššie. Keď stlačíte Reset, procesor prejde 7 cyklov a potom vyhľadá spustenie programu na miestach $ FFFC a $ FFFD. Pretože neexistujú žiadne fyzické adresy na čítanie 6502, musíme ich zadať z MEGA.
Vo vyššie uvedenom výstupe 6502 číta $ FFFC a $ FFFD a dostane $ 00 a $ 10 (nízky bajt, vysoký bajt), čo je začiatok programu na 1 000 $. Procesor potom začne vykonávať program na mieste 1 000 dolárov (ako je uvedené vyššie). V tomto prípade to číta A9 dolárov a 55 dolárov, t. J. LDA#55 dolárov (vložte 85 do akumulátora). Pretože opäť neexistuje žiadne umiestnenie fyzickej pamäte, MEGA simuluje to, čo sa číta z dátovej zbernice.
55 dolárov (85) dáva binárny vzorec 01010101 a pri otočení o 1 bit doľava dáva AA (170) 10101010 dolárov.
Program ukazuje, že procesor pracuje správne, ale čoskoro sa stane nudným, takže pokračujte ďalšou časťou.
Krok 5: Ďalší krok
„Hromada špagiet“vyššie je pravdepodobne niečo podobné tomu, čo budete mať po tejto fáze.
Ďalej musíte na integrovanú dosku pridať integrované obvody 74HC373N a 74HC00N.
Piny 373 bohužiaľ nie sú v súlade s dátovou zbernicou, takže budú musieť byť zapojené káblami.
Pripojte 5v na pin 20.
Pripojte uzemnenie na pin 10.
Pripojte kolík 33 (D0) modelu 6502 k kolíku 3 (D0) zariadenia 74HC373N
a podobne s kolíkmi D1 až D7.
Výstupy sú Q0 až Q7 a tieto budú potrebovať pripojenie k LED dióde alebo k jednotlivým LED a odporom.
S 74HC00 sú potrebné iba 2 jeho brány
Pripojte 5v na pin 14.
Pripojte uzemnenie na pin 7.
Pripojte kolík 17 (A8) modelu 6502 k kolíku 1 (1A) zariadenia 74HC00
Pripojte kolík 25 (A15) modelu 6502 k kolíku 2 (1B) zariadenia 74HC00
Pripojte kolík 34 (R/W) 6502 k pinu 5 (2B) 74HC00
Pripojte pin 3 (1Y) na 74HC00 k pinu 4 (2A) na 74HC00
Pripojte pin 6 (2Y) na 74HC00 k pinu 11 (LE) na 74HC373N
Pripojte kolík 11 (LE) na 74HC373N k pinu 1 (OE) na 74HC373N
Modrú LED diódu môžete pripojiť k 1R a uzemneniu, ako aj 2R k zemi, čo bude znamenať, že brána je aktívna.
Nakoniec zmeňte riadok v procedúre onClock z programu1 na program2
setDataPins (program2 [offset]);
Krok 6: Program
Program 6502-Monitor obsahuje dve rutiny 6502 popísané vyššie.
Program je stále vo vývoji a je trochu neupravený.
Pri spustení programu2 môže byť oneskorenie v slučke () 50 alebo menej a dokonca ho možno úplne odstrániť. Komentovaním riadkov Serial.print () tiež 6502 beží rýchlejšie. Odpojením kolíka 1 (OE) 373 od kolíka 11 (LE) získate rôzne výsledky. Odpojenie pinov 1 a 11 z 373 od brán NAND vám umožní vidieť, čo je na dátovej zbernici v každom hodinovom cykle.
Možno budete musieť priviazať OE k zemi, a nie nechať ho plávať, pretože 8 výstupných liniek bude deaktivovaných, ak tento kolík pôjde vysoko. Keď je kolík LE vysoký, výstupné kolíky sú rovnaké ako vstupy. Znížením kolíka LE na západky sa výstupy zaistia, tj. Ak sa zmenia vstupné kolíky, výstupy zostanú rovnaké.
Snažil som sa udržať program čo najjednoduchší, aby bol zrozumiteľnejší.
Experimentovanie s časovými oneskoreniami vám umožňuje presne sledovať, čo 6502 robí.
Nasledujú dva programy (oba bežia na adrese 1 000 dolárov) v 6502 Assembler:
program 1
LDA#55 dolárov
NOP
ROL
STA 1010 dolárov
1 000 dolárov
ROL otáča obsah akumulátora o jeden bit vľavo, čo znamená, že z 55 dolárov sa teraz stáva AA.
V strojovom kóde (hex): A9 55 EA 2A 8D 10 10 4C 00 10
program 2
LDA#01 dolárov
STA 8100 dolárov
ADC#03 USD
STA 8100 dolárov
ŽMP 1005 dolárov
V strojovom kóde (hex): A9 01 8D 00 81 69 03 8D 00 81 4C 05 10
V programe2 je teraz fyzická adresa 8100 dolárov, čo je miesto, kde sa 74HC373 nachádza na adresovej zbernici.
t.j. A15 z 6502 je 32768 (8 000 dolárov) a A8 je 256 (0100 dolárov) = 33024 (8100 dolárov).
Keď teda 6502 zapíše do 8 100 dolárov (STA 8 100 dolárov), R/W 6502 je nízka a údaje na dátovej zbernici 6502 sa uzamknú, keď 373 LE klesne. Vzhľadom na bránu NAND 74HC00 sú signály obrátené.
Na vyššie uvedenej sieťotlači sa druhý zápis zvýšil o 3 (ADC#$ 03) - zo 7 $ na 82 $.
V skutočnosti by boli pre konkrétne umiestnenie 373 použité viac ako 2 riadky adresovej zbernice. Pretože toto je jediná fyzická adresa z možných 65536, ukazuje to, ako funguje adresová zbernica. Môžete experimentovať s rôznymi adresnými kolíkmi a umiestniť ich na iné miesto. Samozrejme, budete musieť zmeniť operandy STA na nové miesto. napr. Ak by ste použili riadky adresy A15 a A9, adresa by bola 8200 dolárov (32768 + 512).
Krok 7: Záver
Pokúsil som sa predviesť, aké ľahké je uvedenie 6502 do prevádzky.
Nie som odborník v tejto oblasti, takže uvítam akékoľvek konštruktívne pripomienky alebo informácie.
Môžete to ďalej rozvíjať a zaujímalo by ma, čo ste urobili.
Mám v úmysle pridať do projektu EEPROM, SRAM a 6522 a v budúcnosti ho umiestniť na pásovú dosku.
Odporúča:
6502 Minimálny počítač (s Arduino MEGA), časť 3: 7 krokov
Minimálny počítač 6502 (s Arduino MEGA) Časť 3: Pokračujeme ďalej a teraz som na hlavnú dosku pridal oktálovú západku, 8 obdĺžnikových diód LED a pole rezistorov 220 ohmov. K dispozícii je tiež prepojka medzi spoločným kolíkom poľa a uzemnením, aby bolo možné LED diódy vypnúť. Brána NAND 74HC00 h
Minimálny počítač 6502 a 6522 (s Arduino MEGA), časť 2: 4 kroky
Minimálny počítač 6502 a 6522 (s Arduino MEGA) Časť 2: V nadväznosti na môj predchádzajúci Instructable som teraz 6502 umiestnil na pásovú dosku a pridal univerzálny adaptér rozhrania 6522 (VIA). Opäť používam WDC verziu 6522, pretože sa perfektne hodí k ich 6502. Nielenže tieto nové c
Minimálny rozsah: 11 krokov
Mini-Serre: Ako študent mám zlozvyk zabúdať na veci. Z tohto dôvodu, ak chcem pestovať určitý druh rastlín, zvyčajne na to zabudnem a zomrie, pretože sa o to nemá kto starať. Pokúsim sa tento problém vyriešiť pomocou Mini-Serre. Mini-
Minimálny box zvukových efektov Arduino: 5 krokov
Minimálny box zvukových efektov Arduino: Toto je rýchly projekt boxu so zvukovými efektmi. Zariadenie číta vopred zaznamenaný súbor wav z karty microSD priradenej ku konkrétnemu tlačidlu a po stlačení ho prehrá
Počítač pre systémy RE (časť 1 z 2) (hardvér): 5 krokov
Počítač pre systémy RE (časť 1 z 2) (Hardvér): Tu vám ukážem, ako som vyrobil plne funkčný mini stolný počítač pre malé systémy obnoviteľnej energie. Systém RE, ktorý plánujem používať, bude predovšetkým 12 voltový systém so 6 alebo 8 batériami Golf Cart a budem mať 700 Wattový invertor