Cuprins:

Ghetto Programmable Logic (CPLD) Sistem de dezvoltare: 13 pași
Ghetto Programmable Logic (CPLD) Sistem de dezvoltare: 13 pași

Video: Ghetto Programmable Logic (CPLD) Sistem de dezvoltare: 13 pași

Video: Ghetto Programmable Logic (CPLD) Sistem de dezvoltare: 13 pași
Video: ✨The King's Avatar S1 (Quan Zhi Gao Shou) Full Version [MULTI SUB] 2024, Iulie
Anonim
Ghetto Programmable Logic (CPLD) Sistem de dezvoltare
Ghetto Programmable Logic (CPLD) Sistem de dezvoltare

În ultimele câteva luni mă bucur de Ghetto Development System pentru procesoarele AVR. De fapt, acest instrument de aproape zero dolari s-a dovedit atât de fascinant și util încât m-a făcut să mă întreb dacă ar fi posibil să extind conceptul și la dezvoltarea FPGA / CPLD. (FPGA: Field Programmable Gate Array. CPLD: Complex Programmable Logic Device.) Așa că am făcut câteva săpături pe web și am venit cu un sistem de dezvoltare pentru CPLD-urile Atmel. Comparația cu dispozitivele Altera arată că pinout-ul lor este același (în limitele pe care le detaliu mai jos), așa că vor funcționa și ele. Construind placa de dezvoltare și cablul de interfață pe care le voi prezenta, apoi descărcând instrumentele, vă puteți dezvolta propriile aplicații CPLD. Vă rugăm să rețineți următoarele limitări și restricții. Am încercat să echilibrez capacitatea și simplitatea, astfel încât să puteți construi ceva care să vă bucure și să învățați numai de pe dispozitive de 5 V. Extinderea sistemului pentru a acoperi tensiuni suplimentare (3,3V, 2,5V, 1,8V sunt acceptate de dispozitivele Atmel din aceeași familie) nu este dificilă, dar complică atât placa de dezvoltare, cât și cablul de programare. Să o omitem deocamdată. Rețineți că trebuie să furnizați o sursă de alimentare de 5V la placă. Mai exact, am programat Atmel ATF1504AS. Conceptul Ghetto CPLD poate fi extins cu ușurință la alte dispozitive Atmel, dar acest dispozitiv părea un compromis bun între preț, ușurință în utilizare și capacitate. Conceptul ar trebui să se extindă și la alte dispozitive, cum ar fi cele de la Altera, Xilinx, Actel, etc. Până acum am folosit doar cablul de programare Atmel, dar Altera Byte-Blaster este acceptat de software-ul Atmel și ar trebui, de asemenea, să funcționeze bine. Este de fapt un design puțin mai simplu decât cablul Atmel. (Am construit versiunea Atmel și funcționează, deci nu am încercat versiunea Altera.) SparkFun oferă o versiune de 15 dolari a cablului Altera. Deoarece acest lucru va funcționa atât pentru Atmel, cât și pentru Altera, îl recomand. Dacă veți dezvolta cu piese Altera, veți dori să obțineți și software-ul Altera. De fapt, nu am încercat acest lucru, dar nu există niciun motiv pentru care să mă gândesc că nu ar funcționa. Viteza este limitată. Deoarece sistemul de dezvoltare Ghetto CPLD este construit cu cabluri manuale și fără plan de masă, nu vă așteptați la o funcționare fiabilă la viteze de peste câțiva megaherți. Chiar și asta nu este garantat, kilometrajul dvs. poate varia! Desigur, dacă construiți prototip hardware care are un plan de masă, atunci CPLD-ul dvs. poate funcționa bine la viteze mai mari. Nu vă așteptați să meargă rapid în sistemul de dezvoltare Ghetto.

Pasul 1: Comandați piese de comandă

Comandă piese de comandă
Comandă piese de comandă

Veți avea nevoie de o priză plcc cu 44 de pini, de niște capace de decuplare, de niște CPLD-uri neprogramate, de prize pentru conexiuni de panouri, de un rezistor pull-up și poate de o placă de perfecționare pentru a o construi. Dacă aveți oricare dintre acestea în cutia de gunoi, puteți economisi câțiva dolari. Pentru comoditatea dvs., iată numerele de piese Digikey: CONN PLCC SOCKET 44POS TIN PN: 1-822473-4-ND SOCKET IC OPEN FRAME 14POS.3 "PN: 3M5462-ND Cantitate: 2SOCKET IC CADRU DESCHIS 18POS.3 "PN: 3M5464-ND Cantitate: 2CAP ELECT 10UF 50V SU BI-POLAR PN: P1280-ND Cantitate: 1, C1CAP CER.10UF 50V 20% DISC RAD PN: 478 -4275-1-ND Cantitate: 4, C2-C5RES FILM METALIC 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 Câteva piese pot avea cantități minime, dar ar trebui să fie totuși destul de ieftine. Dacă doriți să construiți câteva lumini intermitente (Pasul 8) sau să faceți un set de comutatoare (Pasul 9), vă recomandăm să comandați și acestea. Rețineți că Digikey are un minim de 25 USD pentru a evita o taxă de manipulare, deci este posibil să doriți să obțineți câteva CPLD-uri extra neprogramate sau un procesor AVR sau două doar pentru distracție. Vă recomandăm să cumpărați cablul de programare Altera de la SparkFun. Iată numerele pieselor. Obțineți și cablul și conectorul. (În caz contrar, comandați piese pentru cablu de la Digikey dacă vă construiți propriile.) Programator compatibil Altera FPGA PN: PGM-087052x5 Pin IDC Ribbon Cable PN: PRT-085352x5 Pin Shrouded Header PN: PRT-08506

Pasul 2: Obțineți și instalați software

Obțineți și instalați software
Obțineți și instalați software

În prezent folosesc lanțul de instrumente Atmel Prochip Designer 5.0. Acest instrument necesită înregistrarea la Atmel și completarea formularului oficial de solicitare. Le-am spus că sunt inginer de proiectare, în prezent șomer, și scopul meu principal era să le învăț dispozitivele și VHDL (totul adevărat, BTW). Au aprobat cererea de licență. Singura captură este că licența este bună doar pentru 6 luni. Sper să găsesc un lanț de instrumente pentru domeniul public până la expirarea acestuia. Altera are, de asemenea, un lanț de instrumente pe care îl pot verifica. Orice sugestie va fi apreciată. Vedeți comentarii și linkuri în ultimul pas. Atmel Prochip Designer 5.0 este aici. Dacă îl obțineți, asigurați-vă că obțineți și pachetul de service 1 pentru acesta.

Pasul 3: Faceți cablul de programare

Realizați un cablu de programare
Realizați un cablu de programare

Cea mai ușoară abordare aici este de a cumpăra Altera Byte-Blaster de la Sparkfun (vezi Pasul 1). Dacă 15 dolari sunt mai mulți decât vrei să cheltuiești, atunci poți folosi schema SparkFun Altera Cable sau folosești schema Atmel Cable și creează-o. (Dacă există un mare interes în construirea cablului prin zgârieturi, vă pot oferi câteva sugestii, dar kitul Sparkfun mi se pare răspunsul corect.)

Pasul 4: Faceți programatorul Cradle

Faceți programator Cradle
Faceți programator Cradle
Faceți programator Cradle
Faceți programator Cradle
Faceți programator Cradle
Faceți programator Cradle

Aruncați o privire la programatorul Atmel. Acest lucru este foarte flexibil și este o opțiune excelentă dacă aveți bani și intenționați să faceți o mulțime de dezvoltare CPLD. Altera oferă ceva similar, cred. Dar am mers cu o abordare mai ieftină - despre asta este vorba! Imaginile prezintă vederi din față și din spate ale leagănului pe care l-am construit. Rețineți prizele DIP folosite ca conectori pentru panouri. Toți pinii de pe o parte a fiecărui conector sunt conectați la masă; pinii de pe cealaltă parte se conectează la pinii de semnal de pe CPLD. Am inclus și câteva conexiuni de alimentare; puneți-le acolo unde se potrivesc. Diagramele sunt un fel de scheme picturale; numai conexiunile de alimentare suplimentare nu sunt afișate. Uită-te la imagini pentru idei despre acestea.

Pasul 5: Construirea leagănului - Partea 1

Construirea leagănului - Partea 1
Construirea leagănului - Partea 1
Construirea leagănului - Partea 1
Construirea leagănului - Partea 1

Începeți să construiți leagănul introducând soclurile în locațiile în care le doriți. Permiteți un rând sau două libere, astfel încât să fie loc pentru capacele de decuplare. Acest lucru facilitează, de asemenea, conectarea la pinii de semnal CPLD. Ancorați prizele cu un pic de lipit sau epoxidic, în funcție de tipul de placă de perfecționare pe care o utilizați. Lăsați spațiu suplimentar în partea de sus (deasupra pinului 1 al soclului CPLD) pentru conectorul JTAG și conectorul de alimentare. Consultați imaginile celei pe care am construit-o. Treceți o sârmă goală (aproximativ 20 gabarit) în jurul exteriorului prizelor pentru un autobuz la sol. Treceți și autobuzul de alimentare. (Firul roșu din imagini.) Consultați imaginile pentru câteva îndrumări, dar placa dvs. va fi probabil puțin diferită - și este bine. Acest lucru va ajuta la ancorarea firului autobuzului.

Pasul 6: Construirea leagănului - Partea 2

Construirea leagănului - Partea 2
Construirea leagănului - Partea 2
Construirea leagănului - Partea 2
Construirea leagănului - Partea 2

Instalați capacele de decuplare și conectați-le la pământ și la pinii de alimentare de pe fiecare parte a prizei CPLD. Vă sugerez să direcționați firele în sus și peste rândurile exterioare de pini pentru a ajunge la rândurile interioare. Consultați diagramele cu numere de pin pentru a obține pinii corecți - pin-out-ul prizei CPLD este departe de a fi evident. Lăsați suficient spațiu pentru a permite conectarea la orice pini peste care treceți firele. După terminarea conexiunilor capacului, conectați magistrala de alimentare și de masă. Toți pinii roșii de pe diagrame sunt Vcc și ar trebui conectați. Știfturile negre sunt împământate și trebuie conectate, de asemenea. Din nou, direcționarea acestuia în aer este o abordare bună. Uită-te la imagini pentru idei.

Pasul 7: Construirea leagănului - Concluzie

Construirea leagănului - Concluzie
Construirea leagănului - Concluzie
Construirea leagănului - Concluzie
Construirea leagănului - Concluzie
Construirea leagănului - Concluzie
Construirea leagănului - Concluzie

Treceți conexiunile JTAG către pinii corecți. Aruncați o privire la cablul de programare pentru a vă asigura că conectorul este orientat corect. Nu uitați de extragerea pinului TDO. Acest lucru este afișat numai în imagine și merge între pinul TDO și Vcc. Ultimul pas este să conectați fiecare pin I / O al CPLD la un pin de pe prize. Utilizați numerele din diagrame pentru conexiuni. Acest lucru durează cel mai mult timp! Dacă urmați schema mea de numerotare, atunci puteți utiliza diagrama Vedere de sus ca ghid atunci când vă conectați circuitele. Chiar nu trebuie să conectați toate acestea inițial, puteți aștepta până când aveți nevoie de ele pentru circuitele pe care le proiectați. Verificați-vă cu atenție munca. Asigurați-vă că alimentarea și împământarea nu sunt scurtcircuitate!

Pasul 8: Faceți Blinkenlights (versiunea TTL)

Creați lumini intermitente (versiunea TTL)
Creați lumini intermitente (versiunea TTL)

Veți dori să vă vedeți circuitele funcționând, desigur. Deci, veți dori niște lumini intermitente (făcute celebre de The Real Elliot). Singura problemă este că CPLD-urile nu au ieșirile puternice pe care le au procesoarele AVR. Utilizați LED-uri clasificate pentru 10ma și utilizați rezistențe din seria 1KOhm. Acestea vă vor oferi semnale de ieșire clare fără a tensiona ieșirile CPLD.

Pasul 9: Faceți comutatoare

Faceți comutatoare
Faceți comutatoare
Faceți comutatoare
Faceți comutatoare

Pentru a oferi stimuli circuitelor dvs., veți avea nevoie de câteva comutatoare. Aici aveți câteva opțiuni, dar cerințele sunt diferite de cele pentru procesoarele AVR. Ieșirile CPLD nu au pull-up-uri încorporate și nu este atât de ușor să faceți debouncing în software. (Este posibil, dar necesită resurse pe care probabil doriți să le utilizați în circuitele dvs.) Comutatoarele DIP afișate oferă mai multe comutatoare într-un pachet convenabil, dar trebuie trase în sus. Am folosit 1K pull-up-uri. Butoanele pot fi realizate folosind circuitul recomandat de Atmel pentru placa lor demo. Schemele sunt la pagina 36. O altă opțiune este să conectați un procesor AVR pentru a oferi stimuli - și chiar să verificați răspunsurile. Dar acesta este un exercițiu lăsat studentului.

Pasul 10: Creați primul dvs. circuit

Creați primul dvs. circuit
Creați primul dvs. circuit
Creați primul dvs. circuit
Creați primul dvs. circuit

În acest moment ar fi trebuit să obțineți și să instalați software-ul. Urmați tutorialul detaliat și detaliat pentru a crea primul dvs. circuit CPLD simplu (poartă ȘI cu două intrări; nu devine mult mai simplă). Asigurați-vă că selectați dispozitivul corect (PLCC cu 44 pini, 5V, 1504AS [detalii]) și alegeți numerele de pin I / O care sunt disponibile (am folosit 14 și 16 ca intrări; 28 ca ieșire). Aceste detalii diferă ușor de tutorial, dar nu ar trebui să vă dea probleme.

Pasul 11: Programați primul dvs. CPLD

Programează-ți primul CPLD
Programează-ți primul CPLD
Programează-ți primul CPLD
Programează-ți primul CPLD

Conectați cablul de programare la portul paralel de pe computer, conectați-l la programatorul Cradle, conectați 5 volți la conectorul de alimentare și urmați tutorialul pentru a programa chiar primul dvs. CPLD. Selectați versiunea corectă a cablului. Rețineți că Altera Byte-Blaster este una dintre opțiuni.

Pasul 12: Testați partea programată

Testați-vă partea programată!
Testați-vă partea programată!
Testați-vă partea programată!
Testați-vă partea programată!

Deconectați cablul de programare de pe suport. Conectați întrerupătoarele și lumina intermitentă la pinii corecți, porniți alimentarea și încercați-o. Deoarece începeți cu un circuit simplu, testarea nu este o mare provocare. Dacă funcționează, ești plecat! Diagrama de vedere de sus vă va ghida în conectarea comutatoarelor și a luminilor intermitente pentru testare.

Pasul 13: Sfârșitul și unele resurse web

Sfârșitul și unele resurse web
Sfârșitul și unele resurse web

Scopul acestui tutorial nu este să vă învăț cum să utilizați VHDL. (Abia încep să învăț de aceea am creat programatorul, vă amintiți?) Acestea fiind spuse, am găsit câteva tutoriale foarte utile și câteva resurse utile spre care vă pot îndrepta. Feedback-ul și alte sugestii sunt foarte apreciate. Rețineți că puteți utiliza, de asemenea, Ghetto CPLD Development System pentru a învăța Verilog și alte tehnici de programare CPLD pe care hardware-ul nu le pasă. instrumente gratuite. Tutorialele care îmi plac sunt aici și aici, dar veți găsi multe altele. În cele din urmă (deocamdată), veți dori să consultați grupul de discuții. Bucurați-vă, aflați multe și împărtășiți ceea ce știți.

Recomandat: