INHOUDSOPGAWE:

Ghetto Programmable Logic (CPLD) ontwikkelingstelsel: 13 stappe
Ghetto Programmable Logic (CPLD) ontwikkelingstelsel: 13 stappe

Video: Ghetto Programmable Logic (CPLD) ontwikkelingstelsel: 13 stappe

Video: Ghetto Programmable Logic (CPLD) ontwikkelingstelsel: 13 stappe
Video: Programmable Logic II: Program a CPLD from start to finish. 2024, Julie
Anonim
Ghetto Programmable Logic (CPLD) ontwikkelingstelsel
Ghetto Programmable Logic (CPLD) ontwikkelingstelsel

Ek geniet die afgelope paar maande die Ghetto Development System vir die AVR -verwerkers. Trouens, hierdie instrument van byna nul dollar was so fassinerend en nuttig, dat dit my laat wonder het of dit ook moontlik was om die konsep uit te brei na FPGA/CPLD -ontwikkeling. (FPGA: Field Programmable Gate Array. CPLD: Complex Programmable Logic Device.) So ek het bietjie op die internet gaan soek en met 'n ontwikkelingstelsel vir Atmel CPLD's vorendag gekom. Vergelyking met Altera -toestelle toon aan dat hul uitgangspunt dieselfde is (binne die beperkings wat ek hieronder beskryf), sodat hulle ook werk. Deur die ontwikkelbord en die koppelvlakkabel te bou, sal ek dit aanbied, en dan die gereedskap aflaai, kan u u eie CPLD -toepassings ontwikkel. Let asseblief op die volgende beperkings en beperkings. Ek het probeer om die vermoë en eenvoud te balanseer, sodat u iets kan bou wat u geniet en slegs van 5V -toestelle kan leer. Dit is nie moeilik om die stelsel uit te brei tot bykomende spannings nie (3.3V, 2.5V, 1.8V word ondersteun deur Atmel -toestelle in dieselfde familie), maar dit bemoeilik die ontwikkelingsbord en die programmeringskabel. Kom ons slaan dit vir eers oor. Let daarop dat u slegs 'n 5V -voeding aan die bord moet verskaf. 44 -pins PLCC. Ek het spesifiek die Atmel ATF1504AS geprogrammeer. Die Ghetto CPLD -konsep kan maklik uitgebrei word na ander Atmel -toestelle, maar hierdie toestel lyk na 'n goeie kompromie tussen prys, gebruiksgemak en vermoë. Die konsep moet ook geld vir ander toestelle, soos dié van Altera, Xilinx, Actel, ens. Trouens, die Max7000 -familie EPM7032 en EPM7064 sal in dieselfde sok werk, solank u die 44 -pins PLCC -weergawes gebruik. Tot dusver het ek slegs die Atmel-programmeerkabel gebruik, maar die Altera Byte-Blaster word ondersteun deur die Atmel-sagteware en behoort ook goed te werk. Dit is eintlik 'n bietjie eenvoudiger ontwerp as die Atmel -kabel. (Ek het die Atmel -weergawe gebou en dit werk, so ek het nie die Altera -weergawe probeer nie.) SparkFun bied 'n $ 15 -weergawe van die Altera -kabel aan. Aangesien dit vir beide Atmel en Altera sal werk, beveel ek dit aan. As u met Altera -onderdele gaan ontwikkel, wil u ook die Altera -sagteware kry. Ek het dit nie eintlik probeer nie, maar daar is geen rede waarom ek kan dink dat dit nie sou werk nie. Die snelheid is beperk. Aangesien die Ghetto CPLD -ontwikkelingstelsel gebou is met handbedrading en geen grondvliegtuig nie, moet u nie betroubare werking verwag teen 'n snelheid van meer as 'n paar megahertz nie. Selfs dit is nie gewaarborg dat u kilometers kan wissel nie! As u 'n prototipe -hardeware met 'n grondvlak bou, werk u CPLD natuurlik goed met hoër snelhede. Moet net nie verwag dat dit vinnig in die Ghetto -ontwikkelingstelsel geïnstalleer sal word nie.

Stap 1: Bestel onderdele

Gaan bestel onderdele
Gaan bestel onderdele

U benodig 'n 44-pins plcc-aansluiting, 'n paar ontkoppelingsdoppe, 'n paar ongeprogrammeerde CPLD's, voetstukke vir broodbordverbindings, 'n optrekweerstand en miskien 'n perf board om op te bou. As u iets hiervan in u asblik het, kan u 'n paar dollar bespaar. Hier is Digikey-onderdeelnommers: CONN PLCC SOCKET 44POS TIN PN: 1-822473-4-ND SOCKET IC OPEN FRAME 14POS.3 "PN: 3M5462-ND Aantal: 2SOCKET IC OPEN FRAME 18POS.3 "PN: 3M5464-ND Aantal: 2CAP ELECT 10UF 50V SU BI-POLAR PN: P1280-ND Aantal: 1, C1CAP CER.10UF 50V 20% DISC RAD PN: 478 -4275-1-ND Aantal: 4, C2-C5RES METAALFILM 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 'n Paar dele kan 'n minimum hoeveelheid hê, maar dit moet nogal goedkoop wees. As u 'n paar blinkerligte (stap 8) wil bou of 'n stel skakelaars wil maak (stap 9), wil u miskien bestel hierdie ook. Hou in gedagte dat Digikey 'n minimum van $ 25 het om 'n hanteringskoste te vermy, dus u wil 'n paar ekstra onprogrammeerde CPLD's of 'n AVR -verwerker of twee net vir die plesier kry. Ek beveel aan dat u die Altera -programmeringskabel by SparkFun koop. Hier is die onderdeelnommers. Kry ook die kabel en aansluiting. (Anders, bestel onderdele vir die kabel van Digikey as u u eie bou.) Altera FPGA-versoenbare programmeerder PN: PGM-087052x5 Pin IDC-lintkabel PN: PRT-085352x5 Pin Shrouded Header PN: PRT-08506

Stap 2: Kry en installeer sagteware

Kry en installeer sagteware
Kry en installeer sagteware

Ek gebruik tans die Atmel Prochip Designer 5.0 -werktuigketting. Hierdie instrument vereis dat u by Atmel registreer en hul amptelike versoekvorm invul. Ek het vir hulle gesê ek is 'n ontwerpingenieur, tans werkloos, en my hoofdoel was om hul toestelle en VHDL (alles waar, BTW) te leer. Hulle het die lisensieversoek goedgekeur. Die enigste voordeel is dat die lisensie slegs ses maande lank goed is. Ek hoop om 'n gereedskapsketting vir die publieke domein te vind teen die tyd dat dit verstryk. Altera het ook 'n gereedskapsketting wat ek kan besoek. Enige voorstelle sal waardeer word. Sien kommentaar en skakels in die laaste stap. Die Atmel Prochip Designer 5.0 is hier. As u dit kry, moet u ook die Service Pack 1 daarvoor kry.

Stap 3: Maak 'n programmeerkabel

Maak programmeerkabel
Maak programmeerkabel

Die maklikste benadering hier is om die Altera Byte-Blaster op dieselfde manier by Sparkfun te koop (sien stap 1). As $ 15 meer is as wat u wil bestee, kan u die SparkFun Altera-kabelskema gebruik of die Atmel-kabelskema gebruik en 'n krasbou-een gebruik. (As daar baie belangstelling is om die kabel te krap, kan ek 'n paar voorstelle bied, maar die Sparkfun-kit lyk vir my die regte antwoord.)

Stap 4: Maak programmeerder wieg

Maak programmeerder wieg
Maak programmeerder wieg
Maak programmeerder wieg
Maak programmeerder wieg
Maak programmeerder wieg
Maak programmeerder wieg

Kyk na die Atmel -programmeerder. Dit is baie buigsaam en is 'n uitstekende opsie as u geld verdien en baie CPLD -ontwikkeling wil doen. Altera bied iets soortgelyks aan, glo ek. Maar ek het met 'n goedkoper benadering gegaan - dit is waaroor dit gaan! Die foto's toon voor- en agterkant van die wieg wat ek gebou het. Let op die DIP -voetstukke wat as broodbordverbindings gebruik word. Alle penne aan die een kant van elke aansluiting is met die grond verbind; penne aan die ander kant verbind met seinpenne op die CPLD. Ek het ook 'n paar kragverbindings ingesluit; sit dit in waar dit pas. Die diagramme is 'n soort skets; slegs die ekstra kragverbindings word nie getoon nie. Kyk na die prente vir idees hieroor.

Stap 5: Bou van die wieg - Deel 1

Die bou van die wieg - Deel 1
Die bou van die wieg - Deel 1
Die bou van die wieg - Deel 1
Die bou van die wieg - Deel 1

Begin met die bou van die houer deur die voetstukke op die plekke te plaas waar u dit wil hê. Laat 'n leë ry of twee toe sodat daar ruimte is vir die ontkoppelingskappe. Dit maak dit ook makliker om aan te sluit op die CPLD -seinpennetjies. Bevestig die voetstukke met 'n bietjie soldeer of epoxy, afhangende van die tipe perfboard wat u gebruik. Laat ekstra ruimte aan die bokant (bo pen 1 van die CPLD -aansluiting) bo -op die JTAG -aansluiting en die kragaansluiting. Verwys na die foto's van die een wat ek gebou het. Ryg 'n kaal draad (ongeveer 20 meter) om die buitekant van die voetstukke vir 'n grondbus. Ry ook die kragbus. (Die rooi draad op die foto's.) Raadpleeg die foto's vir leiding, maar u bord sal waarskynlik 'n bietjie anders wees - en dit is goed. Soldeer die buitepennetjies van die voetstukke aan die grondbus. Dit sal help om die busdraad te veranker.

Stap 6: Bou van die wieg - Deel 2

Die bou van die wieg - Deel 2
Die bou van die wieg - Deel 2
Die bou van die wieg - Deel 2
Die bou van die wieg - Deel 2

Installeer die ontkoppelingsdoppies en koppel dit aan die grond en kragpenne aan elke kant van die CPLD -aansluiting. Ek stel voor dat die drade op en oor die buitenste rye penne gelei word om die binneste rye te bereik. Raadpleeg die pennaaldiagramme om die korrekte penne te kry - die uitsteeksel van die CPLD -aansluiting is verre van duidelik. Laat genoeg ruimte om verbinding te maak met die penne waaroor u die drade lei. Sluit die krag- en grondbus aan sodra die dopverbindings voltooi is. Al die rooi penne op die diagramme is Vcc en moet verbind word. Die swart penne is gemaal en moet ook verbind word. Weereens, dit is 'n goeie benadering om dit in die lug te stuur. Kyk na die prente vir idees.

Stap 7: Die bou van die wieg - gevolgtrekking

Die bou van die wieg - Gevolgtrekking
Die bou van die wieg - Gevolgtrekking
Die bou van die wieg - Gevolgtrekking
Die bou van die wieg - Gevolgtrekking
Die bou van die wieg - Gevolgtrekking
Die bou van die wieg - Gevolgtrekking

Lei die JTAG -verbindings na die regte penne. Kyk na u programmeerkabel om seker te maak dat die aansluiting korrek gerig is. Moenie vergeet van die optrek op die TDO-pen nie. Dit word slegs op die foto getoon en gaan tussen die TDO -pen en Vcc. Die laaste stap is om elke I/O -pen van die CPLD aan 'n pen op die voetstukke te koppel. Gebruik die getalle in die diagramme vir die verbindings. Dit neem die langste tyd! As u my nommerskema volg, kan u die Top View -diagram as 'n riglyn gebruik wanneer u u stroombane aansluit. U hoef regtig nie eers al hierdie dinge aan te sluit nie; u kan wag totdat u dit benodig vir die stroombane wat u ontwerp. Gaan u werk deeglik na. Maak seker dat krag en grond nie kortkom nie!

Stap 8: Maak Blinkenlights (TTL -weergawe)

Maak blinkenlights (TTL -weergawe)
Maak blinkenlights (TTL -weergawe)

U sal natuurlik u stroombane wil sien werk. U sal dus 'n paar blinkers wil hê (beroemd gemaak deur The Real Elliot). Die enigste voordeel is dat CPLD's nie die stewige uitsette het wat die AVR -verwerkers het nie. Gebruik LED's wat vir 10ma geklassifiseer is en gebruik 1KOhm -reeks weerstande. Dit gee u duidelike uitsetseine sonder om die CPLD -uitsette te belas.

Stap 9: Skakel oor

Maak skakelaars
Maak skakelaars
Maak skakelaars
Maak skakelaars

Om 'n stimulus vir u stroombane te bied, benodig u 'n paar skakelaars. U het hier 'n paar opsies, maar die vereistes is anders as vir AVR -verwerkers. Die CPLD-uitsette het nie die ingeboude pull-ups nie, en dit is nie so maklik om sagteware uit te skakel nie. (Dit is moontlik, maar benodig hulpbronne wat u waarskynlik in u stroombane wil gebruik.) Die getoonde DIP -skakelaars bied verskeie skakelaars in 'n gerieflike pakket, maar moet opgetrek word. Ek het 1K pull-up gebruik. Push-knoppies kan gemaak word met behulp van die kring wat Atmel aanbeveel vir hul demo bord. 'N Ander skema is op bladsy 36. 'n Ander opsie is om 'n AVR -verwerker aan te sluit om stimuli te verskaf - en selfs die reaksies na te gaan. Maar dit is 'n oefening wat die student oorlaat.

Stap 10: Skep u eerste stroombaan

Skep u eerste stroombaan
Skep u eerste stroombaan
Skep u eerste stroombaan
Skep u eerste stroombaan

Teen hierdie tyd moes u die sagteware verkry en geïnstalleer het. Volg die deeglike, gedetailleerde handleiding om u eerste eenvoudige CPLD-kring te skep (twee-ingang EN hek; word nie veel eenvoudiger nie). Kies die regte toestel (44 -pins PLCC, 5V, 1504AS [besonderhede]) en kies I/O -pennommers wat beskikbaar is (ek gebruik 14 en 16 as insette; 28 as uitset). Hierdie besonderhede verskil effens van die tutoriaal, maar dit moet u nie moeilik maak nie.

Stap 11: Programeer u eerste CPLD

Programeer jou eerste CPLD
Programeer jou eerste CPLD
Programeer jou eerste CPLD
Programeer jou eerste CPLD

Sluit u programmeringskabel aan op die parallelle poort van u rekenaar, koppel dit aan u programmeerderhouer, koppel 5 volt aan op die aansluiting en volg die handleiding om u heel eerste CPLD te programmeer. Kies die korrekte weergawe van die kabel. Let daarop dat die Altera Byte-Blaster een van die opsies is.

Stap 12: Toets u geprogrammeerde deel

Toets u geprogrammeerde deel!
Toets u geprogrammeerde deel!
Toets u geprogrammeerde deel!
Toets u geprogrammeerde deel!

Ontkoppel u programmeerkabel van die houer. Steek die skakelaars en blinkerligte in die regte penne, skakel die krag aan en probeer dit. Aangesien u met 'n eenvoudige kring begin, is toetsing nie 'n groot uitdaging nie. As dit werk, is jy aan die gang! Die diagram bo -aan sal u help om u skakelaars en blinkenligte aan te sluit vir toetsing.

Stap 13: Die einde en 'n paar webbronne

Die einde en 'n paar webbronne
Die einde en 'n paar webbronne

Dit is nie die doel van hierdie tutoriaal om u te leer hoe om VHDL te gebruik nie. (Ek het net begin leer, daarom het ek die programmeerder geskep? Terugvoer en ander voorstelle word baie waardeer. Let daarop dat u ook die Ghetto CPLD -ontwikkelingstelsel kan gebruik om Verilog en ander CPLD -programmeringstegnieke te leer, wat die hardeware nie omgee nie. gratis gereedskap. Tutoriale waarvan ek hou, is hier en hier, maar u sal baie ander vind. Uiteindelik (vir eers) wil u die besprekingsgroep besoek. Geniet, leer baie en deel wat u weet.

Aanbeveel: