Kazalo:

Razvojni sistem Ghetto Programmable Logic (CPLD): 13 korakov
Razvojni sistem Ghetto Programmable Logic (CPLD): 13 korakov

Video: Razvojni sistem Ghetto Programmable Logic (CPLD): 13 korakov

Video: Razvojni sistem Ghetto Programmable Logic (CPLD): 13 korakov
Video: Машинное обучение для разработчиков Java: переход на стек технологий ИИ. 2024, Julij
Anonim
Razvojni sistem Ghetto Programmable Logic (CPLD)
Razvojni sistem Ghetto Programmable Logic (CPLD)

Zadnjih nekaj mesecev sem užival v razvojnem sistemu Ghetto za AVR procesorje. Pravzaprav se je to orodje za skoraj nič dolarjev izkazalo za tako fascinantnega in uporabnega, da sem se spraševal, ali bi bilo mogoče koncept razširiti tudi na razvoj FPGA/CPLD. (FPGA: Field Programmable Gate Array. CPLD: Complex Programmable Logic Device.) Zato sem malo brskal po spletu in prišel do razvojnega sistema za Atmel CPLD. V primerjavi z napravami Altera je njihov pinout enak (v okviru omejitev, ki sem jih podrobno opisal spodaj), zato bodo tudi delovale. Z izgradnjo razvojne plošče in vmesniškega kabla, ki ga bom predstavil, nato prenosom orodij lahko razvijete lastne aplikacije CPLD. Upoštevajte naslednje omejitve in omejitve. Poskušal sem uravnotežiti zmogljivosti in preprostost, tako da lahko ustvarite nekaj, v čemer boste uživali in se naučili le iz naprav 5V. Razširitev sistema na dodatne napetosti (3.3V, 2.5V, 1.8V podpirajo naprave Atmel v isti družini) ni težavna, vendar otežuje razvojno ploščo in programski kabel. Zaenkrat preskočimo. Upoštevajte, da morate plošči zagotoviti napajanje 5V. Samo 44 -polni PLCC. Natančneje, programiral sem Atmel ATF1504AS. Koncept Ghetto CPLD je mogoče zlahka razširiti na druge naprave Atmel, vendar se je ta naprava zdela kot dober kompromis med ceno, enostavnostjo uporabe in zmogljivostmi. Koncept bi se moral razširiti tudi na druge naprave, kot so tiste iz Altere, Xilinx, Actel itd. Pravzaprav bosta družini Max7000 EPM7032 in EPM7064 delovali v isti vtičnici, dokler uporabljate 44 -polne različice PLCC. Doslej sem uporabljal samo programski kabel Atmel, vendar programsko opremo Atmel podpira Altera Byte-Blaster in bi morala tudi delovati. Pravzaprav je nekoliko enostavnejša zasnova kot kabel Atmel. (Zgradil sem različico Atmel in deluje, zato različice Altera nisem preizkusil.) SparkFun ponuja različico kabla Altera za 15 USD. Ker bo to delovalo tako pri Atmelu kot pri Alteri, ga priporočam. Če se boste razvijali z deli Altera, boste želeli dobiti tudi programsko opremo Altera. Tega dejansko nisem poskusil, vendar ni razloga, da bi pomislil, da ne bi delovalo. Hitrost je omejena. Ker je razvojni sistem Ghetto CPLD zgrajen z ročnim ožičenjem in brez ozemljitvene ravnine, ne pričakujte zanesljivega delovanja pri hitrostih nad nekaj megahercev. Tudi to ni zagotovljeno, da se vaša kilometrina lahko razlikuje! Seveda, če izdelate prototipno strojno opremo, ki ima ozemljitveno podlago, bo vaš CPLD pri visokih hitrostih deloval v redu. Samo ne pričakujte, da bo hitro vgrajen v razvojni sistem geta.

Korak: Pojdite naročiti dele

Pojdi naroči dele
Pojdi naroči dele

Potrebovali boste 44-polno vtičnico plcc, nekaj odklopnih pokrovčkov, nekaj neprogramiranih CPLD-jev, vtičnice za priključitev na mizo, vlečni upor in morda kakšno perf ploščo, na kateri bi jo lahko zgradili. Če imate kaj od tega v škatli za smeti, lahko prihranite nekaj dolarjev. Za vaše udobje so tukaj številke delov Digikey: CONN PLCC Vtičnica 44POS TIN PN: 1-822473-4-ND Vtičnica IC OPEN FRAME 14POS.3 "PN: 3M5462-ND Količina: 2SOCKET IC OPEN FRAME 18POS.3 "PN: 3M5464-ND Količina: 2CAP ELECT 10UF 50V SU BI-POLAR PN: P1280-ND Količina: 1, C1CAP CER.10UF 50V 20% DISK RAD PN: 478 -4275-1-ND Količina: 4, C2-C5RES METAL FILM 5.10K OHM 1/4W 1% PN: P5.10KCACT-ND PC BOARD FR4 1-stranska PPH 4.0X4.0 PN: V2010-ND IC CPLD 64 MACROCELL 10NS 44PLCC PN: ATF1504AS-10JC44-ND Nekaj delov ima lahko minimalne količine, vendar bi moralo biti precej poceni. Če želite sestaviti nekaj utripajočih luči (8. korak) ali narediti sklop stikal (9. korak), boste morda želeli naročiti tudi te. Upoštevajte, da ima Digikey najmanj 25 USD, da se izognete stroškom ravnanja, zato boste morda želeli dobiti nekaj dodatnih neprogramiranih CPLD -jev ali AVR procesor ali dva samo za zabavo. Priporočam, da programski kabel Altera kupite pri SparkFunu. Tu so številke delov. Pridobite tudi kabel in priključek. (Sicer naročite dele za kabel pri Digikeyju, če ga gradite sami.) Altera FPGA Compatible Programmer PN: PGM-087052x5 Pin IDC Ribbon Cable PN: PRT-085352x5 Pin Shrouded Header PN: PRT-08506

2. korak: Pridobite in namestite programsko opremo

Pridobite in namestite programsko opremo
Pridobite in namestite programsko opremo

Trenutno uporabljam verigo orodij Atmel Prochip Designer 5.0. To orodje zahteva, da se registrirate pri Atmelu in izpolnite njihov uradni obrazec za zahtevo. Povedal sem jim, da sem inženir oblikovanja, trenutno brezposeln, in da je bil moj glavni namen naučiti se njihovih naprav in VHDL (vse res, BTW). Odobrili so prošnjo za dovoljenje. Edina napaka je, da je licenca dobra le 6 mesecev. Upam, da bom do takrat, ko poteče, našel verigo orodij v javni domeni. Altera ima tudi verigo orodij, ki jo lahko preverim. Vsi predlogi bodo cenjeni. Oglejte si komentarje in povezave v zadnjem koraku. Tu je Atmel Prochip Designer 5.0. Če ga dobite, si zanj zagotovite tudi servisni paket 1.

3. korak: Naredite kabel za programiranje

Naredite kabel za programiranje
Naredite kabel za programiranje

Najlažji pristop je nakup podobnega dela Altera Byte-Blaster pri podjetju Sparkfun (glej 1. korak). Če je 15 USD več, kot bi si želeli porabiti, lahko uporabite shemo kabla SparkFun Altera ali uporabite shemo kabla Atmel in shemo za izdelavo prask. (Če obstaja veliko zanimanje za gradnjo kabla s praskami, lahko ponudim nekaj predlogov, vendar se mi zdi komplet Sparkfun pravi odgovor.)

4. korak: Naredite programersko zibelko

Naredite zibelko za programerje
Naredite zibelko za programerje
Naredite zibelko za programerje
Naredite zibelko za programerje
Naredite zibelko za programerje
Naredite zibelko za programerje

Oglejte si programerja Atmel. To je zelo prilagodljivo in je odlična možnost, če imate denar in nameravate veliko razvijati CPLD. Verjamem, da Altera ponuja nekaj podobnega. Vendar sem se odločil za cenejši pristop - za to gre! Slike prikazujejo pogled od spredaj in zadaj na zibelko, ki sem jo zgradil. Upoštevajte vtičnice DIP, ki se uporabljajo kot priključki za mizo. Vsi zatiči na eni strani vsakega priključka so povezani z maso; zatiči na drugi strani se povežejo s signalnimi zatiči na CPLD. Vključil sem tudi nekaj priključkov za napajanje; dajte jih tja, kamor spadajo. Diagrami so neke vrste slikovne sheme; samo dodatne povezave za napajanje niso prikazane. Oglejte si slike za ideje o njih.

5. korak: Gradnja zibelke - 1. del

Gradnja zibelke - 1. del
Gradnja zibelke - 1. del
Gradnja zibelke - 1. del
Gradnja zibelke - 1. del

Začnite graditi zibelko tako, da vstavite vtičnice na mestih, kjer jih želite. Pustite prazno vrstico ali dve, da bo na voljo prostor za ločevanje pokrovčkov. To olajša tudi povezavo s signalnimi zatiči CPLD. Vtičnice pritrdite z malo spajkanja ali epoksida, odvisno od vrste perf plošče, ki jo uporabljate. Pustite nekaj dodatnega prostora na vrhu (nad zatičem 1 vtičnice CPLD) za priključek JTAG in priključek za napajanje. Oglejte si slike tistega, ki sem ga zgradil. Ozemljite golo žico (približno 20 premerov) okoli zunanje strani vtičnic za ozemljitveno vodilo. Potegnite tudi napajalno vodilo. (Rdeča žica na slikah.) Nekaj napotkov si oglejte na slikah, vendar bo vaša plošča verjetno nekoliko drugačna - in to je v redu. Spajnite zunanje zatiče vtičnic na ozemljitveno vodilo. To bo pomagalo pritrditi žico vodila.

6. korak: Gradnja zibelke - 2. del

Gradnja zibelke - 2. del
Gradnja zibelke - 2. del
Gradnja zibelke - 2. del
Gradnja zibelke - 2. del

Namestite ločilne kape in jih povežite z ozemljitvenimi in napajalnimi zatiči na vsaki strani vtičnice CPLD. Predlagam, da napeljete žice navzgor in čez zunanje vrste zatičev, da dosežete notranje vrste. Za pravilne zatiče si oglejte diagrame številk nožic - izhod iz vtičnice CPLD še zdaleč ni očiten. Pustite dovolj prostora, da omogočite povezavo z vsemi zatiči, preko katerih preidete žice. Ko so pokrovčki povezani, priključite napajalno in ozemljitveno vodilo. Vsi rdeči zatiči na diagramih so Vcc in jih je treba povezati. Črni zatiči so ozemljeni in jih je treba tudi povezati. Spet je dober pristop usmerjanje v zrak. Za ideje poglejte slike.

7. korak: Zgradba zibelke - zaključek

Gradnja zibelke - zaključek
Gradnja zibelke - zaključek
Gradnja zibelke - zaključek
Gradnja zibelke - zaključek
Gradnja zibelke - zaključek
Gradnja zibelke - zaključek

Povežite povezave JTAG na pravilne nožice. Oglejte si svoj programski kabel in se prepričajte, da je priključek pravilno usmerjen. Ne pozabite na vlečenje na zatiču TDO. To je prikazano samo na sliki in se giblje med zatičem TDO in Vcc. Zadnji korak je, da vsak V/I pin CPLD povežete z nožico na vtičnicah. Za povezave uporabite številke na diagramih. To traja najdlje! Če sledite moji shemi oštevilčevanja, lahko uporabite diagram Top View kot vodilo pri povezovanju vaših vezij. Na začetku vam res ni treba priključiti vseh teh, lahko počakate, da jih potrebujete za vezja, ki jih oblikujete. Pozorno preverite svoje delo. Prepričajte se, da moč in ozemljitev nista kratka!

8. korak: Naredite Blinkenlights (različica TTL)

Naredite Blinkenlights (različica TTL)
Naredite Blinkenlights (različica TTL)

Seveda boste želeli videti, kako vaša vezja delujejo. Tako boste želeli nekaj utripajočih luči (ki jih je slavil The Real Elliot). Edina napaka je, da CPLD nimajo močnih izhodov, ki jih imajo procesorji AVR. Uporabljajte LED diode, ocenjene za 10 mA, in upora 1Kohm serije. Ti vam bodo dali jasne izhodne signale brez obremenitve izhodov CPLD.

9. korak: Naredite stikala

Naredite stikala
Naredite stikala
Naredite stikala
Naredite stikala

Če želite zagotoviti dražljaje za svoja vezja, boste potrebovali nekaj stikal. Tukaj imate nekaj možnosti, vendar so zahteve drugačne kot za procesorje AVR. Izhodi CPLD nimajo vgrajenih vlečnih elementov in programske opreme ni tako enostavno odpraviti. (Možno je, vendar zahteva sredstva, ki jih verjetno želite uporabiti v svojih vezjih.) Prikazana stikala DIP ponujajo več stikal v priročnem paketu, vendar jih je treba izvleči. Uporabil sem 1K vleke. Gumbe lahko izdelate z uporabo vezja, ki ga Atmel priporoča za svojo demo ploščo. Sheme so na strani 36. Druga možnost je, da priključite procesor AVR, da zagotovite dražljaje - in celo preverite odzive. Ampak to je vaja, ki ostane študentu.

10. korak: Ustvarite svoj prvi krog

Ustvarite svoj prvi krog
Ustvarite svoj prvi krog
Ustvarite svoj prvi krog
Ustvarite svoj prvi krog

Do takrat bi morali pridobiti in namestiti programsko opremo. Sledite temeljiti in podrobni vadnici, da ustvarite svoje prvo preprosto vezje CPLD (dvovhodna vrata AND; ni veliko enostavnejša). Izberite ustrezno napravo (44 -polni PLCC, 5V, 1504AS [podrobnosti]) in izberite številke vhodno -izhodnih pin, ki so na voljo (kot vhode sem uporabil 14 in 16; 28 kot izhod). Te podrobnosti se nekoliko razlikujejo od vadnice, vendar vam ne bi smele povzročati težav.

11. korak: Programirajte svoj prvi CPLD

Programirajte svoj prvi CPLD
Programirajte svoj prvi CPLD
Programirajte svoj prvi CPLD
Programirajte svoj prvi CPLD

Priključite svoj programski kabel na vzporedna vrata v računalniku, priključite ga na zibelko za programerje, priključite 5 voltov na priključek za napajanje in sledite vadnici, da dejansko programirate svoj prvi CPLD. Izberite pravilno različico kabla. Upoštevajte, da je Altera Byte-Blaster ena od možnosti.

12. korak: Preizkusite svoj programirani del

Preizkusite svoj programirani del!
Preizkusite svoj programirani del!
Preizkusite svoj programirani del!
Preizkusite svoj programirani del!

Odklopite svoj programski kabel iz nosilca. Priključite stikala in utripajoče luči na ustrezne nožice, vklopite napajanje in ga preizkusite. Ker začenjate s preprostim vezjem, testiranje ni velik izziv. Če deluje, ste brez dela! Diagram od zgoraj vas bo vodil pri povezovanju stikal in utripajočih luči za testiranje.

Korak: Konec in nekateri spletni viri

Konec in nekateri spletni viri
Konec in nekateri spletni viri

Namen te vadnice ni, da bi vas naučil uporabljati VHDL. (Pravkar sem se začel učiti, da sem zato ustvaril programerja, se spomnite?) Kljub temu sem našel več zelo koristnih vaj in nekaj koristnih virov, na katere vas lahko usmerim. Povratne informacije in drugi predlogi so zelo cenjeni. Upoštevajte, da lahko uporabite tudi razvojni sistem Ghetto CPLD za učenje Veriloga in drugih programerskih tehnik CPLD, ki jih strojna oprema ne zanima. Viri VHDL na spletu: osnove in nekaj povezav tukaj in tukaj. Povezave do brezplačna orodja. Vadnice, ki so mi všeč, so tu in tukaj, vendar boste našli še veliko drugih. Nazadnje (zaenkrat) boste želeli preveriti skupino za razpravo. Uživajte, se veliko naučite in delite, kar veste.

Priporočena: