Sadržaj:

Razvojni sistem Geto programabilne logike (CPLD): 13 koraka
Razvojni sistem Geto programabilne logike (CPLD): 13 koraka

Video: Razvojni sistem Geto programabilne logike (CPLD): 13 koraka

Video: Razvojni sistem Geto programabilne logike (CPLD): 13 koraka
Video: Part 2: Мордор превращается в гетто на 50 лет / Спасти генерала Залужного // №383/2 - Юрий Швец 2024, Juli
Anonim
Razvojni sistem Geto programabilne logike (CPLD)
Razvojni sistem Geto programabilne logike (CPLD)

Proteklih nekoliko meseci uživao sam u Ghetto Development System -u za AVR procesore. Zapravo, ovaj alat od gotovo nula dolara pokazao se toliko fascinantnim i korisnim da sam se zapitao je li moguće proširiti koncept i na razvoj FPGA/CPLD -a. (FPGA: Field Programmable Gate Array. CPLD: Complex Programmable Logic Device.) Pa sam malo kopao po webu i smislio razvojni sistem za Atmel CPLD. Usporedba s Altera uređajima pokazuje da im je ispis isti (unutar ograničenja koja sam detaljno opisao u nastavku), pa će i oni raditi. Izgradnjom razvojne ploče i kabela sučelja koji ću predstaviti, a zatim preuzimanjem alata, možete razviti vlastite CPLD aplikacije. Imajte na umu sljedeća ograničenja i ograničenja. Pokušao sam uravnotežiti mogućnosti i jednostavnost kako biste mogli izgraditi nešto u čemu ćete uživati i naučiti samo na uređajima od 5 V. Proširenje sistema na dodatne napone (3.3V, 2.5V, 1.8V podržavaju Atmel uređaji iz iste porodice) nije teško, ali komplicira razvojnu ploču i programski kabel. Za sada preskočimo. Imajte na umu da na ploči morate osigurati napajanje od 5 V. Samo 44 -polni PLCC. Konkretno, programirao sam Atmel ATF1504AS. Koncept Ghetto CPLD može se lako proširiti na druge Atmel uređaje, ali činilo se da je ovaj uređaj dobar kompromis između cijene, jednostavnosti korištenja i mogućnosti. Koncept bi se trebao proširiti i na druge uređaje, poput onih iz Altera, Xilinx, Actel itd. U stvari, porodice Max7000 EPM7032 i EPM7064 će raditi u istoj utičnici sve dok koristite 44 -pin PLCC verzije. Do sada sam koristio samo programski kabel Atmel, ali Altera Byte-Blaster podržava Atmel softver i također bi trebao raditi. Zapravo je malo jednostavnijeg dizajna od Atmel kabela. (Napravio sam Atmel verziju i radi, pa nisam probao verziju Altera.) SparkFun nudi verziju kabla Altera za 15 USD. Budući da će ovo raditi i za Atmel i za Alteru, preporučujem ga. Ako ćete se razvijati sa dijelovima Altera, poželjet ćete nabaviti i softver Altera. Ovo zapravo nisam probao, ali nema razloga da pomislim da ne bi uspio. Brzina je ograničena. Budući da je razvojni sistem Ghetto CPLD izgrađen ručnim ožičenjem i bez uzemljenja, ne očekujte pouzdan rad pri brzinama većim od nekoliko megaherca. Čak ni to nije zagarantovano da vaša kilometraža može varirati! Naravno, ako izgradite prototipni hardver koji ima ravninu uzemljenja, vaš CPLD bi mogao raditi sasvim dobro pri većim brzinama. Samo nemojte očekivati da će se brzo ugraditi u Ghetto Development System.

Korak 1: Idite naručiti dijelove

Idi naručite dijelove
Idi naručite dijelove

Trebat će vam 44-polna plcc utičnica, neki poklopci za odvajanje, neki neprogramirani CPLD-ovi, utičnice za povezivanje matične ploče, pull-up otpornik i možda neka perf ploča za nadogradnju. Ako imate nešto od ovoga u kutiji za smeće, možete uštedjeti nekoliko dolara. Radi vaše udobnosti, evo Digikey brojeva dijelova: CONN PLCC UTICAČICA 44POS TIN PN: 1-822473-4-ND UTIKNICA 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 METALNI FILM 5.10K OHM 1/4W 1% PN: P5.10KCACT-ND PLASTICA ZA PC FR4 1-STRANA PPH 4.0X4.0 PN: V2010-ND IC CPLD 64 MACROCELL 10NS 44PLCC PN: ATF1504AS-10JC44-ND Nekoliko dijelova može imati minimalne količine, ali bi ipak trebalo biti prilično jeftino. Ako želite izgraditi neka blinkajuća svjetla (korak 8) ili napraviti niz prekidača (korak 9), možda ćete željeti naručiti i ove takođe. Imajte na umu da Digikey ima minimum od 25 USD kako bi izbjegao troškove rukovanja, pa biste možda htjeli nabaviti nekoliko dodatnih ne programiranih CPLD -ova ili AVR procesor ili dva samo za zabavu. Preporučujem da kupite programski kabel Altera od SparkFuna. Evo brojeva dijelova. Uzmite i kabel i konektor. (U suprotnom, naručite dijelove za kabel od Digikey-a ako sami gradite.) Altera FPGA kompatibilan programer PN: PGM-087052x5 Pin IDC vrpčasti kabel PN: PRT-085352x5 Zaglavlje sa zakrivljenim pinom PN: PRT-08506

Korak 2: Nabavite i instalirajte softver

Nabavite i instalirajte softver
Nabavite i instalirajte softver

Trenutno koristim lanac alata Atmel Prochip Designer 5.0. Ovaj alat zahtijeva da se registrirate u Atmelu i ispunite službeni obrazac zahtjeva. Rekao sam im da sam inženjer dizajna, trenutno nezaposlen, i da mi je primarna svrha naučiti njihove uređaje i VHDL (sve istina, BTW). Odobrili su zahtjev za dozvolu. Jedina začkoljica je da je licenca dobra samo 6 mjeseci. Nadam se da ću pronaći lanac alata u javnoj domeni do isteka. Altera također ima lanac alata koji mogu provjeriti. Svi prijedlozi će biti cijenjeni. Pogledajte komentare i veze u posljednjem koraku. Atmel Prochip Designer 5.0 je ovdje. Ako ga nabavite, obavezno nabavite i servisni paket 1 za njega.

Korak 3: Napravite kabel za programiranje

Napravite kabl za programiranje
Napravite kabl za programiranje

Najjednostavniji pristup ovdje je kupiti slično djelovanje Altera Byte-Blaster od Sparkfuna (pogledajte korak 1). Ako je 15 USD više nego što želite potrošiti, tada možete upotrijebiti shemu kabela SparkFun Altera ili shemu Atmel kabela i izraditi je. (Ako postoji veliko zanimanje za izradu kabela od ogrebotina, mogu vam ponuditi neke prijedloge, ali Sparkfun komplet mi se čini kao pravi odgovor.)

Korak 4: Napravite ležište za programere

Napravite ležište za programere
Napravite ležište za programere
Napravite ležište za programere
Napravite ležište za programere
Napravite ležište za programere
Napravite ležište za programere

Pogledajte Atmel programera. Ovo je vrlo fleksibilno i odlična je opcija ako imate para i planirate mnogo raditi na razvoju CPLD -a. Vjerujem da Altera nudi nešto slično. Ali krenuo sam s jeftinijim pristupom - o tome se ovdje radi! Slike prikazuju prednji i stražnji pogled na kolijevku koju sam sagradio. Obratite pažnju na DIP utičnice koje se koriste kao priključci za matičnu ploču. Svi pinovi na jednoj strani svakog konektora su spojeni na masu; pinovi s druge strane spajaju se na signalne pinove na CPLD -u. Uključio sam i nekoliko priključaka za napajanje; stavite ih tamo gde odgovaraju. Dijagrami su svojevrsne slikovne sheme; samo dodatne veze za napajanje nisu prikazane. Za slike o idejama pogledajte slike.

Korak 5: Izgradnja kolevke - 1. dio

Izgradnja kolevke - 1. dio
Izgradnja kolevke - 1. dio
Izgradnja kolevke - 1. dio
Izgradnja kolevke - 1. dio

Počnite graditi ležište umetanjem utičnica na mjesta na kojima ih želite. Dopustite prazan red ili dva kako bi bilo mjesta za odvajanje kapica. Ovo također olakšava spajanje na CPLD signalne pinove. Priključite utičnice s malo lema ili epoksida ovisno o vrsti perf ploče koju koristite. Omogućite dodatni prostor na vrhu (iznad pina 1 CPLD utičnice) za JTAG konektor i konektor za napajanje. Pogledajte slike ove koju sam sagradio. Provucite golu žicu (oko 20 -ak mjerača) oko vanjske strane utičnica za uzemljenje. Usmjerite i sabirnicu napajanja. (Crvena žica na slikama.) Pogledajte slike za neke smjernice, ali vaša ploča će vjerovatno biti malo drugačija - i to je sasvim u redu. Lemite vanjske igle utičnica na sabirnicu za uzemljenje. To će pomoći pri sidrenju žice sabirnice.

Korak 6: Izgradnja kolevke - 2. dio

Izgradnja kolevke - 2. dio
Izgradnja kolevke - 2. dio
Izgradnja kolevke - 2. dio
Izgradnja kolevke - 2. dio

Ugradite kapice za odvajanje i spojite ih na uzemljenje i priključke za napajanje sa svake strane CPLD utičnice. Predlažem usmjeravanje žica prema vanjskim redovima pinova kako bi dosegli unutrašnje redove. Pogledajte dijagrame broja pinova da biste dobili ispravne pinove - pin -out CPLD utičnice nije očigledan. Ostavite dovoljno prostora za povezivanje sa bilo kojim pinovima preko kojih prolazite žice. Kada se povežu poklopci, spojite sabirnicu napajanja i uzemljenja. Svi crveni pinovi na dijagramima su Vcc i trebaju biti povezani. Crne iglice su uzemljene i također ih treba spojiti. Opet, usmjeravanje u zrak je dobar pristup. Za slike pogledajte slike.

Korak 7: Izgradnja kolevke - zaključak

Izgradnja kolevke - Zaključak
Izgradnja kolevke - Zaključak
Izgradnja kolevke - Zaključak
Izgradnja kolevke - Zaključak
Izgradnja kolevke - Zaključak
Izgradnja kolevke - Zaključak

Usmjerite JTAG veze na ispravne pinove. Pogledajte svoj kabl za programiranje kako biste bili sigurni da je konektor pravilno orijentisan. Ne zaboravite na povlačenje TDO pina. Ovo je prikazano samo na slici i ide između TDO pina i Vcc. Zadnji korak je povezivanje svakog I/O pina CPLD -a sa pinom na utičnicama. Za povezivanje koristite brojeve na dijagramima. Ovo traje najduže! Ako slijedite moju shemu numeriranja, tada možete koristiti dijagram Top View kao vodič pri povezivanju vaših krugova. Zaista ne morate u početku spojiti sve ovo, možete pričekati dok vam ne zatrebaju za sklopove koje dizajnirate. Pažljivo proverite svoj rad. Budite sigurni da napajanje i uzemljenje nisu kratki!

Korak 8: Napravite Blinkenlights (TTL verzija)

Napravite Blinkenlights (TTL verzija)
Napravite Blinkenlights (TTL verzija)

Naravno, htjet ćete vidjeti kako vaša kola rade. Dakle, poželjet ćete blinkenlights (proslavio ga je The Real Elliot). Jedina zamjerka je u tome što CPLD -i nemaju jake izlaze koje imaju AVR procesori. Koristite LED diode ocijenjene za 10 mA i otpornike serije 1KOhm. Oni će vam dati jasne izlazne signale bez naprezanja CPLD izlaza.

Korak 9: Napravite prekidače

Napravite prekidače
Napravite prekidače
Napravite prekidače
Napravite prekidače

Da biste osigurali podražaje za svoja kola, trebat će vam neki prekidači. Ovdje imate neke opcije, ali zahtjevi su drugačiji nego za AVR procesore. CPLD izlazi nemaju ugrađene pull-up-ove i nije tako lako odvojiti softver. (Moguće je, ali zahtijeva resurse koje vjerojatno želite koristiti u svojim krugovima.) Prikazani DIP prekidači pružaju nekoliko prekidača u prikladnom pakiranju, ali ih je potrebno povući prema gore. Koristio sam 1K navlake. Tipke se mogu izraditi pomoću kola koje Atmel preporučuje za svoju demo ploču. Sheme se nalaze na stranici 36. ili otprilike. Druga mogućnost je da povežete AVR procesor kako biste osigurali podražaje - pa čak i provjerili reakcije. Ali to je vježba koja ostaje učeniku.

Korak 10: Kreirajte svoj prvi krug

Kreirajte svoj prvi krug
Kreirajte svoj prvi krug
Kreirajte svoj prvi krug
Kreirajte svoj prvi krug

Do tada ste trebali nabaviti i instalirati softver. Slijedite temeljit i detaljan vodič za kreiranje svog prvog jednostavnog CPLD kola (dvo-ulazni AND kapija; ne postaje mnogo jednostavnije). Budite sigurni da ste odabrali ispravan uređaj (44 -pin PLCC, 5V, 1504AS [detalji]) i odabrali dostupne I/O brojeve pinova (koristio sam 14 i 16 kao ulaze; 28 kao izlaz). Ovi detalji se malo razlikuju od vodiča, ali ne bi vam trebali stvarati probleme.

Korak 11: Programirajte svoj prvi CPLD

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

Priključite kabl za programiranje na paralelni port na računaru, priključite ga na postolje za programere, priključite 5 volti na konektor za napajanje i pratite uputstva za programiranje vašeg prvog CPLD -a. Odaberite ispravnu verziju kabla. Imajte na umu da je Altera Byte-Blaster jedna od opcija.

Korak 12: Testirajte svoj programirani dio

Testirajte svoj programirani dio!
Testirajte svoj programirani dio!
Testirajte svoj programirani dio!
Testirajte svoj programirani dio!

Odspojite kabl za programiranje sa postolja. Uključite prekidače i blinkajuće lampice u odgovarajuće pinove, uključite napajanje i isprobajte ga. Budući da započinjete s jednostavnim krugom, testiranje nije veliki izazov. Ako radi, spremni ste za rad! Dijagram s pogledom odozgo vodit će vas pri povezivanju prekidača i bljeskalica za testiranje.

Korak 13: Kraj i neki web resursi

Kraj i neki web resursi
Kraj i neki web resursi

Nije svrha ovog vodiča naučiti vas koristiti VHDL. (Tek počinjem učiti da sam zato stvorio programera, sjećate se?) Rečeno je da sam pronašao nekoliko vrlo korisnih vodiča i neke korisne resurse na koje vas mogu uputiti. Povratne informacije i drugi prijedlozi su jako cijenjeni. Imajte na umu da možete koristiti i Ghetto CPLD razvojni sistem za učenje Verilog -a i drugih tehnika programiranja CPLD -a za koji hardver ne mari. VHDL izvori na webu: osnove i neke veze ovdje i ovdje. besplatni alati. Tutorijali koji mi se sviđaju su ovdje i ovdje, ali pronaći ćete mnogo drugih. Konačno (za sada), htjet ćete provjeriti diskusionu grupu. Uživajte, naučite mnogo i podijelite ono što znate.

Preporučuje se: