Բովանդակություն:

Ghetto ծրագրավորվող տրամաբանության (CPLD) զարգացման համակարգ. 13 քայլ
Ghetto ծրագրավորվող տրամաբանության (CPLD) զարգացման համակարգ. 13 քայլ

Video: Ghetto ծրագրավորվող տրամաբանության (CPLD) զարգացման համակարգ. 13 քայլ

Video: Ghetto ծրագրավորվող տրամաբանության (CPLD) զարգացման համակարգ. 13 քայլ
Video: The Light Gate Welcomes Aage Nost, August 28th, 2023 2024, Հուլիսի
Anonim
Ghetto ծրագրավորվող տրամաբանության (CPLD) զարգացման համակարգ
Ghetto ծրագրավորվող տրամաբանության (CPLD) զարգացման համակարգ

Վերջին մի քանի ամիսների ընթացքում ես վայելում եմ AVR պրոցեսորների Ghetto Development System- ը: Իրականում, գրեթե զրոյական դոլար արժողությամբ այս գործիքը այնքան գրավիչ և օգտակար էր, որ ինձ հետաքրքրեց, թե հնարավո՞ր է հասկացությունը տարածել նաև FPGA/CPLD զարգացման վրա: (FPGA. Field Programmable Gate Array. CPLD: Complex Programmable Logic Device): Այսպիսով, ես մի փոքր փորփրեցի համացանցը և գտա Atmel CPLD- ների զարգացման համակարգ: Altera սարքերի հետ համեմատությունը ցույց է տալիս, որ դրանց քորոցը նույնն է (այն սահմանափակումների մեջ, որոնք ես ներկայացնում եմ ստորև), այնպես որ նրանք նույնպես կաշխատեն: Կառուցելով զարգացման տախտակ և միջերեսային մալուխ, որը ես կներկայացնեմ, այնուհետև ներբեռնելով գործիքները, կարող եք մշակել ձեր սեփական CPLD ծրագրերը: Խնդրում ենք նկատի ունենալ հետևյալ սահմանափակումներն ու սահմանափակումները: Ես փորձել եմ հավասարակշռել հնարավորություններն ու պարզությունը, որպեսզի կարողանաք կառուցել մի բան, որից դուք կվայելեք և կսովորեք միայն 5V սարքերի վրա: Լրացուցիչ լարումները ծածկելու համակարգը երկարացնելը (3.3V, 2.5V, 1.8V- ն ապահովվում են նույն ընտանիքի Atmel սարքերով) դժվար չէ, բայց դա բարդացնում է ինչպես զարգացման տախտակը, այնպես էլ ծրագրավորման մալուխը: Առայժմ բաց թողնենք այն: Նկատի ունեցեք, որ տախտակին պետք է տրամադրեք 5 Վ լարման: Միայն PLCC 44 պին: Մասնավորապես, ես ծրագրավորել եմ Atmel ATF1504AS- ը: Ghetto CPLD հայեցակարգը կարող է հեշտությամբ տարածվել Atmel- ի այլ սարքերի վրա, սակայն այս սարքը կարծես լավ փոխզիջում էր գնի, օգտագործման հարմարավետության և հնարավորությունների միջև: Հայեցակարգը պետք է տարածվի նաև այլ սարքերի վրա, ինչպիսիք են Altera- ից, Xilinx- ից, Actel- ից և այլն: Իրականում, Max7000 ընտանիքը EPM7032 և EPM7064 կաշխատի նույն վարդակից, քանի դեռ դուք օգտագործում եք PLCC- ի 44 պինյան տարբերակները: Մինչ այժմ ես օգտագործել եմ միայն Atmel ծրագրավորման մալուխը, բայց Altera Byte-Blaster- ն ապահովված է Atmel ծրագրակազմով և նույնպես պետք է լավ աշխատի: Դա իրականում մի փոքր ավելի պարզ դիզայն է, քան Atmel մալուխը: (Ես կառուցեցի Atmel տարբերակը և այն աշխատում է, այնպես որ ես չեմ փորձել Altera տարբերակը:) SparkFun- ն առաջարկում է Altera մալուխի 15 դոլար արժողությամբ տարբերակ: Քանի որ սա կաշխատի ինչպես Atmel- ի, այնպես էլ Altera- ի համար, խորհուրդ եմ տալիս այն: Եթե մտադիր եք զարգանալ Altera մասերով, կցանկանաք ձեռք բերել նաև Altera ծրագրակազմը: Ես իրականում սա չեմ փորձել, բայց որևէ պատճառ չկա, որ կարող եմ մտածել, որ այն չի աշխատի: Արագությունը սահմանափակ է: Քանի որ Ghetto CPLD զարգացման համակարգը կառուցված է ձեռքի էլեկտրագծերով և առանց գետնի հարթության, մի ակնկալեք հուսալի շահագործում մի քանի մեգահերց արագությամբ: Նույնիսկ դա երաշխավորված չէ, որ ձեր վազքը կարող է տարբեր լինել: Իհարկե, եթե դուք կառուցում եք սարքավորման նախատիպ, որն ունի ստորգետնյա հարթություն, ապա ձեր CPLD- ն կարող է լավ աշխատել ավելի բարձր արագությամբ: Պարզապես մի ակնկալեք, որ այն արագ կտեղադրվի Գետտոյի զարգացման համակարգում:

Քայլ 1: Գնացեք պատվիրեք մասեր

Գնացեք Պատվիրեք մասեր
Գնացեք Պատվիրեք մասեր

Ձեզ կպահանջվի 44 pin plcc վարդակից, որոշ անջատման կափարիչներ, որոշ չծրագրավորված CPLD- ներ, վարդակներ ՝ տախտակի միացման համար, ձգվող դիմադրիչ և գուցե դրա վրա հիմնված մի քանի տախտակ: Եթե այս որևէ բան ունեք ձեր աղբարկղում, կարող եք մի քանի դոլար խնայել: Ձեր հարմարության համար ահա Digikey մասի համարները. CONN PLCC SOCKET 44POS TIN PN: 1-822473-4-ND SOCKET IC OPEN FRAME 14POS.3 "PN 3M5462-ND Քանակ ՝ 2SOCKET IC OPEN FRAME 18POS.3 "PN: 3M5464-ND Քանակ: 2CAP ELECT 10UF 50V SU BI-BOLAR PN: P1280-ND Քանակ` 1, C1CAP CER.10UF 50V 20% DISC RAD PN: 478 -4275-1-ND Քանակ: 4, C2-C5RES METAL FILM 5.10K OHM 1/4W 1% PN: P5.10KCACT-ND PC BOARD FR4 1-SIDE PPH 4.0X4.0 PN: V2010-ND IC CPLD 64 MACROCELL 10NS 44PLCC PN: ATF1504AS-10JC44-ND Մի քանի մասեր կարող են ունենալ նվազագույն քանակություն, բայց միևնույն է, այն պետք է բավականին էժան լինի: Եթե ցանկանում եք մի քանի լուսարձակներ կառուցել (Քայլ 8) կամ անջատիչների հավաքածու պատրաստել (քայլ 9), կարող եք պատվիրել սրանք նույնպես. Հիշեք, որ Digikey- ն ունի նվազագույն $ 25 ՝ բեռնաթափման ծախսերից խուսափելու համար, այնպես որ գուցե ցանկանաք մի քանի լրացուցիչ չծրագրավորված CPLD կամ AVR պրոցեսոր կամ երկու զվարճանքի համար: Ես խորհուրդ եմ տալիս գնել Altera ծրագրավորման մալուխը SparkFun- ից: Ահա մասերի համարները. Ձեռք բերեք նաև մալուխը և միակցիչը: (Հակառակ դեպքում, պատվիրեք մալուխի մասեր Digikey- ից, եթե ինքներդ եք կառուցում) Altera FPGA համատեղելի ծրագրավորող PN: PGM-087052x5 Pin IDC ժապավենային մալուխ PN: PRT-085352x5 Pin ծածկված վերնագիր PN: PRT-08506

Քայլ 2: Ստացեք և տեղադրեք ծրագրակազմ

Ստացեք և տեղադրեք ծրագրակազմ
Ստացեք և տեղադրեք ծրագրակազմ

Ես այժմ օգտագործում եմ Atmel Prochip Designer 5.0 գործիքի շղթան: Այս գործիքը պահանջում է, որ դուք գրանցվեք Atmel- ում և լրացնեք նրանց պաշտոնական հարցման ձևը: Ես նրանց ասացի, որ դիզայներ -ճարտարագետ եմ, ներկայումս գործազուրկ եմ, և իմ հիմնական նպատակը նրանց սարքերն ու VHDL- ն սովորելն է (ամեն ինչ ճիշտ է, BTW): Նրանք հաստատեցին լիցենզիայի հայցը: Միակ գրավումն այն է, որ լիցենզիան լավ է ընդամենը 6 ամիս: Ես հույս ունեմ, որ կգտնեմ հանրային տիրույթի գործիքների շղթա մինչև դրա սպառվելը: Altera- ն ունի նաև գործիքների շղթա, որը կարող եմ ստուգել: Suggestionsանկացած առաջարկություն կգնահատվի: Տեսեք մեկնաբանությունները և հղումները վերջին քայլին: Atmel Prochip Designer 5.0- ն այստեղ է: Եթե այն ձեռք եք բերում, անպայման ձեռք բերեք նաև Service Pack 1 -ը դրա համար:

Քայլ 3: Կազմեք ծրագրավորման մալուխ

Կատարել ծրագրավորման մալուխ
Կատարել ծրագրավորման մալուխ

Ամենահեշտ մոտեցումն այստեղ Altera Byte-Blaster- ի նման աշխատանք գնելն է Sparkfun- ից (տես Քայլ 1): Եթե 15 դոլարն ավելին է, քան դուք հոգում եք ծախսել, ապա կարող եք օգտագործել SparkFun Altera Cable սխեմատիկ սխեման կամ օգտագործել Atmel Cable սխեմատիկ սխեման և քերծվածք կառուցել: (Եթե մալուխը քերծելու նկատմամբ մեծ հետաքրքրություն կա, ես կարող եմ որոշ առաջարկություններ ներկայացնել, բայց Sparkfun- ի հավաքածուն ինձ ճիշտ պատասխան է թվում):

Քայլ 4: Ստեղծեք ծրագրավորողի օրրան

Դարձնել ծրագրավորողի օրրան
Դարձնել ծրագրավորողի օրրան
Դարձնել ծրագրավորողի օրրան
Դարձնել ծրագրավորողի օրրան
Դարձնել ծրագրավորողի օրրան
Դարձնել ծրագրավորողի օրրան

Նայեք Atmel ծրագրավորողին: Սա շատ ճկուն է և հիանալի տարբերակ է, եթե դուք ունեք գումար և պլանավորում եք շատ CPLD զարգացում կատարել: Altera- ն նման բան է առաջարկում, կարծում եմ: Բայց ես գնացի ավելի էժան մոտեցմամբ. Ահա թե ինչի մասին է խոսքը: Նկարները ցույց են տալիս իմ կառուցած օրորոցի առջևի և հետևի տեսարանները: Նշեք DIP վարդակները, որոնք օգտագործվում են որպես տախտակի միակցիչներ: Յուրաքանչյուր միակցիչի մի կողմի բոլոր կապումները միացված են գետնին. մյուս կողմի կապումներն միանում են CPLD- ի ազդանշանային կապերին: Ես ներառեցի նաև մի քանի հոսանքի միացումներ. դրանք տեղադրեք այնտեղ, որտեղ նրանք տեղավորվում են: Դիագրամները մի տեսակ պատկերային սխեմաներ են. միայն էներգիայի լրացուցիչ միացումները չեն ցուցադրվում: Նայեք նկարներին դրանց մասին գաղափարներ ստանալու համար:

Քայլ 5. Օրորոց կառուցելը - մաս 1

Օրորոցի կառուցում - մաս 1
Օրորոցի կառուցում - մաս 1
Օրորոցի կառուցում - մաս 1
Օրորոցի կառուցում - մաս 1

Սկսեք կառուցել օրորոցը `վարդակները տեղադրելով այն վայրերում, որտեղ դրանք ցանկանում եք: Թույլ տվեք մեկ -երկու թափուր տող, որպեսզի տարանջատման գլխարկների համար տեղ լինի: Սա նաև ավելի դյուրին է դարձնում CPLD ազդանշանի կապերին միացնելը: Միացրեք վարդակները մի փոքր զոդման կամ էպոքսիդով ՝ կախված օգտագործվող պերֆ տախտակի տեսակից: Թույլ տվեք լրացուցիչ սենյակ վերևում (CPLD վարդակից 1 -ին կապի վերևում) JTAG միակցիչի և հոսանքի միակցիչի համար: Նայեք իմ կառուցածի նկարներին: groundանապարհորդեք մերկ մետաղալարով (մոտ 20 մետր), վարդակների արտաքին մասի մոտակայքում գտնվող ավտոբուսի համար: Երթևեկեք նաև հոսանքի ավտոբուսով: (Նկարում պատկերված կարմիր մետաղալարերը): Ուղեցույց ստանալու համար դիմեք նկարներին, բայց ձեր տախտակը, հավանաբար, մի փոքր այլ կլինի, և դա լավ է: theոդեք վարդակների արտաքին կապումներն ավտոբուսին: Սա կօգնի խարսխել ավտոբուսի լարերը:

Քայլ 6. Օրորոց կառուցելը - մաս 2

Օրորոցի կառուցում - մաս 2
Օրորոցի կառուցում - մաս 2
Օրորոցի կառուցում - մաս 2
Օրորոցի կառուցում - մաս 2

Տեղադրեք անջատման կափարիչները և միացրեք դրանք CPLD վարդակից յուրաքանչյուր կողմում գտնվող գետնին և հոսանքի պիններին: Ես առաջարկում եմ լարերն ուղղել դեպի ներքևի շարքերին հասնող կապերի արտաքին շարքերի վրայով և վերևով: Theիշտ կապեր ստանալու համար դիմեք կապի համարների դիագրամներին. CPLD վարդակից քորոցը հեռու է ակնհայտ լինելուց: Թողեք բավականաչափ տարածք, որպեսզի թույլատրվի կապը ցանկացած կապում, որի վրայով անցնում եք լարերը: Կափարիչի միացումներն ավարտվելուց հետո միացրեք հոսանքի և գրունտի ավտոբուսը: Դիագրամների բոլոր կարմիր կապումներն Vcc են և պետք է միացված լինեն: Սև քորոցները մանրացված են և նույնպես պետք է միացված լինեն: Կրկին, այն օդում ուղղորդելը լավ մոտեցում է: Նայեք նկարներին գաղափարների համար:

Քայլ 7. Օրորոցի կառուցում - Եզրակացություն

Օրորոցի կառուցում - Եզրակացություն
Օրորոցի կառուցում - Եզրակացություն
Օրորոցի կառուցում - Եզրակացություն
Օրորոցի կառուցում - Եզրակացություն
Օրորոցի կառուցում - Եզրակացություն
Օրորոցի կառուցում - Եզրակացություն

Ուղղորդեք JTAG կապերը ճիշտ կապումներով: Նայեք ձեր mingրագրավորման մալուխին `համոզվելու համար, որ միակցիչը ճիշտ կողմնորոշված է: Մի մոռացեք TDO քորոցը քաշելու մասին: Սա ցույց է տրված միայն նկարում և անցնում է TDO կապի և Vcc- ի միջև: Վերջին քայլը CPLD- ի յուրաքանչյուր I/O կապի միացումն է վարդակների քորոցին: Կապերի համար օգտագործեք դիագրամների թվերը: Սա տևում է ամենաերկար ժամանակը: Եթե հետևում եք իմ համարակալման սխեմային, ապա ձեր սխեմաները միացնելիս կարող եք օգտագործել Top View դիագրամը: Իրոք, պետք չէ միացնել այս բոլորը սկզբում, կարող եք սպասել, մինչև դրանք ձեզ անհրաժեշտ լինեն ձեր նախագծած սխեմաների համար: Checkգուշորեն ստուգեք ձեր աշխատանքը: Համոզվեք, որ հոսանքն ու հողը կարճացված չեն:

Քայլ 8: Կատարեք թարթիչներ (TTL տարբերակ)

Կատարեք թարթիչներ (TTL տարբերակ)
Կատարեք թարթիչներ (TTL տարբերակ)

Դուք, իհարկե, կցանկանաք տեսնել, թե ինչպես են աշխատում ձեր սխեմաները: Այսպիսով, դուք կցանկանաք մի քանի լուսարձակներ (հայտնի դարձան The Real Elliot- ի կողմից): Միակ գրավումն այն է, որ CPLD- ները չունեն այն հզոր արդյունքները, ինչ AVR պրոցեսորներն ունեն: Օգտագործեք 10 մա գնահատված LED- ներ և օգտագործեք 1KOhm շարքի դիմադրիչներ: Դրանք ձեզ կտրամադրեն հստակ ելքային ազդանշաններ ՝ առանց CPLD- ի ելքերը լարելու:

Քայլ 9: Կատարեք անջատիչներ

Կատարեք անջատիչներ
Կատարեք անջատիչներ
Կատարեք անջատիչներ
Կատարեք անջատիչներ

Ձեր սխեմաներին խթաններ ապահովելու համար ձեզ հարկավոր են որոշ անջատիչներ: Դուք այստեղ ունեք որոշ տարբերակներ, բայց պահանջները տարբեր են, քան AVR պրոցեսորներինը: CPLD- ի ելքերը չունեն ներկառուցված քաշքշուկներ և ծրագրակազմում ապամոնտաժելն այնքան էլ հեշտ չէ: (Հնարավոր է, բայց վերցնում է ռեսուրսներ, որոնք հավանաբար ցանկանում եք օգտագործել ձեր սխեմաներում) shownուցադրված DIP անջատիչները մի քանի անջատիչ են տրամադրում հարմար փաթեթում, սակայն դրանք պետք է քաշվեն: Ես օգտագործել եմ 1K քաշքշուկներ: Սեղմող կոճակները կարող են կատարվել ՝ օգտագործելով Atmel- ի առաջարկած սխեման իրենց ցուցադրական տախտակի համար: Սխեմաները 36 -րդ էջում են: Մեկ այլ տարբերակ է միացնել AVR պրոցեսորը `խթաններ ապահովելու համար, և նույնիսկ ստուգել պատասխանները: Բայց դա վարժություն է, որը մնացել է ուսանողին:

Քայլ 10: Ստեղծեք ձեր առաջին շրջանը

Ստեղծեք ձեր առաջին շրջանը
Ստեղծեք ձեր առաջին շրջանը
Ստեղծեք ձեր առաջին շրջանը
Ստեղծեք ձեր առաջին շրջանը

Այս պահին դուք պետք է ձեռք բերեք և տեղադրեք ծրագրակազմը: Հետևեք մանրակրկիտ, մանրամասն ձեռնարկին ՝ ձեր առաջին պարզ CPLD սխեման ստեղծելու համար (երկու մուտքի և դարպասով. Շատ ավելի պարզ չի դառնում): Համոզվեք, որ ընտրեք ճիշտ սարքը (44 Pin PLCC, 5V, 1504AS [մանրամասներ]) և ընտրեք առկա I/O կապի համարները (ես օգտագործել եմ 14 և 16 -ը որպես մուտքեր, 28 -ը ՝ որպես ելք): Այս մանրամասները փոքր -ինչ տարբերվում են ձեռնարկից, բայց չպետք է ձեզ անհանգստություն պատճառեն:

Քայլ 11. Programրագրեք ձեր առաջին CPLD- ը

Programրագրեք ձեր առաջին CPLD- ը
Programրագրեք ձեր առաջին CPLD- ը
Programրագրեք ձեր առաջին CPLD- ը
Programրագրեք ձեր առաջին CPLD- ը

Միացրեք ձեր ծրագրավորման մալուխը ձեր համակարգչի զուգահեռ նավահանգստին, միացրեք այն ձեր ծրագրավորողի օրրանին, միացրեք 5 վոլտ հոսանքի միակցիչին և հետևեք ձեռնարկին `իրականում ձեր առաջին CPLD- ն ծրագրավորելու համար: Ընտրեք մալուխի ճիշտ տարբերակը: Նշենք, որ Altera Byte-Blaster- ը տարբերակներից մեկն է:

Քայլ 12: Փորձարկեք ձեր ծրագրավորված մասը:

Փորձարկեք ձեր ծրագրավորված մասը
Փորձարկեք ձեր ծրագրավորված մասը
Փորձարկեք ձեր ծրագրավորված մասը
Փորձարկեք ձեր ծրագրավորված մասը

Անջատեք ծրագրավորման մալուխը օրորոցից: Միացրեք անջատիչներն ու լուսարձակները ճիշտ կապումներին, միացրեք հոսանքը և փորձեք այն: Քանի որ դուք սկսում եք մի պարզ սխեմայով, թեստավորումը մեծ մարտահրավեր չէ: Եթե այն աշխատում է, դուք անջատված եք: Վերևի տեսքի դիագրամը կօգնի ձեզ միացնել ձեր անջատիչներն ու թարթիչները ՝ փորձարկման համար:

Քայլ 13: Վերջը և որոշ վեբ ռեսուրսներ

Վերջը և որոշ վեբ ռեսուրսներ
Վերջը և որոշ վեբ ռեսուրսներ

Այս ձեռնարկի նպատակը չէ ձեզ սովորեցնել, թե ինչպես օգտագործել VHDL- ը: (Ես նոր եմ սկսում սովորել, դրա համար էլ ստեղծեցի ծրագրավորողին, հիշո՞ւմ եք): Այսինքն, ես գտա մի քանի շատ օգտակար ձեռնարկներ և որոշ օգտակար ռեսուրսներ, որոնց վրա կարող եմ ուղղել ձեզ: Հետադարձ կապը և այլ առաջարկներ մեծապես գնահատվում են: Նկատի ունեցեք, որ կարող եք նաև օգտագործել Ghetto CPLD զարգացման համակարգը ՝ Verilog և CPLD ծրագրավորման այլ տեխնիկաներ սովորելու համար, որոնց ապարատը չի հետաքրքրում: VHDL ռեսուրսները համացանցում. Հիմունքներ և որոշ հղումներ այստեղ և այստեղ: անվճար գործիքներ: Ինձ դուր եկած ձեռնարկները այստեղ և այստեղ են, բայց դուք կգտնեք շատ ուրիշներ: Վերջապես (առայժմ), դուք կցանկանաք ստուգել քննարկման խումբը: Վայելեք, շատ բան սովորեք և կիսեք այն, ինչ գիտեք:

Խորհուրդ ենք տալիս: