Indholdsfortegnelse:

Ghetto Programmable Logic (CPLD) udviklingssystem: 13 trin
Ghetto Programmable Logic (CPLD) udviklingssystem: 13 trin

Video: Ghetto Programmable Logic (CPLD) udviklingssystem: 13 trin

Video: Ghetto Programmable Logic (CPLD) udviklingssystem: 13 trin
Video: Programmable Logic II: Program a CPLD from start to finish. 2024, Juli
Anonim
Ghetto Programmable Logic (CPLD) udviklingssystem
Ghetto Programmable Logic (CPLD) udviklingssystem

I de sidste flere måneder har jeg nydt Ghetto Development System til AVR -processorer. Faktisk har dette værktøj til næsten nul dollar vist sig så fascinerende og nyttigt, at det fik mig til at spekulere på, om det også var muligt at udvide konceptet til FPGA/CPLD -udvikling. (FPGA: Field Programmable Gate Array. CPLD: Complex Programmable Logic Device.) Så jeg gravede lidt på nettet og kom med et udviklingssystem til Atmel CPLD'er. Sammenligning med Altera -enheder viser, at deres pinout er den samme (inden for de begrænsninger, jeg beskriver nedenfor), så de fungerer også. Ved at bygge udviklingsbordet og interfacekablet vil jeg præsentere, og derefter downloade værktøjerne, kan du udvikle dine egne CPLD -applikationer. Bemærk følgende begrænsninger og begrænsninger. Jeg har forsøgt at balancere kapacitet og enkelhed, så du kan bygge noget, som du vil nyde og kun lære af. 5V -enheder. Det er ikke svært at udvide systemet til at dække yderligere spændinger (3,3V, 2,5V, 1,8V understøttes af Atmel -enheder i samme familie), men det komplicerer både udviklingskortet og programmeringskablet. Lad os springe det over for nu. Bemærk, at du kun skal levere en 5V -forsyning til kortet. 44 -pins PLCC. Specifikt har jeg programmeret Atmel ATF1504AS. Ghetto CPLD -konceptet kan let udvides til andre Atmel -enheder, men denne enhed virkede som et godt kompromis mellem pris, brugervenlighed og kapacitet. Konceptet bør også omfatte andre enheder, f.eks. Dem fra Altera, Xilinx, Actel osv. Faktisk fungerer Max7000 -familien EPM7032 og EPM7064 i samme stikkontakt, så længe du bruger de 44 benede PLCC -versioner. Indtil videre har jeg kun brugt Atmel-programmeringskablet, men Altera Byte-Blaster understøttes af Atmel-softwaren og burde også fungere fint. Det er faktisk lidt enklere design end Atmel -kablet. (Jeg byggede Atmel -versionen, og den virker, så jeg har ikke prøvet Altera -versionen.) SparkFun tilbyder en version på $ 15 af Altera -kablet. Da dette vil fungere for både Atmel og Altera, anbefaler jeg det. Hvis du vil udvikle dig med Altera -dele, vil du også gerne have Altera -softwaren. Jeg har faktisk ikke prøvet dette, men der er ingen grund til at jeg kan tænke på, at det ikke ville fungere. Hastigheden er begrænset. Da Ghetto CPLD Development System er bygget med håndledninger og ingen jordplan, skal du ikke forvente pålidelig drift ved hastigheder over et par megahertz. Selv det er ikke garanteret, at din kilometertal kan variere! Selvfølgelig, hvis du bygger prototype hardware, der har et jordplan, fungerer dit CPLD muligvis fint ved højere hastigheder. Bare forvent ikke, at det går hurtigt monteret i Ghetto Development System.

Trin 1: Gå til Bestil dele

Gå Bestil dele
Gå Bestil dele

Du skal bruge en 44-pins plcc-fatning, nogle afkoblingshætter, nogle uprogrammerede CPLD'er, stik til brødbrætforbindelser, en pull-up-modstand og måske noget perf-bord til at bygge den på. Hvis du har noget af dette i din skraldespand, kan du spare et par penge. For nemheds skyld er her Digikey-varenumre: CONN PLCC SOCKET 44POS TIN PN: 1-822473-4-ND SOCKET IC OPEN FRAME 14POS.3 "PN: 3M5462-ND Antal: 2SOCKET IC OPEN FRAME 18POS.3 "PN: 3M5464-ND Antal: 2CAP ELECT 10UF 50V SU BI-POLAR PN: P1280-ND Antal: 1, C1CAP CER.10UF 50V 20% DISC RAD PN: 478 -4275-1-ND Antal: 4, C2-C5RES METALFILM 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 Nogle dele kan have minimale mængder, men bør stadig være ret billige. Hvis du vil bygge nogle blinkenlights (trin 8) eller lave et sæt switches (trin 9), kan du bestille også disse. Husk, at Digikey har et minimum på $ 25 for at undgå håndteringsgebyr, så du vil måske få et par ekstra programmerede CPLD'er eller en AVR -processor eller to bare for sjov. Jeg anbefaler, at du køber Altera -programmeringskablet fra SparkFun. Her er varenumrene. Få også kablet og stikket. (Ellers bestil dele til kablet fra Digikey, hvis du bygger din egen.) Altera FPGA-kompatibel programmerer PN: PGM-087052x5 Pin IDC-båndkabel PN: PRT-085352x5 Pin-indhyllet header PN: PRT-08506

Trin 2: Hent og installer software

Hent og installer software
Hent og installer software

Jeg bruger i øjeblikket værktøjskæden Atmel Prochip Designer 5.0. Dette værktøj kræver, at du registrerer dig hos Atmel og udfylder deres officielle anmodningsformular. Jeg fortalte dem, at jeg var designingeniør, i øjeblikket arbejdsløs, og mit primære formål var at lære deres enheder og VHDL (alt sammen sandt, BTW). De godkendte licensanmodningen. Den eneste fangst er, at licensen kun er god i 6 måneder. Jeg håber at finde en værktøjskæde til det offentlige domæne, når den udløber. Altera har også en værktøjskæde, jeg kan tjekke ud. Eventuelle forslag vil blive værdsat. Se kommentarer og links i det sidste trin. Atmel Prochip Designer 5.0 er her. Hvis du får det, skal du også sørge for at få Service Pack 1 til det.

Trin 3: Lav programmeringskabel

Lav programmeringskabel
Lav programmeringskabel

Den nemmeste fremgangsmåde her er at købe Altera Byte-Blaster work-alike fra Sparkfun (se trin 1). Hvis $ 15 er mere, end du har lyst til at bruge, kan du bruge SparkFun Altera-kabelschematisk eller bruge Atmel Cable-skematisk og ridse-bygge en. (Hvis der er stor interesse for at bygge kablet op, kan jeg komme med nogle forslag, men Sparkfun-sættet virker som det rigtige svar for mig.)

Trin 4: Lav programmeringsholder

Lav programmeringsholder
Lav programmeringsholder
Lav programmeringsholder
Lav programmeringsholder
Lav programmeringsholder
Lav programmeringsholder

Tag et kig på Atmel -programmøren. Dette er meget fleksibelt og er en god mulighed, hvis du har penge og planlægger at lave en masse CPLD -udvikling. Altera tilbyder noget lignende, tror jeg. Men jeg gik med en billigere tilgang - det er det, det her handler om! Billederne viser forfra og bagfra den vugge, jeg byggede. Bemærk de DIP -stik, der bruges som brødbrætstik. Alle ben på den ene side af hvert stik er forbundet til jorden; stifter på den anden side tilsluttes til signalstifter på CPLD. Jeg inkluderede også et par strømforbindelser; læg disse ind, hvor de passer. Diagrammerne er en slags billedskema; kun de ekstra strømforbindelser vises ikke. Se billederne for ideer om disse.

Trin 5: Opbygning af vuggen - Del 1

Opbygning af vuggen - del 1
Opbygning af vuggen - del 1
Opbygning af vuggen - del 1
Opbygning af vuggen - del 1

Start med at bygge holderen ved at indsætte stikkontakterne på de steder, hvor du vil have dem. Tillad en ledig række eller to, så der bliver plads til afkoblingshætterne. Dette gør det også lettere at oprette forbindelse til CPLD -signalstifterne. Forankre stikkene med en smule lodde eller epoxy afhængigt af hvilken type perf board du bruger. Tillad ekstra plads øverst (over pin 1 i CPLD -stikket) til JTAG -stikket og strømstikket. Se billederne af den, jeg byggede. Kør en ledning (20 gauge eller deromkring) rundt på ydersiden af stikkene til en jordbus. Kør også strømbussen. (Den røde ledning på billederne.) Se billederne for at få lidt vejledning, men dit bord vil sandsynligvis være lidt anderledes - og det er helt fint. Solder de udvendige ben på stikkene til jordbussen. Dette vil hjælpe med at forankre busledningen.

Trin 6: Opbygning af vuggen - Del 2

Opbygning af vuggen - Del 2
Opbygning af vuggen - Del 2
Opbygning af vuggen - Del 2
Opbygning af vuggen - Del 2

Installer afkoblingshætterne, og tilslut dem til jorden og strømstifter på hver side af CPLD -stikket. Jeg foreslår, at ledningerne føres op og over de ydre stifterækker for at nå de indre rækker. Se stiftenummerdiagrammerne for at få de korrekte stifter - pin -out af CPLD -stikket er langt fra indlysende. Efterlad plads nok til at tillade forbindelse til alle stifter, du sender ledninger over. Når hættetilslutningerne er udført, tilsluttes strøm- og jordbussen. Alle de røde stifter på diagrammerne er Vcc og skal tilsluttes. De sorte stifter er slebet og skal også tilsluttes. Igen er routing det i luften en god tilgang. Se billederne for ideer.

Trin 7: Bygning af vugge - konklusion

Bygning af vuggen - konklusion
Bygning af vuggen - konklusion
Bygning af vuggen - konklusion
Bygning af vuggen - konklusion
Bygning af vuggen - konklusion
Bygning af vuggen - konklusion

Før JTAG -forbindelserne til de korrekte ben. Tag et kig på dit programmeringskabel for at være sikker på, at stikket er rettet korrekt. Glem ikke pull-up på TDO pin. Dette er kun vist på billedet og går mellem TDO pin og Vcc. Det sidste trin er at forbinde hver I/O pin på CPLD til en pin på stikkene. Brug tallene i diagrammerne til forbindelserne. Dette tager længst tid! Hvis du følger mit nummereringsskema, kan du bruge diagrammet ovenfra som en vejledning, når du tilslutter dine kredsløb. Du behøver virkelig ikke tilslutte alle disse i første omgang. Du kan vente, indtil du har brug for dem til de kredsløb, du designer. Tjek dit arbejde omhyggeligt. Sørg for, at strøm og jord ikke er kortsluttet!

Trin 8: Lav blinkenlights (TTL -version)

Lav blinklys (TTL -version)
Lav blinklys (TTL -version)

Du vil selvfølgelig gerne se dine kredsløb fungere. Så du vil have nogle blinkenlights (gjort berømt af The Real Elliot). Den eneste fangst er, at CPLD'er ikke har de kødfulde output, som AVR -processorer har. Brug lysdioder, der er klassificeret til 10ma, og brug 1KOhm -seriens modstande. Disse vil give dig klare outputsignaler uden at belaste CPLD -output.

Trin 9: Lav switches

Lav switches
Lav switches
Lav switches
Lav switches

For at give stimuli til dine kredsløb skal du bruge nogle kontakter. Du har nogle muligheder her, men kravene er anderledes end for AVR -processorer. CPLD-output har ikke de indbyggede pull-ups, og det er ikke så let at gøre debouncing i software. (Det er muligt, men tager ressourcer, du sandsynligvis vil bruge i dine kredsløb.) De viste DIP -switche giver flere kontakter i en praktisk pakke, men skal trækkes op. Jeg brugte 1K pull-up. Push-knapper kan laves ved hjælp af kredsløbet, Atmel anbefaler til deres demotavle. Skemaer er på side 36 eller deromkring. En anden mulighed er at tilslutte en AVR -processor for at give stimuli - og endda kontrollere svar. Men det er en øvelse, der er overladt til eleven.

Trin 10: Opret dit første kredsløb

Opret dit første kredsløb
Opret dit første kredsløb
Opret dit første kredsløb
Opret dit første kredsløb

På dette tidspunkt skulle du have hentet og installeret softwaren. Følg den grundige, detaljerede vejledning for at oprette dit første enkle CPLD-kredsløb (to-input OG gate; bliver ikke meget enklere). Sørg for at vælge den korrekte enhed (44 Pin PLCC, 5V, 1504AS [detaljer]) og vælg I/O pin -numre, der er tilgængelige (jeg brugte 14 og 16 som input; 28 som output). Disse detaljer adskiller sig lidt fra selvstudiet, men bør ikke give dig problemer.

Trin 11: Programmer din første CPLD

Programmer dit første CPLD
Programmer dit første CPLD
Programmer dit første CPLD
Programmer dit første CPLD

Tilslut dit programmeringskabel til parallelporten på din pc, tilslut det til din programmeringsholder, tilslut 5 volt til strømstikket, og følg vejledningen for faktisk at programmere din allerførste CPLD. Vælg den korrekte version af kablet. Bemærk, at Altera Byte-Blaster er en af mulighederne.

Trin 12: Test din programmerede del

Test din programmerede del!
Test din programmerede del!
Test din programmerede del!
Test din programmerede del!

Afbryd dit programmeringskabel fra holderen. Tilslut kontakterne og blinklysene til de korrekte ben, tænd for strømmen, og prøv det. Da du starter med et simpelt kredsløb, er testning ikke en stor udfordring. Hvis det virker, er du i gang! Oversigtsdiagrammet guider dig til at forbinde dine kontakter og blinklys til test.

Trin 13: Slutningen og nogle webressourcer

Slutningen og nogle webressourcer
Slutningen og nogle webressourcer

Det er ikke formålet med denne vejledning at lære dig, hvordan du bruger VHDL. (Jeg er lige begyndt at lære, at det er derfor, jeg har oprettet programmereren, kan du huske?) Når det er sagt, har jeg fundet flere meget nyttige tutorials og nogle nyttige ressourcer, som jeg kan pege dig hen mod. Feedback og andre forslag er meget værdsat. Bemærk, at du også kan bruge Ghetto CPLD Development System til at lære Verilog og andre CPLD -programmeringsteknikker, hardware ikke er ligeglad. VHDL -ressourcer på nettet: Grundlæggende og nogle links her og her. Links til gratis værktøjer. Selvstudier jeg kan lide er her og her, men du finder mange andre. Endelig (for nu) vil du tjekke diskussionsgruppen. Nyd, lær meget og del hvad du ved.

Anbefalede: