Orodha ya maudhui:
- Vifaa
- Hatua ya 1: Dhana
- Hatua ya 2: Mahitaji
- Hatua ya 3: Kuiweka Pamoja
- Hatua ya 4: Kupima Mzunguko
- Hatua ya 5: Hatua inayofuata
- Hatua ya 6: Mpango
- Hatua ya 7: Hitimisho
Video: Kompyuta ndogo ya 6502 (na Arduino MEGA) Sehemu ya 1: Hatua 7
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:50
Microprocessor 6502 ilitokea kwanza mnamo 1975 na iliundwa na timu ndogo iliyoongozwa na Chuck Peddle kwa Teknolojia ya MOS. Zamani hizo zilitumika katika koni za video na kompyuta za nyumbani pamoja na Atari, Apple II, Mfumo wa Burudani wa Nintendo, BBC Micro, Commodore VIC20 na 64. Wakati huo ilikuwa moja ya bei rahisi kwenye soko. Haijaenda kabisa na sasa inatumiwa na wataalamu wa kupendeza na wataalamu kwa matumizi mengi.
Toleo ninalo tumia ni W65C02S6TPG-14 ambayo imetengenezwa na Western Design Center na hutumia nguvu mara kumi chini ya ile ya asili. Ni maalum kwa kuwa haifai kukimbia kwa 1 MHz kama chip asili. Inaweza kukimbia polepole sana au kutumiwa kuchukua hatua moja kupitia programu na hata kupandisha hadi 14 MHz. Karatasi ya Takwimu ya chip inaelezea uwezo wake. Chips zingine 6502 hazina uwezo huu na hazitaendesha hivi. Chips zinapatikana kwa sasa kwenye Ebay na vyanzo vingine.
Vifaa
Sehemu zote zinazotumika zinapatikana kwa sasa kwenye Ebay, AliExpress na zingine.
Hatua ya 1: Dhana
Nilipata msukumo kutoka kwa Ben Eater ambaye ametengeneza video kadhaa kwenye YouTube kuhusu 6502 na mambo mengine mengi ya kujenga kompyuta na nyaya. Programu hiyo iliandikwa na yeye hapo awali na nimebadilisha hii na miundo yake mingine ili kupata hii inayoweza kufundishwa. Mtu mwingine aliyenihamasisha alikuwa Andrew Jacobs ambaye ana sehemu kwenye GitHub ambapo anatumia kifaa cha PIC kudhibiti 6502 yake.
Kama Ben, ninatumia Arduino MEGA kufuatilia 6502. Ninatumia pia MEGA kutoa ishara ya saa tofauti na Ben. Kwa sasa situmii EEPROMs yoyote au RAM pia.
Hatua ya 2: Mahitaji
Kuunda "kompyuta" hii orodha ya vitu ni kama ifuatavyo:
1 x Arduino MEGA
1 x Kituo cha Ubunifu cha Magharibi W65C02S6TPG-14
1 x 74HC00N IC (Quad 2-pembejeo NAND lango) au sawa
1 x 74HC373N IC (Octal D-aina ya latch ya uwazi) au sawa
2 x 830 bodi za mkate (1 kwa pinch)
Dupont anuwai ya kiume - ya kiume inaongoza na waya za unganisho
2 x LEDs (nilitumia bluu 5mm kama unaweza kuondoka bila vipinga)
1 x 12mm Kitufe cha kugusa Kitufe cha Kubadilisha PCB Iliyowekwa SPST au sawa
1 x 1K kupinga
2 x 0.1 capacitors kauri
1 x 8 Njia ya Nuru ya Maji Marquee 5mm nyekundu ya LED (kama hapo juu) au LED na vizuizi 8
KUMBUKA: Ikiwa unapata kit ambacho hakijauzwa, unaweza kuingiza taa hizo kwa njia isiyofaa ili ziwe kawaida. Ninaambatisha risasi ya nzi (badala ya pini) ili iweze kuungana kwa urahisi mahali pengine. VCC sasa inakuwa chini. Kwa kweli unaweza kugeuza taa za LED kuzunguka (kwenye kipengee kilichokusanyika) na kuziunganisha tena, lakini hii ni faff nyingi! Vifaa sasa vinapatikana kwenye AliExpress.
Hatua ya 3: Kuiweka Pamoja
Niliona ni rahisi kutumia waya mpya za DuPont ambazo hazijatenganishwa na Ribbon yao kwa anwani na mabasi ya data.
Unganisha pini 9 (A0) ya 6502 kubandika 52 ya MEGA, pini 10 (A1) ya 6502 kubandika 50 nk …
mpaka
Unganisha pini 25 (A15) ya 6502 kubandika 22 ya MEGA.
Viunganisho 16 hadi sasa.
Vivyo hivyo
Unganisha pini 26 (D7) ya 6502 kubandika 39 ya MEGA, pini 27 (D6) ya 6502 kubandika 41 nk…
mpaka
Unganisha pini 33 (D0) ya 6502 kubandika 53 ya MEGA.
Uunganisho 8 zaidi.
Unganisha pini 8 (VDD) kwa 5v kwenye MEGA.
Capacitor ya 0.1uF iliyounganishwa kutoka pini ya 8 hadi Gnd ya bodi ya mkate inaweza kuwa muhimu hapa lakini sio lazima.
Unganisha pin 21 (VSS) kwa Gnd kwenye MEGA.
Pini 2, 4, 6, 36 na 38 zinaweza kufungwa kwa 5v
Unganisha pini 37 (Saa) kubandika 2 na kubandika 7 ya MEGA.
Unganisha pini 34 (RWB) kubandika 3 ya MEGA.
Unganisha pini 40 (Weka upya) kama mchoro hapo juu.
Hatua ya 4: Kupima Mzunguko
Katika hatua hii 6502 itafanya kazi na programu1 inaweza kutumika. Ikiwa unatumia marquee ya njia 8 (kama ilivyo hapo juu), inaweza kuingizwa moja kwa moja kwenye ubao wa mkate na risasi ya kuruka iliyounganishwa ardhini, au unaweza kutumia LED na vipingamizi 8. LEDS itaonyesha kile kilicho kwenye basi ya data.
Katika hatua hii itakuwa sawa kuweka ucheleweshaji kwa Kitanzi () hadi 500 au zaidi, kufuata kinachotokea.
Unapaswa kupata pato sawa kwenye Serial Monitor kama ile hapo juu. Wakati Rudisha imebanwa, processor huenda kupitia mizunguko 7 na kisha inatafuta kuanza kwa programu katika maeneo $ FFFC na $ FFFD. Kwa kuwa hakuna anwani za kibinafsi za 6502 kusoma, lazima tuzipe kutoka kwa MEGA.
Katika pato hapo juu, 6502 inasoma $ FFFC na $ FFFD na hupata $ 00 na $ 10 (Low byte, High byte) ambayo ndio mwanzo wa programu kwa $ 1000. Prosesa kisha huanza kutekeleza programu katika eneo la $ 1000 (kama hapo juu). Katika kesi hii inasoma $ A9 na $ 55, i.e. LDA # $ 55 (Pakia 85 ndani ya mkusanyiko). Tena kwani hakuna kumbukumbu ya mwili, MEGA inaiga kile kinachosomwa kutoka kwa basi ya data.
$ 55 (85) inatoa muundo wa binary 01010101 na ikizungushwa 1 kidogo kushoto inatoa $ AA (170) 10101010.
Programu inaonyesha kuwa processor inafanya kazi kwa usahihi lakini hivi karibuni inachosha, na kwa sehemu inayofuata.
Hatua ya 5: Hatua inayofuata
"Rundo la tambi" hapo juu labda ni kitu kama kile utakachokuwa nacho baada ya hatua hii.
Ifuatayo unahitaji kuongeza 74HC373N na 74HC00N IC kwenye ubao wa mkate.
Kwa bahati mbaya pini 373 haziendani na basi ya data, kwa hivyo itahitaji kushikamana na waya.
Unganisha 5v kubandika 20.
Unganisha chini ili kubandika 10.
Unganisha pini 33 (D0) ya 6502 kubandika 3 (D0) ya 74HC373N
na vile vile na pini D1 hadi D7.
Q0 hadi Q7 ni matokeo na haya yatahitaji kuunganisha kwenye jumba la LED au LED za kibinafsi na vipinga.
Na 74HC00 ni milango 2 tu inahitajika
Unganisha 5v kubandika 14.
Unganisha chini ili kubandika 7.
Unganisha pini 17 (A8) ya 6502 kubandika 1 (1A) ya 74HC00
Unganisha pini 25 (A15) ya 6502 kubandika 2 (1B) ya 74HC00
Unganisha pini 34 (R / W) ya 6502 kubandika 5 (2B) ya 74HC00
Unganisha pini 3 (1Y) ya 74HC00 kubandika 4 (2A) ya 74HC00
Unganisha pini 6 (2Y) ya 74HC00 kubandika 11 (LE) ya 74HC373N
Unganisha pini 11 (LE) ya 74HC373N kubandika 1 (OE) ya 74HC373N
Unaweza kuunganisha LED ya bluu kwa 1Y na ardhi na vile vile 2Y chini, hii itaonyesha wakati lango linafanya kazi.
Mwishowe badilisha laini kwenye utaratibu wa onClock kutoka program1 hadi program2
setDataPins (program2 [offset]);
Hatua ya 6: Mpango
Programu ya 6502-Monitor ina njia mbili 6502 zilizoelezewa hapo juu.
Mpango huo bado unaendelea kutengenezwa na haujasafishwa kidogo.
Wakati wa kuendesha programu2, ucheleweshaji wa kitanzi () unaweza kuwa 50 au chini na hata kuondolewa kabisa. Kutoa maoni juu ya mistari ya Serial.print () pia hufanya 6502 iende haraka. Kukata pini 1 (OE) ya 373 kutoka kwa pin 11 (LE) hutoa matokeo tofauti. Kukata pini 1 na kubandika 11 ya 373 kutoka milango ya NAND hukuwezesha kuona kilicho kwenye basi ya data kila mzunguko wa saa.
Unaweza kuhitaji kufunga OE chini badala ya kuiacha ikielea kwani mistari 8 ya pato imelemazwa ikiwa pini hii inakwenda juu. Wakati pini ya LE iko juu, pini za pato ni sawa na pembejeo. Kuchukua pini ya chini ya LEO matokeo ikiwa pini za pembejeo zinabadilika, matokeo hayabaki sawa.
Nimejaribu kuweka programu rahisi iwezekanavyo ili kuifanya iwe rahisi kueleweka.
Kujaribu na ucheleweshaji wa wakati hukuwezesha kufuata haswa kile 6502 inafanya.
Hapo chini kuna programu mbili (zote zinaendeshwa kwa anwani $ 1000) mnamo 6502 Assembler:
mpango1
LDA # $ 55
NOP
ROL
STA $ 1010
JMP $ 1000
ROL huzunguka yaliyomo kwenye mkusanyiko kidogo kushoto ambayo inamaanisha kuwa $ 55 sasa inakuwa $ AA.
Katika nambari ya mashine (hex): A9 55 EA 2A 8D 10 10 4C 00 10
mpango2
LDA # $ 01
STA $ 8100
ADC # $ 03
STA $ 8100
JMP $ 1005
Katika nambari ya mashine (hex): A9 01 8D 00 81 69 03 8D 00 81 4C 05 10
Katika programu2 sasa kuna anwani ya kimaumbile $ 8100 ambayo ni mahali 74HC373 iko kwenye basi ya anwani.
i.e. A15 ya 6502 ni 32768 ($ 8000) na A8 ni 256 ($ 0100) = 33024 ($ 8100).
Kwa hivyo wakati 6502 inaandika kwa $ 8100 (STA $ 8100) R / W ya 6502 iko chini na data kwenye basi ya data ya 6502 imefungwa wakati 373 LE inapungua. Kwa sababu ya Lango la 74HC00 NAND, ishara zimebadilishwa.
Katika skrini ya juu chapa maandishi ya pili yameongezwa na 3 (ADC # $ 03) - imetoka $ 7F hadi $ 82.
Kwa kweli, zaidi ya mistari 2 ya basi ya anwani ingetumika kwa eneo maalum la 373. Kwa kuwa hii ndio anwani pekee ya mahali kati ya 65536 inayowezekana, inaonyesha jinsi basi ya anwani inafanya kazi. Unaweza kujaribu pini tofauti za anwani na kuiweka katika eneo tofauti. Kwa kweli, utahitaji kubadilisha operesheni za STA kwenda eneo jipya. mf. Ikiwa unatumia laini za anwani A15 na A9 anwani hiyo itakuwa $ 8200 (32768 + 512).
Hatua ya 7: Hitimisho
Nimejaribu kuonyesha jinsi ilivyo rahisi kupata 6502 na kukimbia.
Mimi sio mtaalam katika uwanja huu kwa hivyo ningepokea maoni au habari yoyote inayofaa.
Mnakaribishwa kuendeleza hii zaidi na nitavutiwa na kile mlichofanya.
Ninakusudia kuongeza EEPROM, SRAM na 6522 kwenye mradi huo na pia kuiweka kwenye bodi ya strip baadaye.
Ilipendekeza:
Kompyuta ndogo ya 6502 (na Arduino MEGA) Sehemu ya 3: Hatua 7
Kompyuta ndogo ndogo ya 6502 (na Arduino MEGA) Sehemu ya 3: Kuendelea mbele zaidi, sasa nimeongeza Latch ya Octal, LED za mstatili 8 na safu ya kupinga ya Ohm ya 220 kwa bodi kuu. Pia kuna jumper kati ya pini ya kawaida ya safu na ardhi, ili taa ziweze kuzimwa. Lango la 74HC00 NAND h
6502 & 6522 Kompyuta ndogo (na Arduino MEGA) Sehemu ya 2: 4 Hatua
6502 & 6522 Kompyuta ndogo (na Arduino MEGA) Sehemu ya 2: Kufuatia kutoka kwa Agizo langu la awali, sasa nimeweka 6502 kwenye ubao wa strip na nikaongeza Adapter ya Interface ya 6522 (VIA). Tena, ninatumia toleo la WDC la 6522, kwani ni mechi nzuri kwa 6502 yao. Sio tu kwamba hizi mpya
Elektroniki Ndogo Je! Unaweza Ndogo Jinsi Gani? 6 Hatua
Elektroniki Ndogo Je! Unaweza kwenda Ndogo kiasi gani: wakati fulani uliopita napata taa kidogo (kwenye PCB ya hudhurungi) kutoka kwa mmoja wa rafiki yangu ilikuwa taa ya ishara inayoweza kurejeshwa na mzunguko wa kuchaji uliojengwa, betri ya LiIon, swichi ya DIP kwa kubadilisha rangi kwenye RGB LED na pia kubadili mzunguko mzima wa nini lakini
Bodi ndogo ndogo (Mradi rahisi wa Arduino): Hatua 5
Bodi ndogo ndogo (Mradi rahisi wa Arduino): Bango ndogo: Jifunze Jinsi ya kuonyesha ujumbe wa kawaida kwenye LCD na Mradi huu wa Arduino
Kujenga Roboti Ndogo: Kufanya Roboti Moja za ujazo za Inchi ndogo-ndogo na ndogo: Hatua 5 (na Picha)
Kujenga Roboti Ndogo: Kufanya Roboti Moja za ujazo za Micro-Sumo na Ndogo: Hapa kuna maelezo juu ya ujenzi wa roboti ndogo na nyaya. Mafundisho haya pia yatashughulikia vidokezo na mbinu kadhaa za msingi ambazo ni muhimu katika kujenga roboti za saizi yoyote. Kwangu mimi, moja wapo ya changamoto kubwa katika umeme ni kuona jinsi ndogo ni