Բովանդակություն:
- Պարագաներ
- Քայլ 1: Հայեցակարգ
- Քայլ 2: Պահանջներ
- Քայլ 3: Միավորել այն
- Քայլ 4: Շղթայի փորձարկում
- Քայլ 5: Հաջորդ քայլը
- Քայլ 6: րագիրը
- Քայլ 7: Եզրակացություն
Video: 6502 Նվազագույն համակարգիչ (Arduino MEGA- ով) Մաս 1: 7 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
6502 միկրոպրոցեսորը առաջին անգամ հայտնվեց 1975 -ին և նախագծվեց փոքր թիմի կողմից ՝ Chuck Peddle- ի գլխավորությամբ, MOS տեխնոլոգիայի համար: Այն ժամանակ այն օգտագործվում էր տեսախցիկների և տնային համակարգիչների մեջ, ներառյալ Atari, Apple II, Nintendo Entertainment System, BBC Micro, Commodore VIC20 և 64. Այդ ժամանակ այն շուկայում ամենաէժաններից մեկն էր: Այն իսկապես երբեք չի անհետացել, և այժմ այն օգտագործվում է հոբբիիստների և մասնագետների կողմից բազմաթիվ ծրագրերի համար:
Իմ օգտագործած տարբերակը W65C02S6TPG-14- ն է, որը պատրաստված է Western Design Center- ի կողմից և օգտագործում է տասն անգամ ավելի քիչ էներգիա, քան օրիգինալը: Այն առանձնահատուկ է նրանով, որ այն չպետք է աշխատի 1 ՄՀց հաճախականությամբ, ինչպես սկզբնական չիպը: Այն կարող է շատ ավելի դանդաղ աշխատել կամ օգտագործվել ծրագրի մեկ քայլով և նույնիսկ մինչև 14 ՄՀց արագությամբ: Չիպի տվյալների թերթիկը բացատրում է դրա հնարավորությունները: Մնացած 6502 չիպերը չունեն այս հնարավորությունը և չեն աշխատի այս կերպ: Այս պահին չիպերը հասանելի են Ebay- ում, ինչպես նաև այլ աղբյուրներում:
Պարագաներ
Օգտագործված բոլոր մասերը ներկայումս հասանելի են Ebay- ում, AliExpress- ում և այլն:
Քայլ 1: Հայեցակարգ
Իմ ոգեշնչումը ստացա Բեն Էթերից, ով մի շարք տեսանյութեր է պատրաստել YouTube- ում 6502 -ի և համակարգիչներ և սխեմաներ կառուցելու բազմաթիվ այլ ասպեկտների մասին: Theրագիրը սկզբնապես գրել է նա, և ես փոփոխել եմ այս և նրա որոշ նախագծեր ՝ այս Ուսուցողականին հասնելու համար: Մեկ այլ անձ, ով ինձ ոգեշնչեց, Էնդրյու Jacեյքոբսն էր, ով ունի մի բաժին GitHub- ում, որտեղ նա օգտագործում է PIC միկրո ՝ իր 6502 -ը կառավարելու համար:
Ինչպես Բենը, այնպես էլ ես օգտագործում եմ Arduino MEGA- ն ՝ 6502 -ը վերահսկելու համար: Ես նաև օգտագործում եմ MEGA- ն ՝ ժամացույցի ազդանշան ապահովելու համար, ի տարբերություն Բենի: Ներկայումս ես նույնպես չեմ օգտագործում որևէ EEPROM կամ RAM:
Քայլ 2: Պահանջներ
Այս «համակարգիչ» ստեղծելու համար ապրանքների ցանկը հետևյալն է.
1 x Arduino MEGA
1 x Western Design Center W65C02S6TPG-14
1 x 74HC00N IC (Quad 2-input NAND gate) կամ նմանատիպ
1 x 74HC373N IC (Octal D- տիպի թափանցիկ սողնակ) կամ նմանատիպ
2 x 830 փոս հացի տախտակ (1 պտղունց)
Տարբեր Dupont արական - արական կապեր և կապի լարեր
2 x LED (ես օգտագործել եմ 5 մմ կապույտ, քանի որ կարող եք հեռանալ առանց դիմադրության)
1 x 12 մմ Momentary Tactile Push Button Switch PCB Mounted SPST կամ նմանատիպ
1 x 1K դիմադրություն
2 x 0.1 uF կերամիկական կոնդենսատորներ
1 x 8 Way Water Light Marquee 5 մմ կարմիր LED (ինչպես վերևում) կամ 8 LED և դիմադրիչներ
ՈEՇԱԴՐՈԹՅՈՆ. Եթե ձեռք եք բերում չպահված հանդերձանքը, կարող եք LED- ները սխալ կերպով տեղադրել այնպես, որ դրանք սովորական կաթոդ լինեն: Ես ամրացնում եմ ճանճի կապարը (քորոցի փոխարեն), որպեսզի այն հեշտությամբ միանա այլուր: VCC- ն այժմ դառնում է Ground: Դուք, իհարկե, կարող եք շրջել LED- ները (հավաքված իրի վրա) և նորից զոդել դրանք, բայց սա շատ սխալ է: Կոմպլեկտները ներկայումս հասանելի են AliExpress- ում:
Քայլ 3: Միավորել այն
Ես ավելի հեշտ գտա օգտագործել DuPont- ի նոր լարերը, որոնք իրենց ժապավենից անջատված չէին հասցեի և տվյալների ավտոբուսների համար:
6502 -ի 9 -րդ (A0) կապը միացրեք MEGA- ի 52 -րդ կապին, 6502 -ի 10 -րդ (A1) 50 -ի կապում և այլն…
մինչեւ
6502 -ի 25 -րդ (A15) կապը միացրեք MEGA- ի 22 -րդ կապին:
Մինչ այժմ 16 կապ:
Նմանապես
Միացրեք 6502 -ի 26 -րդ (D7) կապը MEGA- ի 39 -րդ կապին, 6502 -ի 27 -րդ (D6) 41 -րդ կապում և այլն…
մինչեւ
6502 -ի 33 -րդ (D0) կապը միացրեք MEGA- ի 53 -րդ կապին:
Եվս 8 կապ:
Միացրեք կապը 8 (VDD) 5 վ -ին MEGA- ով:
Հացի տախտակի 8 -ից Gnd- ին միացված 0.1uF կոնդենսատորը կարող է այստեղ օգտակար լինել, բայց ոչ անհրաժեշտ:
Միացրեք կապը 21 (VSS) Gnd- ին MEGA- ում:
2, 4, 6, 36 և 38 կապում կարելի է կապել 5 վ -ի հետ
Միացրեք 37 կապը (ockամացույց) MEGA- ի 2 -րդ և 7 -րդ կապում:
Միացրեք 34 -րդ կապը (RWB) MEGA- ի 3 -րդ կապին:
Միացրեք քորոց 40 -ը (Վերագործարկեք) ինչպես վերևի դիագրամում:
Քայլ 4: Շղթայի փորձարկում
Այս փուլում 6502 -ը կաշխատի, և ծրագիրը 1 -ը կարող է օգտագործվել: Եթե դուք օգտագործում եք 8 ճանապարհի խարիսխ (ինչպես վերևում), այն կարող է ուղղակիորեն տեղադրվել տախտակի մեջ, իսկ ճանճը միացված է գետնին, կամ կարող եք օգտագործել 8 LED և դիմադրիչներ: LEDS- ը ցույց կտա, թե ինչ կա տվյալների ավտոբուսում:
Այս փուլում նույնպես լավ կլինի, որ Loop- ի () ձգձգումները սահմանվեն 500 կամ ավելի, հետևել այն, ինչ տեղի է ունենում:
Սերիական մոնիտորի վրա դուք պետք է ստանաք նման ելք, ինչպես վերը նշվածը: Երբ Reset- ը սեղմվում է, պրոցեսորը անցնում է 7 ցիկլ, այնուհետև ծրագրի սկիզբը փնտրում է $ FFFC և $ FFFD վայրերում: Քանի որ 6502 -ի համար կարդալու ֆիզիկական հասցեներ չկան, մենք պետք է դրանք տրամադրենք MEGA- ից:
Վերոնշյալ թողարկումում 6502 -ը կարդում է $ FFFC և $ FFFD և ստանում $ 00 և $ 10 (ցածր բայթ, բարձր բայթ), որը ծրագրի սկիզբն է $ 1000: Այնուհետև պրոցեսորը սկսում է ծրագրի իրականացումը $ 1000 վայրում (ինչպես վերևում): Այս դեպքում այն կարդում է $ A9 և $ 55, այսինքն ՝ LDA#55 $ (բեռը 85 կուտակիչում): Կրկին, քանի որ բացակայում է ֆիզիկական հիշողության վայրը, MEGA- ն մոդելավորում է տվյալների ավտոբուսից կարդացածը:
55 դոլար (85) տալիս է 01010101 երկուական օրինաչափությունը, իսկ 1 ձախ ձախ պտտելիս տալիս է AA (170) 10101010 դոլար:
Րագիրը ցույց է տալիս, որ պրոցեսորը ճիշտ է աշխատում, բայց շուտով մի փոքր ձանձրացնում է, այնպես որ հաջորդ հատվածին:
Քայլ 5: Հաջորդ քայլը
Վերևում գտնվող «սպագետտի կույտը» հավանաբար նման մի բան է, ինչ դուք կունենաք այս փուլից հետո:
Հաջորդը, դուք պետք է ավելացնեք 74HC373N և 74HC00N IC- ները սեղանի վրա:
Unfortunatelyավոք, 373 -ի կապակցումները չեն համընկնում տվյալների ավտոբուսի հետ, ուստի պետք է կապվել լարերով:
5v- ը միացրեք 20 կապին:
Միացրեք Ground- ը 10 -րդ կապին:
6502 -ի 33 -րդ (D0) կապը միացրեք 74HC373N- ի 3 -րդ (D0) -ին
և D1- ից D7 կապում:
Q0- ից Q7- ը ելքեր են, և դրանք կպահանջվեն միանալ LED լուսարձակին կամ առանձին LED- ներին և դիմադրողներին:
74HC00- ի հետ անհրաժեշտ է միայն նրա դարպասներից 2 -ը
5v- ը միացրեք 14 -ի կապակցիչին:
Միացրեք Ground- ը 7 -րդ կապին:
6502 -ի 17 (A8) կապը միացրեք 74HC00- ի 1 (1A) կապին
6502 -ի 25 (A15) կապը միացրեք 74HC00- ի 2 (1B) կապակցին
6502- ի 34 (R/W) կապը միացրեք 74HC00- ի 74HC00- ի 5 (2B) կապին
74HC00- ի 3 -րդ (1Y) կապը միացրեք 74HC00- ի 4 (2A) -ին
74HC00- ի 6 -րդ (2Y) կապը միացրեք 74HC373N- ի 11 -ի (LE)
Միացրեք 74HC373N- ի 11 -րդ կապը (LE) 74HC373N- ի 1 -ին (OE) -ին
Դուք կարող եք կապույտ LED- ն միացնել 1Y- ին և գետնին, ինչպես նաև 2Y- ին գետնին, դա ցույց կտա, թե երբ է դարպասը ակտիվ:
Վերջապես onClock ընթացակարգում փոխեք գիծը program1- ից program2
setDataPins (ծրագիր 2 [օֆսեթ]);
Քայլ 6: րագիրը
6502-Monitor ծրագիրը պարունակում է վերը նկարագրված երկու 6502 ռեժիմ:
Stillրագիրը դեռ մշակման փուլում է և մի փոքր անսարք է:
Program2- ը գործարկելիս () օղակի () ուշացումները կարող են լինել 50 կամ ավելի փոքր և նույնիսկ ընդհանրապես հեռացվել: Serial.print () տողերը մեկնաբանելը նաև 6502 -ին ավելի արագ է դարձնում: 373 -ի 1 (OE) կապը (11) (LE) կապից անջատելը տարբեր արդյունքներ է տալիս: NAND դարպասներից 373 -ի 1 -ին և 11 -րդ կապը անջատելը հնարավորություն է տալիս տեսնել, թե ինչ կա տվյալների երթուղու վրա ամեն ժամացույցի ցիկլում:
Հնարավոր է, անհրաժեշտ լինի OE- ն կապել գետնին, այլ ոչ թե թողնել այն լողացող, քանի որ 8 ելքային գծերն անջատված են, եթե այս կապիչը բարձր է: Երբ LE քորոցը բարձր է, ելքային կապերը նույնն են, ինչ մուտքերը: LE քորոցը ցածր ամրացնելով ելքերը, այսինքն ՝ եթե մուտքային կապերը փոխվեն, ելքերը մնում են նույնը:
Ես փորձել եմ հնարավորինս պարզ պահել ծրագիրը, որպեսզի այն ավելի հեշտ լինի հասկանալ:
Imentամկետների հետաձգման փորձերը հնարավորություն են տալիս հետևել այն, ինչ անում է 6502 -ը:
Ստորև բերված են երկու ծրագրեր (երկուսն էլ աշխատում են $ 1000 հասցեով) 6502 Assembler- ում.
ծրագիր 1
LDA#55 դոլար
ՈՉ
ROL
STA 1010 դոլար
JMP 1000 դոլար
ROL- ը պտտեցնում է կուտակիչի պարունակությունը մեկ բիթ, ինչը նշանակում է, որ այժմ $ 55 -ը դառնում է $ AA:
Մեքենայի կոդով (վեցանկյուն) ՝ A9 55 EA 2A 8D 10 10 4C 00 10
ծրագիր 2
LDA#$ 01
STA 8100 դոլար
ADC#03 դոլար
STA 8100 դոլար
JMP 1005 դոլար
Մեքենայի կոդով (վեցանկյուն) `A9 01 8D 00 81 69 03 8D 00 81 4C 05 10
Program2- ում այժմ կա 8100 $ ֆիզիկական հասցե, որտեղ 74HC373- ը գտնվում է հասցեի ավտոբուսում:
այսինքն ՝ 6502 -ի A15- ը 32768 է (8000 դոլար), իսկ A8- ը ՝ 256 (0100 դոլար) = 33024 (8100 դոլար):
Այսպիսով, երբ 6502 -ը գրում է 8100 $ (STA 8100 դոլար), 6502 -ի R/W- ն ցածր է, և 6502 տվյալների ավտոբուսի տվյալները փակվում են, երբ 373 LE- ն ցածր է դառնում: 74HC00 NAND դարպասի պատճառով ազդանշանները հակադարձվում են:
Վերոնշյալ էկրանի տպագրության վրա երկրորդ գրառումն ավելացել է 3 -ով (ADC#$ 03) - $ 7F- ից հասել է $ 82 -ի:
Իրականում, 373 -ի հատուկ գտնվելու վայրի համար օգտագործվելու է հասցեի ավտոբուսի ավելի քան 2 տող: Քանի որ սա հնարավոր 65536 -ից միակ ֆիզիկական հասցեն է, այն ցույց է տալիս, թե ինչպես է աշխատում հասցեի ավտոբուսը: Դուք կարող եք փորձարկել տարբեր հասցեների կապում և տեղադրել այն այլ վայրում: Իհարկե, ձեզ հարկավոր կլինի STA օպերանդները փոխել նոր վայրում: օրինակ Եթե օգտագործեիք հասցեների A15 և A9 տողերը, հասցեն կլիներ $ 8200 (32768 + 512):
Քայլ 7: Եզրակացություն
Ես փորձել եմ ցույց տալ, թե որքան հեշտ է 6502 -ը գործարկել:
Ես այս ոլորտի փորձագետ չեմ, ուստի կողջունեմ ցանկացած կառուցողական մեկնաբանություն կամ տեղեկատվություն:
Դուք ողջունում եք, որ դա հետագայում զարգացնեք, և ինձ կհետաքրքրի, թե ինչ եք արել:
Ես մտադիր եմ նախագծին ավելացնել EEPROM, SRAM և 6522, ինչպես նաև հետագայում դրանք դնել շերտերի վրա:
Խորհուրդ ենք տալիս:
6502 Նվազագույն համակարգիչ (Arduino MEGA- ով) Մաս 3: 7 քայլ
6502 Նվազագույն համակարգիչ (Arduino MEGA- ի հետ) Մաս 3. Շարունակելով առաջընթացը, ես այժմ հիմնական տախտակին ավելացրել եմ Octal Latch, 8 ուղղանկյուն LED և 220 Օմ դիմադրության զանգված: Alsoանգվածի ընդհանուր քորոցի և գետնի միջև կա նաև jumper, այնպես որ LED- ները կարող են անջատվել: 74HC00 NAND դարպասը ժամ
6502 & 6522 Նվազագույն համակարգիչ (Arduino MEGA- ով) Մաս 2: 4 քայլ
6502 և 6522 նվազագույն համակարգիչ (Arduino MEGA- ի հետ) Մաս 2. Իմ նախկին Instructable- ից հետո, այժմ ես 6502 -ը դրել եմ ժապավենի տախտակի վրա և ավելացրել 6522 բազմակողմանի ինտերֆեյսի ադապտեր (VIA): Կրկին, ես օգտագործում եմ 6522 -ի WDC տարբերակը, քանի որ այն կատարյալ համընկնում է նրանց 6502 -ի հետ: Ոչ միայն այս նոր գ
Նվազագույն Arduino ձայնային էֆեկտի տուփ ՝ 5 քայլ
Minimal Arduino Sound Effect Box. Սա ձայնային էֆեկտի տուփի արագ նախագիծ է: Սարքը կարդում է նախապես գրանցված wav ֆայլը microSD- ից, որը տրված է հատուկ կոճակին և նվագում է այն սեղմելիս:
Համակարգիչ RE Systems- ի համար (2 -րդ մաս 1) (Սարքավորումներ) ՝ 5 քայլ
Համակարգիչ RE Systems- ի համար (2 -րդ մաս 1) (Սարքաշար). Այստեղ ես ձեզ ցույց կտամ, թե ինչպես եմ պատրաստել վերականգնվող էներգիայի փոքր համակարգերի համար լիովին աշխատող Mini Desktop համակարգիչ: RE համակարգը, որը ես նախատեսում եմ օգտագործել, լինելու է հիմնականում 12 վոլտ համակարգ: 6 կամ 8 Golf Cart մարտկոցներով, և ես կունենամ 700 վտ հզորություն inver
Համակարգիչ RE Systems- ի համար (2 -րդ մաս 2 -ից) (Softwareրագրային ապահովում) `6 քայլ
Համակարգիչ RE Systems- ի համար (2-րդ մաս 2) (Softwareրագրային ապահովում). Այս հրահանգի առաջին մասում տեղադրված է այստեղ ՝ https://www.instructables.com/id/Computer-for-RE-Systems-Part-1-of-2 -Hardware/, ես ավելացրել եմ այն բոլոր սարքավորումները, որոնք ցանկանում էի ստանալ լավ աշխատասեղան համակարգ: Այժմ ծրագրաշարի համար, բայց ծրագրակազմից առաջ