Sisällysluettelo:
- Vaihe 1: Tilaa osat
- Vaihe 2: Hanki ja asenna ohjelmisto
- Vaihe 3: Tee ohjelmointikaapeli
- Vaihe 4: Tee ohjelmointiteline
- Vaihe 5: Kehikon rakentaminen - Osa 1
- Vaihe 6: Kehikon rakentaminen - Osa 2
- Vaihe 7: Kehikon rakentaminen - Johtopäätös
- Vaihe 8: Tee vilkkuvalot (TTL -versio)
- Vaihe 9: Tee kytkimet
- Vaihe 10: Luo ensimmäinen piiri
- Vaihe 11: Ohjelmoi ensimmäinen CPLD
- Vaihe 12: Testaa ohjelmoitu osa
- Vaihe 13: Loppu ja joitain verkkoresursseja
Video: Ghetto Programmable Logic (CPLD) -kehitysjärjestelmä: 13 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:04
Olen nauttinut AVR -prosessorien Ghetto Development Systemistä viime kuukausien aikana. Itse asiassa tämä lähes nollan dollarin työkalu on osoittautunut niin kiehtovaksi ja hyödylliseksi, että se sai minut miettimään, olisiko mahdollista laajentaa konsepti myös FPGA/CPLD -kehitykseen. (FPGA: Kenttäohjelmoitava porttijärjestelmä. CPLD: Monimutkainen ohjelmoitava logiikkalaite.) Joten kaivoin hiukan verkkoa ja keksin Atmel CPLD -laitteiden kehittämisjärjestelmän. Vertailu Altera -laitteisiin osoittaa, että niiden pinout on sama (alla yksityiskohtaisten rajoitusten rajoissa), joten ne toimivat myös. Rakentamalla esittelemäni kehityskortin ja liitäntäkaapelin ja lataamalla työkalut voit kehittää omia CPLD -sovelluksiasi. Huomaa seuraavat rajoitukset. Olen yrittänyt tasapainottaa valmiuksia ja yksinkertaisuutta, jotta voit rakentaa jotain, josta nautit ja opit vain 5 V: n laitteista. Järjestelmän laajentaminen kattamaan ylijännitteet (3,3 V, 2,5 V, 1,8 V tukevat saman perheen Atmel -laitteita) ei ole vaikeaa, mutta se vaikeuttaa sekä kehityskorttia että ohjelmointikaapelia. Ohitetaan se nyt. Huomaa, että kortille on toimitettava 5 V: n syöttö. Vain 44 -nastainen PLCC. Erityisesti olen ohjelmoinut Atmel ATF1504AS: n. Ghetto CPLD -konsepti voidaan laajentaa helposti muihin Atmel -laitteisiin, mutta tämä laite vaikutti hyvältä kompromissilta hinnan, helppokäyttöisyyden ja suorituskyvyn välillä. Konseptin pitäisi ulottua myös muihin laitteisiin, kuten Alteran, Xilinxin, Actelin jne. Laitteisiin. Itse asiassa Max7000 -sarja EPM7032 ja EPM7064 toimivat samassa pistorasiassa niin kauan kuin käytät 44 -nastaisia PLCC -versioita. Toistaiseksi olen käyttänyt vain Atmel-ohjelmointikaapelia, mutta Attera-ohjelmisto tukee Altera Byte-Blasteria, ja sen pitäisi myös toimia hyvin. Se on itse asiassa hieman yksinkertaisempi muotoilu kuin Atmel -kaapeli. (Rakensin Atmel -version ja se toimii, joten en ole kokeillut Altera -versiota.) SparkFun tarjoaa 15 dollarin version Altera -kaapelista. Koska tämä toimii sekä Atmelille että Alteralle, suosittelen sitä. Jos aiot kehittää Altera -osia, sinun kannattaa hankkia myös Altera -ohjelmisto. En ole itse kokeillut tätä, mutta ei ole mitään syytä ajatella, että se ei toimisi. Nopeus on rajoitettu. Koska Ghetto CPLD -kehitysjärjestelmä on rakennettu käsijohdotuksella ja ilman maatasoa, älä odota luotettavaa toimintaa muutaman megahertsin nopeuksilla. Vaikka tämä ei ole taattu, kilometrimäärä voi vaihdella! Tietenkin, jos rakennat prototyyppilaitteiston, jossa on maataso, CPLD -laitteesi voi toimia hienosti suuremmilla nopeuksilla. Älä vain odota, että se menee nopeasti asennettuna Ghetto Development System -järjestelmään.
Vaihe 1: Tilaa osat
Tarvitset 44-nastaisen plcc-pistorasian, joitain irrotuskorkkeja, joitain ohjelmoimattomia CPLD-levyjä, pistorasioita leipälautaliitäntöjä varten, vetovastusvastuksen ja ehkä jonkin perf-levyn, johon voit rakentaa sen. Jos sinulla on tämä roskapostissasi, voit säästää muutaman dollarin. Tässä on sinulle Digikeyn osanumerot: CONN PLCC SOCKET 44POS TIN PN: 1-822473-4-ND SOCKET IC OPEN FRAME 14POS.3 "PN: 3M5462-ND Määrä: 2SOCKET IC OPEN FRAME 18POS.3 "PN: 3M5464-ND Määrä: 2CAP ELECT 10UF 50V SU BI-POLAR PN: P1280-ND Määrä: 1, C1CAP CER.10UF 50V 20% DISC RAD PN: 478 -4275-1-ND Määrä: 4, C2-C5RES METAL FILM 5,10 K OHM 1/4W 1% PN: P5.10KCACT-ND PC WARD FR4 1-SIDE PPH 4.0X4.0 PN: V2010-ND IC CPLD 64 MACROCELL 10NS 44PLCC PN: ATF1504AS-10JC44-ND Joissakin osissa voi olla vähimmäismääriä, mutta niiden pitäisi silti olla melko halpoja. nämä myös. Muista, että Digikeylla on vähintään 25 dollaria käsittelykulujen välttämiseksi, joten saatat haluta hankkia pari ylimääräistä ohjelmoimatonta CPLD: tä tai AVR -prosessorin tai kaksi huvin vuoksi. Suosittelen ostamaan Altera -ohjelmointikaapelin SparkFunilta. Tässä ovat osanumerot. Hanki myös kaapeli ja liitin. (Muussa tapauksessa tilaa kaapelin osat Digikeyltä, jos rakennat itse.) Altera FPGA -yhteensopiva ohjelmoija PN: PGM-087052x5-nastainen IDC-nauhakaapeli PN: PRT-085352x5-napainen koteloitu otsikko PN: PRT-08506
Vaihe 2: Hanki ja asenna ohjelmisto
Käytän tällä hetkellä Atmel Prochip Designer 5.0 -työkaluketjua. Tämä työkalu edellyttää rekisteröitymistä Atmeliin ja hänen virallisen pyyntölomakkeensa täyttämistä. Kerroin heille, että olin suunnitteluinsinööri, tällä hetkellä työtön, ja ensisijainen tarkoitukseni oli oppia heidän laitteensa ja VHDL (kaikki totta, BTW). He hyväksyivät lisenssipyynnön. Ainoa saalis on, että lisenssi on voimassa vain 6 kuukautta. Toivon löytäväni julkisen työkaluketjun siihen mennessä, kun se vanhenee. Alteralla on myös työkaluketju, jonka voin tarkistaa. Kaikki ehdotukset otetaan huomioon. Katso kommentit ja linkit viimeisessä vaiheessa. Atmel Prochip Designer 5.0 on täällä. Jos saat sen, muista hankkia myös Service Pack 1.
Vaihe 3: Tee ohjelmointikaapeli
Helpoin tapa on ostaa Altera Byte-Blaster -työkalu Sparkfunilta (katso vaihe 1). Jos 15 dollaria on enemmän kuin haluat käyttää, voit käyttää kaaviota SparkFun Altera Cable tai käyttää Atmel Cable -kaaviota ja naarmuuntumista. (Jos kaapelin rakentaminen on erittäin kiinnostavaa, voin ehdottaa joitain ehdotuksia, mutta Sparkfun-pakkaus näyttää minusta oikealta vastaukselta.)
Vaihe 4: Tee ohjelmointiteline
Katso Atmel -ohjelmoijaa. Tämä on erittäin joustava ja loistava vaihtoehto, jos sinulla on rahaa ja aiot tehdä paljon CPLD -kehitystä. Uskon, että Altera tarjoaa jotain vastaavaa. Mutta valitsin halvemman lähestymistavan - tästä on kyse! Kuvissa näkyy rakentamani kehto edestä ja takaa. Huomaa DIP -liittimet, joita käytetään leipälevyn liittiminä. Kaikki liittimien toisella puolella olevat nastat on kytketty maahan; toisella puolella olevat nastat kytkeytyvät CPLD: n signaalitappeihin. Mukana oli myös muutama sähköliitäntä; laita nämä sinne, minne ne sopivat. Kaaviot ovat eräänlaisia kuvallisia kaavioita; vain lisävirtaliitäntöjä ei näytetä. Katso kuvista ideoita näihin.
Vaihe 5: Kehikon rakentaminen - Osa 1
Aloita telineen rakentaminen asettamalla pistorasiat haluamiisi paikkoihin. Jätä tyhjä rivi tai kaksi, jotta irrotuskorkille jää tilaa. Tämä helpottaa myös yhteyden muodostamista CPLD -signaalitappeihin. Anna ylimääräistä tilaa ylhäällä (CPLD -liitännän nastan 1 yläpuolella) JTAG -liittimelle ja virtaliittimelle. Reititä paljain johdin (20 gauge tai noin) maadoitusväylän pistorasioiden ulkopuolelle. Reititä myös power bussi. (Kuvissa oleva punainen johto.) Katso ohjeita saadaksesi kuvista, mutta korttisi on todennäköisesti hieman erilainen - ja se on hieno. Tämä auttaa kiinnittämään väyläjohdon.
Vaihe 6: Kehikon rakentaminen - Osa 2
Asenna irrotuskorkit ja kytke ne CPLD -pistorasian kummallakin puolella oleviin maadoitus- ja virtatappeihin. Ehdotan, että johdot johdetaan ylös ja ylimpään tapin ulkoriviin, jotta saavutetaan sisäiset rivit. Katso nastanumerokaaviot saadaksesi oikeat nastat - CPLD -pistorasian nasta on kaukana ilmeisestä. Jätä tarpeeksi tilaa, jotta voit liittää kaikki nastat, joiden kautta johdot kulkevat. Kun suojakytkennät on tehty, kytke virta- ja maaväylä. Kaikki kaavioiden punaiset nastat ovat Vcc ja ne on kytkettävä. Mustat nastat on maadoitettu ja ne on myös kytkettävä. Jälleen sen reitittäminen ilmaan on hyvä lähestymistapa. Katso ideoita kuvista.
Vaihe 7: Kehikon rakentaminen - Johtopäätös
Reititä JTAG -liitännät oikeisiin nastoihin. Katso ohjelmointikaapelia varmistaaksesi, että liitin on suunnattu oikein. Älä unohda TDO-tapin vetämistä. Tämä näkyy vain kuvassa ja kulkee TDO -nastan ja Vcc: n välillä. Käytä liitäntöjen kaavioiden numeroita. Tämä kestää pisimpään! Jos noudatat numerointisuunnitelmaani, voit käyttää ylhäältä katsottuna kaaviota oppaana kytkiessäsi piirejäsi. Sinun ei todellakaan tarvitse kytkeä kaikkia näitä aluksi voit odottaa, kunnes tarvitset niitä suunnitelluille piireille. Tarkista työsi huolellisesti. Varmista, että sähkö ja maa eivät ole oikosulussa!
Vaihe 8: Tee vilkkuvalot (TTL -versio)
Haluat tietysti nähdä piirisi toimivan. Joten haluat vilkkua (The Real Elliot teki tunnetuksi). Ainoa saalis on, että CPLD -laitteilla ei ole AVR -prosessoreiden vahvoja lähtöjä. Käytä 10 mA: n LED -valoja ja käytä 1KOhm -sarjan vastuksia. Nämä antavat sinulle selkeitä lähtösignaaleja rasittamatta CPLD -lähtöjä.
Vaihe 9: Tee kytkimet
Piirien stimuloimiseksi tarvitset joitain kytkimiä. Tässä on joitain vaihtoehtoja, mutta vaatimukset ovat erilaiset kuin AVR -prosessoreille. CPLD-lähdöissä ei ole sisäänrakennettua vetoa, eikä ohjelmiston poistaminen ole niin helppoa. (Se on mahdollista, mutta vaatii resursseja, joita haluat todennäköisesti käyttää piireissäsi.) Näytetyt DIP -kytkimet tarjoavat useita kytkimiä kätevässä paketissa, mutta ne on vedettävä ylös. Käytin 1K-pull-up-painikkeita. Painikkeita voidaan valmistaa käyttämällä piiriä, joita Atmel suosittelee demokortilleen. Kaavioita on sivulla 36 tai toinen vaihtoehto on kytkeä AVR -prosessori ärsykkeiden tarjoamiseksi - ja jopa tarkistaa vastaukset. Mutta se on harjoitus, joka jää opiskelijan tehtäväksi.
Vaihe 10: Luo ensimmäinen piiri
Tähän mennessä sinun olisi pitänyt hankkia ja asentaa ohjelmisto. Seuraa perusteellista, yksityiskohtaista opetusohjelmaa luodaksesi ensimmäisen yksinkertaisen CPLD-piirisi (kaksituloinen JA-portti; ei tule paljon yksinkertaisemmaksi). Muista valita oikea laite (44 -nastainen PLCC, 5 V, 1504AS [tiedot]) ja valita käytettävissä olevat I/O -nastanumerot (käytin tuloja 14 ja 16; lähtöinä 28). Nämä yksityiskohdat poikkeavat hieman opetusohjelmasta, mutta niiden ei pitäisi aiheuttaa sinulle ongelmia.
Vaihe 11: Ohjelmoi ensimmäinen CPLD
Kytke ohjelmointikaapeli tietokoneesi rinnakkaisporttiin, kytke se ohjelmointitelineeseen, kytke 5 volttia virtaliittimeen ja seuraa opetusohjelmaa ensimmäisen CPLD -laitteen ohjelmointiin. Valitse oikea kaapeliversio. Huomaa, että Altera Byte-Blaster on yksi vaihtoehdoista.
Vaihe 12: Testaa ohjelmoitu osa
Irrota ohjelmointikaapeli telineestä. Kytke kytkimet ja vilkkuvalot oikeisiin nastoihin, kytke virta päälle ja kokeile sitä. Koska aloitat yksinkertaisella piirillä, testaus ei ole suuri haaste. Jos se toimii, olet käynnissä! Ylhäältä tuleva kaavio opastaa kytkimien ja vilkkuvalojen liittämisessä testausta varten.
Vaihe 13: Loppu ja joitain verkkoresursseja
Tämän opetusohjelman tarkoituksena ei ole opettaa sinulle VHDL: n käyttöä. (Olen vasta alkanut oppia, siksi loin ohjelmoijan, muistatko?) Siitä huolimatta olen löytänyt useita erittäin hyödyllisiä opetusohjelmia ja hyödyllisiä resursseja, joihin voin osoittaa sinut. Huomaa, että voit myös käyttää Ghetto CPLD -kehitysjärjestelmää Verilogin ja muiden CPLD -ohjelmointitekniikoiden oppimiseen, laitteisto ei välitä. ilmaisia työkaluja. Harjoitukset, joista pidän, ovat täällä ja täällä, mutta löydät paljon muita. Lopuksi (toistaiseksi) haluat tarkistaa keskusteluryhmän. Nauti, opi paljon ja jaa tietämäsi.
Suositeltava:
Arduino UNO Logic Sniffer: 8 vaihetta (kuvilla)
Arduino UNO Logic Sniffer: Tämä projekti alkoi yksinkertaisena kokeiluna. Tutkiessani ATMEGA328P: n tietolomaketta toiseen projektiin löysin jotain melko mielenkiintoista. Ajastimen 1 tulon sieppausyksikkö. Sen avulla Arduino UNO: n mikro -ohjain voi havaita signaalin
Raspberry Pi Logic Chip Tester: 4 vaihetta
Raspberry Pi Logic Chip Tester: Tämä on Raspberry pi: n logiikkatestauskomento, jonka avulla voit tarkistaa, toimiiko (itse tehty) logiikkapiiri. Tätä komentosarjaa voidaan käyttää myös releiden testaamiseen. tukee 5v GPIO -tuloja, joten jos piirisi ulostulot ovat 5V
Arduino Nano Logic Probe: 17 vaihetta (kuvilla)
Arduino Nano Logic Probe: Tämä projekti on uusi versio Arduino Logic Probe -laitteestani, mutta se on nyt rakennettu Arduino Nano -laitteella Arduino Unon sijasta. Kolminumeroinen näyttö, muutama vastus ja Arduino Nano ovat käytännössä tämän mielenkiintoisen projektin komponentteja, jotka
PUZZLE - Arduino Logic Game: 3 vaihetta
PUZZLE - Arduino Logic Game: Hei. Haluaisin kertoa teille yksinkertaisen pulmapelin & Puzzle " käyttämällä Arduino UNO: ta ja TFT-Shieldiä. Pelin luomiseen tarvitsin seuraavat komponentit: Arduino UNO -virtasovitin (AC-DC) 6-12V Arduino UNO Micro
Dual Logic Transistor Gates: 10 vaihetta
Dual Logic Transistor Gates: Rakennan transistoriportteja hieman eri tavalla kuin useimmat muut elektroniikkainsinöörit. Useimmat ihmiset rakentavat transistoriportteja; rakentaa ne vain positiivista logiikkaa ajatellen, IC -porteilla on kuitenkin kaksi logiikkaa, positiivinen logiikka ja negatiivinen logiikka. A