Turinys:

„Ghetto“programuojamos logikos (CPLD) kūrimo sistema: 13 žingsnių
„Ghetto“programuojamos logikos (CPLD) kūrimo sistema: 13 žingsnių

Video: „Ghetto“programuojamos logikos (CPLD) kūrimo sistema: 13 žingsnių

Video: „Ghetto“programuojamos logikos (CPLD) kūrimo sistema: 13 žingsnių
Video: Thug Slime - Paranoia - Official Audio Release 2024, Lapkritis
Anonim
„Ghetto“programuojamos logikos (CPLD) kūrimo sistema
„Ghetto“programuojamos logikos (CPLD) kūrimo sistema

Pastaruosius kelis mėnesius mėgaujuosi „Ghetto Development System“, skirta AVR procesoriams. Tiesą sakant, šis beveik nulio dolerio įrankis pasirodė toks patrauklus ir naudingas, kad privertė susimąstyti, ar įmanoma išplėsti koncepciją ir FPGA/CPLD kūrimui. (FPGA: lauko programuojamas vartų masyvas. CPLD: sudėtingas programuojamas loginis įrenginys.) Taigi šiek tiek pasigilinau į žiniatinklį ir sugalvojau Atmel CPLD kūrimo sistemą. Palyginimas su „Altera“įrenginiais rodo, kad jų kontaktas yra tas pats (atsižvelgiant į toliau nurodytus apribojimus), todėl jie taip pat veiks. Sukūrę kūrimo plokštę ir sąsajos kabelį, kuriuos pateiksiu, tada atsisiųsdami įrankius, galite sukurti savo CPLD programas. Atkreipkite dėmesį į šiuos apribojimus ir apribojimus. Aš stengiausi subalansuoti galimybes ir paprastumą, kad galėtumėte sukurti tai, kas jums patiks ir iš ko pasimokysite. Tik 5 V įrenginiai. Išplėsti sistemą taip, kad ji apimtų papildomą įtampą (3,3 V, 2,5 V, 1,8 V palaiko tos pačios šeimos „Atmel“įrenginiai) nėra sunku, tačiau tai apsunkina ir kūrimo plokštę, ir programavimo kabelį. Kol kas praleiskime. Atminkite, kad į plokštę turite tiekti 5 V maitinimą. Tik 44 kontaktų PLCC. Tiksliau, aš užprogramavau „Atmel ATF1504AS“. „Ghetto CPLD“koncepciją galima lengvai išplėsti ir kitiems „Atmel“įrenginiams, tačiau šis prietaisas atrodė kaip geras kompromisas tarp kainos, naudojimo paprastumo ir galimybių. Ši koncepcija taip pat turėtų apimti kitus įrenginius, tokius kaip „Altera“, „Xilinx“, „Actel“ir kt. Iš tikrųjų „Max7000“šeimos EPM7032 ir EPM7064 veiks tame pačiame lizde, kol naudosite 44 kontaktų PLCC versijas. Iki šiol naudojau tik „Atmel“programavimo kabelį, tačiau „Altera Byte-Blaster“palaiko „Atmel“programinė įranga ir taip pat turėtų veikti gerai. Tai iš tikrųjų yra šiek tiek paprastesnis dizainas nei „Atmel“kabelis. (Aš sukūriau „Atmel“versiją ir ji veikia, todėl nebandžiau „Altera“versijos.) „SparkFun“siūlo 15 USD kainuojančią „Altera“kabelio versiją. Kadangi tai veiks tiek „Atmel“, tiek „Altera“, rekomenduoju. Jei ketinate kurti su „Altera“dalimis, norėsite įsigyti ir „Altera“programinę įrangą. Aš iš tikrųjų to neišbandžiau, tačiau nėra jokios priežasties, dėl kurios galvoju, kad tai neveiks. Greitis yra ribotas. Kadangi „Ghetto CPLD Development System“sukurta naudojant rankinius laidus ir be įžeminimo plokštės, nesitikėkite patikimo veikimo esant didesniam nei kelių megahercų greičiui. Netgi tai negarantuojama, kad jūsų rida gali skirtis! Žinoma, jei sukuriate aparatinės įrangos prototipą, turintį įžeminimo plokštumą, tada jūsų CPLD gali puikiai veikti didesniu greičiu. Tik nesitikėkite, kad jis greitai įsijungs į „Ghetto Development System“.

1 veiksmas: užsisakykite dalis

Užsisakykite dalių
Užsisakykite dalių

Jums reikės 44 kontaktų plcc lizdo, kai kurių atjungimo dangtelių, kai kurių neužprogramuotų CPLD, lizdų, skirtų prijungti prie lentos, ištraukimo rezistoriaus ir galbūt tam tikros perf plokštės. Jei šiukšlių dėžėje turite tai, galite sutaupyti keletą dolerių. Jūsų patogumui čia pateikiami „Digikey“dalių numeriai: CONN PLCC SOCKET 44POS TIN PN: 1-822473-4-ND SOCKET IC OPEN FRAME 14POS.3 "PN: 3M5462-ND Kiekis: 2SOCKET IC OPEN FRAME 18POS.3 "PN: 3M5464-ND Qty: 2CAP ELECT 10UF 50V SU BI-POLAR PN: P1280-ND Qty: 1, C1CAP CER.10UF 50V 20% DISC RAD PN: 478 -4275-1-ND Kiekis: 4, C2-C5RES METALINĖ FILMAS 5.10K OHM 1/4W 1% PN: P5.10KCACT-ND PC LENTOS FR4 1-PUS PPH 4.0X4.0 PN: V2010-ND IC CPLD 64 MACROCELL 10NS 44PLCC PN: ATF1504AS-10JC44-ND Kai kuriose dalyse gali būti minimalus kiekis, tačiau jos vis tiek turėtų būti gana pigios. Jei norite sukurti tam tikrus žibintus (8 veiksmas) arba padaryti jungiklių rinkinį (9 veiksmas), galite užsisakyti šie taip pat. Atminkite, kad „Digikey“turi mažiausiai 25 USD, kad išvengtumėte tvarkymo mokesčio, todėl galbūt norėsite įsigyti keletą papildomų neužprogramuotų CPLD arba AVR procesoriaus ar du. Čia yra dalių numeriai. Taip pat gaukite laidą ir jungtį. (Priešingu atveju užsisakykite kabelio dalis iš „Digikey“, jei statote savo.) „Altera FPGA“suderinamas programuotojas PN: PGM-087052x5 kontaktinis IDC juostelės kabelis PN: PRT-085352x5 kaiščio uždengta antraštė PN: PRT-08506

2 žingsnis: Gaukite ir įdiekite programinę įrangą

Gaukite ir įdiekite programinę įrangą
Gaukite ir įdiekite programinę įrangą

Šiuo metu naudoju „Atmel Prochip Designer 5.0“įrankių grandinę. Šis įrankis reikalauja, kad jūs užsiregistruotumėte „Atmel“ir užpildytumėte oficialią užklausos formą. Aš jiems pasakiau, kad esu projektavimo inžinierius, šiuo metu bedarbis, o mano pagrindinis tikslas buvo išmokti jų prietaisus ir VHDL (viskas tiesa, BTW). Jie patenkino licencijos prašymą. Vienintelis dalykas yra tai, kad licencija galioja tik 6 mėnesius. Tikiuosi, kad iki jos galiojimo laiko surasiu viešojo naudojimo įrankių grandinę. „Altera“taip pat turi įrankių grandinę, kurią galiu patikrinti. Bet kokie pasiūlymai bus vertinami. Peržiūrėkite komentarus ir nuorodas paskutiniame žingsnyje. „Atmel Prochip Designer 5.0“yra čia. Jei jį gausite, būtinai įsigykite ir 1 pakeitimų paketą.

3 žingsnis: sukurkite programavimo kabelį

Padarykite programavimo kabelį
Padarykite programavimo kabelį

Lengviausias būdas yra įsigyti „Altera Byte-Blaster“panašų produktą iš „Sparkfun“(žr. 1 veiksmą). Jei 15 USD yra daugiau, nei norite išleisti, galite naudoti „SparkFun Altera Cable“schemą arba naudoti „Atmel Cable“schemą ir sukurti nuo nulio. (Jei labai domina kabelis nuo nulio, galiu pasiūlyti keletą pasiūlymų, tačiau „Sparkfun“rinkinys man atrodo tinkamas atsakymas.)

4 žingsnis: Padarykite programuotojo lopšį

Padarykite programuotojo lopšį
Padarykite programuotojo lopšį
Padarykite programuotojo lopšį
Padarykite programuotojo lopšį
Padarykite programuotojo lopšį
Padarykite programuotojo lopšį

Pažvelkite į „Atmel“programuotoją. Tai labai lanksti ir yra puikus pasirinkimas, jei turite pinigų ir planuojate daug plėtoti CPLD. Manau, kad „Altera“siūlo kažką panašaus. Bet aš pasirinkau pigesnį metodą - būtent tai ir yra! Paveikslėliuose parodytas mano pastatyto lopšio vaizdas iš priekio ir iš galo. Atkreipkite dėmesį į DIP lizdus, naudojamus kaip duonos plokštės jungtys. Visi kaiščiai vienoje kiekvienos jungties pusėje yra prijungti prie žemės; kitoje pusėje esantys kaiščiai jungiasi prie CPLD signalinių kaiščių. Aš taip pat įtraukiau keletą maitinimo jungčių; padėkite juos ten, kur jie tinka. Diagramos yra tarsi vaizdinės schemos; nerodomos tik papildomos maitinimo jungtys. Žiūrėkite nuotraukas, kad gautumėte idėjų apie tai.

5 žingsnis: lopšio statymas - 1 dalis

Lopšio statyba - 1 dalis
Lopšio statyba - 1 dalis
Lopšio statyba - 1 dalis
Lopšio statyba - 1 dalis

Pradėkite statyti lopšį, įkišdami lizdus į norimas vietas. Leiskite laisvą eilę ar dvi, kad būtų vietos atkabinimo dangteliams. Taip pat lengviau prisijungti prie CPLD signalo kaiščių. Prikabinkite lizdus šiek tiek litavimo arba epoksidinės medžiagos, priklausomai nuo naudojamos plokštės tipo. Viršuje (virš CPLD lizdo 1 kaiščio) palikite papildomos vietos JTAG jungčiai ir maitinimo jungčiai. Žiūrėkite mano pastatyto paveikslėlius. Išskleiskite pliką laidą (maždaug 20 gabaritų) aplink įžeminimo magistralės lizdų išorę. Taip pat nukreipkite maitinimo magistralę. (Raudona viela paveikslėliuose.) Žiūrėkite paveikslėlius, kad gautumėte patarimų, tačiau jūsų plokštė tikriausiai bus šiek tiek kitokia - ir tai puiku. Lituokite išorinius lizdų kaiščius prie įžeminimo magistralės. Tai padės įtvirtinti magistralės laidą.

6 žingsnis: lopšio statymas - 2 dalis

Lopšio statyba - 2 dalis
Lopšio statyba - 2 dalis
Lopšio statyba - 2 dalis
Lopšio statyba - 2 dalis

Įdėkite atjungimo dangtelius ir prijunkite juos prie žemės ir maitinimo kaiščių kiekvienoje CPLD lizdo pusėje. Siūlau nukreipti laidus aukštyn ir virš išorinių kaiščių eilučių, kad pasiektumėte vidines eilutes. Norėdami gauti teisingus kaiščius, žiūrėkite kaiščių skaičių diagramas - CPLD lizdo kaištis toli gražu nėra akivaizdus. Palikite pakankamai vietos, kad būtų galima prijungti prie visų kaiščių, per kuriuos laidai praeina. Baigę prijungti dangtelį, prijunkite maitinimo ir įžeminimo magistralę. Visi raudoni kaiščiai diagramose yra Vcc ir turėtų būti prijungti. Juodi kaiščiai yra įžeminti ir taip pat turėtų būti prijungti. Vėlgi, jo nukreipimas į orą yra geras būdas. Idėjų ieškokite nuotraukose.

7 žingsnis: lopšio kūrimas - išvada

Lopšio statymas - išvada
Lopšio statymas - išvada
Lopšio statymas - išvada
Lopšio statymas - išvada
Lopšio statyba - išvada
Lopšio statyba - išvada

Nukreipkite JTAG jungtis į tinkamus kaiščius. Pažiūrėkite į savo programavimo kabelį, kad įsitikintumėte, jog jungtis yra teisingai nukreipta. Nepamirškite TDO kaiščio ištraukimo. Tai parodyta tik paveikslėlyje ir yra tarp TDO kaiščio ir Vcc. Paskutinis žingsnis yra prijungti kiekvieną CPLD įvesties/išvesties kaištį prie lizdo kaiščio. Sujungimams naudokite diagramose pateiktus skaičius. Tai užtrunka ilgiausiai! Jei laikysitės mano numeravimo schemos, prijungdami grandines galite naudoti diagramą „Top View“. Tikrai nereikia iš pradžių visų jų prijungti, galite palaukti, kol jų prireiks jūsų sukurtoms grandinėms. Atidžiai patikrinkite savo darbą. Įsitikinkite, kad maitinimas ir žemė nėra trumpas!

8 veiksmas: sukurkite „Blinkenlights“(TTL versija)

„Blinkenlights“(TTL versija)
„Blinkenlights“(TTL versija)

Žinoma, norėsite pamatyti, kaip veikia jūsų grandinės. Taigi norėsite kai kurių mirksinčių žibintų (kuriuos išgarsino „The Real Elliot“). Vienintelis dalykas yra tai, kad CPLD neturi stiprių išėjimų, kuriuos turi AVR procesoriai. Naudokite 10m šviesos diodus ir 1KOhm serijos rezistorius. Tai suteiks aiškius išvesties signalus, neapkraunant CPLD išėjimų.

9 veiksmas: sukurkite jungiklius

Padaryti jungiklius
Padaryti jungiklius
Padaryti jungiklius
Padaryti jungiklius

Norėdami stimuliuoti grandines, jums reikės kai kurių jungiklių. Čia yra keletas variantų, tačiau reikalavimai yra kitokie nei AVR procesoriams. CPLD išėjimuose nėra integruotų prisitraukimų, o programinės įrangos išjungimas nėra toks lengvas. (Tai įmanoma, tačiau reikia išteklių, kuriuos tikriausiai norite naudoti savo grandinėse.) Parodyti DIP jungikliai yra keli jungikliai patogioje pakuotėje, tačiau juos reikia ištraukti. Aš naudoju 1K prisitraukimus. Mygtukai gali būti pagaminti naudojant grandinę, kurią „Atmel“rekomenduoja savo demonstracinei lentai. Schemos yra maždaug 36 puslapyje. Kitas variantas yra prijungti AVR procesorių, kad būtų galima stimuliuoti ir net patikrinti atsakymus. Bet tai pratimas, paliktas mokiniui.

10 žingsnis: sukurkite savo pirmąją grandinę

Sukurkite savo pirmąją grandinę
Sukurkite savo pirmąją grandinę
Sukurkite savo pirmąją grandinę
Sukurkite savo pirmąją grandinę

Iki to laiko jūs turėtumėte turėti ir įdiegti programinę įrangą. Vykdykite išsamią ir išsamią pamoką, kad sukurtumėte pirmąją paprastą CPLD grandinę (dviejų įėjimų IR vartai; nėra daug paprasčiau). Būtinai pasirinkite tinkamą įrenginį (44 kontaktų PLCC, 5V, 1504AS [išsami informacija]) ir pasirinkite galimus įvesties/išvesties kontaktų numerius (kaip įvestis naudojau 14 ir 16; kaip išvestį). Šios detalės šiek tiek skiriasi nuo mokymo programos, tačiau neturėtų sukelti jokių problemų.

11 veiksmas: užprogramuokite pirmąjį CPLD

Užprogramuokite savo pirmąjį CPLD
Užprogramuokite savo pirmąjį CPLD
Užprogramuokite savo pirmąjį CPLD
Užprogramuokite savo pirmąjį CPLD

Prijunkite savo programavimo kabelį prie lygiagretaus kompiuterio prievado, prijunkite jį prie programuotojo lopšio, prijunkite 5 voltus prie maitinimo jungties ir vadovaukitės pamoka, kad iš tikrųjų užprogramuotumėte savo pirmąjį CPLD. Pasirinkite tinkamą kabelio versiją. Atminkite, kad „Altera Byte-Blaster“yra viena iš galimybių.

12 žingsnis: išbandykite savo programuojamą dalį

Išbandykite savo programuojamą dalį!
Išbandykite savo programuojamą dalį!
Išbandykite savo programuojamą dalį!
Išbandykite savo programuojamą dalį!

Atjunkite programavimo kabelį nuo laikiklio. Prijunkite jungiklius ir žibintus prie tinkamų kaiščių, įjunkite maitinimą ir išbandykite. Kadangi pradedate nuo paprastos grandinės, testavimas nėra didelis iššūkis. Jei tai pavyks, tu bėgsi! Viršutinio vaizdo schema padės jums prijungti jungiklius ir mirksinčius žibintus bandymams.

13 veiksmas: pabaiga ir kai kurie žiniatinklio ištekliai

Pabaiga ir kai kurie žiniatinklio ištekliai
Pabaiga ir kai kurie žiniatinklio ištekliai

Šios pamokos tikslas nėra išmokyti jus naudotis VHDL. (Aš tik pradedu mokytis, todėl sukūriau programuotoją, pamenate?) Vis dėlto radau keletą labai naudingų vadovėlių ir naudingų išteklių, į kuriuos galiu atkreipti dėmesį. Atsiliepimai ir kiti pasiūlymai yra labai vertinami. Atkreipkite dėmesį, kad taip pat galite naudoti „Ghetto CPLD“kūrimo sistemą, kad išmoktumėte „Verilog“ir kitų CPLD programavimo metodų, kuriems aparatūra nerūpi. VHDL ištekliai internete: pagrindai ir kai kurios nuorodos čia ir čia. nemokami įrankiai. Man patinkančios pamokos yra čia ir čia, bet rasite daug kitų. Galiausiai (kol kas) norėsite patikrinti diskusijų grupę. Mėgaukitės, daug sužinokite ir pasidalykite tuo, ką žinote.

Rekomenduojamas: