Sisukord:

Ghetto programmeeritava loogika (CPLD) arendussüsteem: 13 sammu
Ghetto programmeeritava loogika (CPLD) arendussüsteem: 13 sammu

Video: Ghetto programmeeritava loogika (CPLD) arendussüsteem: 13 sammu

Video: Ghetto programmeeritava loogika (CPLD) arendussüsteem: 13 sammu
Video: Java Multithreading : AtomicReference, ScheduledExecutorService и монада Either. Многопоточность. 2024, November
Anonim
Ghetto programmeeritava loogika (CPLD) arendussüsteem
Ghetto programmeeritava loogika (CPLD) arendussüsteem

Olen viimased kuud nautinud AVR -protsessorite Ghetto Development Systemi. Tegelikult on see peaaegu null dollari väärtusega tööriist osutunud nii põnevaks ja kasulikuks, et panin mõtlema, kas kontseptsiooni oleks võimalik laiendada ka FPGA/CPLD arendusele. (FPGA: Field Programmable Gate Array. CPLD: Complex Programmable Logic Device.) Niisiis uurisin veidi veebis ja mõtlesin välja Atmeli CPLD -de arendussüsteemi. Võrdlus Altera seadmetega näitab, et nende pinout on sama (allpool kirjeldatud piirangute piires), nii et need töötavad ka. Ehitades välja arendusplaadi ja liidesekaabli, esitan need, seejärel laadides tööriistad alla, saate arendada oma CPLD -rakendusi. Pange tähele järgmisi piiranguid. Olen püüdnud tasakaalustada võimekust ja lihtsust, et saaksite ehitada midagi, mis teile meeldiks ja millest õpiksite. Ainult 5 V seadmed. Süsteemi laiendamine lisapingetele (sama perekonna Atmeli seadmed toetavad 3,3 V, 2,5 V, 1,8 V) ei ole keeruline, kuid raskendab nii arendusplaati kui ka programmeerimiskaablit. Jätame selle praegu vahele. Pange tähele, et peate tahvlile pakkuma 5 V toiteallikat. Ainult 44 -kontaktiline PLCC. Täpsemalt olen programmeerinud Atmel ATF1504AS. Ghetto CPLD kontseptsiooni saab hõlpsasti laiendada ka teistele Atmeli seadmetele, kuid see seade tundus hea kompromiss hinna, kasutusmugavuse ja võimaluste vahel. Mõiste peaks laienema ka teistele seadmetele, nagu näiteks Altera, Xilinx, Actel jne. Tegelikult töötavad Max7000 perekond EPM7032 ja EPM7064 samas pesas seni, kuni kasutate 44 -kontaktilisi PLCC -versioone. Siiani olen kasutanud ainult Atmeli programmeerimiskaablit, kuid Altera Byte-Blasterit toetab Atmeli tarkvara ja see peaks ka hästi töötama. See on tegelikult natuke lihtsam disain kui Atmeli kaabel. (Ma ehitasin Atmeli versiooni ja see töötab, nii et ma pole Altera versiooni proovinud.) SparkFun pakub Altera kaabli 15 -dollarist versiooni. Kuna see töötab nii Atmeli kui ka Altera puhul, soovitan seda. Kui kavatsete arendada koos Altera osadega, soovite hankida ka Altera tarkvara. Ma pole seda tegelikult proovinud, kuid pole põhjust arvata, et see ei tööta. Kiirus on piiratud. Kuna Ghetto CPLD arendussüsteem on ehitatud käsitsi juhtmestiku ja maandustasandita, ärge oodake usaldusväärset tööd kiirusel üle paari megahertsi. Isegi kui see pole garanteeritud, võib teie läbisõit varieeruda! Muidugi, kui ehitate prototüüpi riistvara, millel on maatasapind, võib teie CPLD suurematel kiirustel suurepäraselt töötada. Ärge oodake, et see kiiresti Ghetto arendussüsteemi paigaldatakse.

Samm: tellige osi

Minge tellige osi
Minge tellige osi

Selle ehitamiseks vajate 44 kontaktiga plcc pistikupesa, mõnda lahtiühendamise korki, mõnda programmeerimata CPLD-d, pistikupesa leivaplaadi ühenduste jaoks, tõmbetakistit ja võib-olla mõnda perfoplaati. Kui teil on see oma rämpspostkastis, saate säästa paar dollarit. Teie mugavuse huvides leiate siit Digikey tootenumbrid: CONN PLCC SOCKET 44POS TIN PN: 1-822473-4-ND SOCKET IC OPEN FRAME 14POS.3 "PN: 3M5462-ND Kogus: 2SOCKET IC AVATUD RAAM 18POS.3 "PN: 3M5464-ND Kogus: 2CAP ELECT 10UF 50V SU BI-POLAR PN: P1280-ND Kogus: 1, C1CAP CER.10UF 50V 20% DISC RAD PN: 478 -4275-1-ND Kogus: 4, C2-C5RES METALLFILM 5,10K OHM 1/4W 1% PN: P5.10KCACT-ND PC PLAAT FR4 1-KÜLGINE PPH 4.0X4.0 PN: V2010-ND IC CPLD 64 MACROCELL 10NS 44PLCC PN: ATF1504AS-10JC44-ND Mõnel osal võib olla minimaalne kogus, kuid see peaks siiski olema üsna odav. Kui soovite ehitada mõningaid vilkureid (8. samm) või teha lülitite komplekti (9. samm), võiksite tellida ka need. Pidage meeles, et Digikey minimaalne tasu on 25 dollarit, et vältida käitlustasu, nii et võiksite lõbu pärast hankida paar täiendavat programmeerimata CPLD -d või AVR -protsessori või kaks. Soovitan teil osta SparkFuni Altera programmeerimiskaabel. Siin on osade numbrid. Hankige kaabel ja pistik. (Muidu tellige kaabli osad Digikeyst, kui ehitate oma.) Altera FPGA-ühilduv programmeerija PN: PGM-087052x5 tihvtiga IDC-lintkaabel PN: PRT-085352x5 tihvtiga kaetud päis PN: PRT-08506

Samm: hankige ja installige tarkvara

Hankige ja installige tarkvara
Hankige ja installige tarkvara

Praegu kasutan tööriistaketti Atmel Prochip Designer 5.0. See tööriist nõuab, et registreeruksite Atmeliga ja täidaksite nende ametliku taotlusvormi. Ütlesin neile, et olen projekteerimisinsener, praegu töötu, ja minu peamine eesmärk oli õppida nende seadmeid ja VHDL -i (kõik tõsi, BTW). Nad kiitsid litsentsitaotluse heaks. Ainus asi on see, et litsents kehtib ainult 6 kuud. Loodan, et leian selleks ajaks avaliku omandi tööriistaketi. Alteral on ka tööriistakett, mida ma saan kontrollida. Kõik ettepanekud on teretulnud. Vaadake kommentaare ja linke viimases etapis. Atmel Prochip Designer 5.0 on siin. Kui saate selle, hankige kindlasti ka Service Pack 1.

Samm: valmistage programmeerimiskaabel

Tehke programmeerimiskaabel
Tehke programmeerimiskaabel

Lihtsaim viis on osta Altera Byte-Blaster töölahendus Sparkfunist (vt 1. samm). Kui 15 dollarit on rohkem, kui soovite kulutada, võite kasutada SparkFun Altera kaabli skemaatilist skeemi või kasutada Atmeli kaabli skemaatilist ja nullist ehitamist. (Kui kaabli nullist ülesehitamise vastu on suur huvi, võin pakkuda mõningaid soovitusi, kuid Sparkfuni komplekt tundub mulle õige vastus.)

Samm: valmistage programmeerija häll

Tehke programmeerija häll
Tehke programmeerija häll
Tehke programmeerija häll
Tehke programmeerija häll
Tehke programmeerija häll
Tehke programmeerija häll

Vaadake Atmeli programmeerijat. See on väga paindlik ja suurepärane võimalus, kui teil on raha ja plaanite palju CPLD arendamist teha. Altera pakub midagi sarnast, ma usun. Kuid ma läksin odavama lähenemisega - see on see kõik! Piltidel on minu ehitatud hälli vaated eest ja tagant. Pange tähele DIP -pistikupesasid, mida kasutatakse leivaplaadi pistikutena. Kõik iga pistiku ühel küljel olevad tihvtid on maandusega ühendatud; teisel pool olevad tihvtid ühenduvad CPLD signaalipistikutega. Lisasin ka mõned toiteühendused; pane need sinna, kuhu sobivad. Diagrammid on omamoodi pildiskeemid; ainult lisatoiteühendusi pole näidatud. Ideid selle kohta vaadake piltidelt.

5. samm: hälli ehitamine - 1. osa

Hälli ehitamine - 1. osa
Hälli ehitamine - 1. osa
Hälli ehitamine - 1. osa
Hälli ehitamine - 1. osa

Alustage hälli ehitamist, sisestades pistikupesad soovitud kohtadesse. Lubage vaba rida või kaks, nii et lahtisidumiskorkide jaoks oleks ruumi. See hõlbustab ka ühendamist CPLD signaali tihvtidega. Kinnitage pistikupesad mõne joodise või epoksüüdiga, sõltuvalt kasutatava parfüümi tüübist. JTAG -pistiku ja toitepistiku jaoks lubage ülaosas (CPLD -pesa 1. tihvti kohal) veidi lisaruumi. Vaadake minu ehitatud pilte. Suunake tühi juhe (umbes 20 gab.) Ümber maandussi pistikupesade välispinna. Suunake ka toitebussi. (Punane juhe piltidel.) Vaadake juhiseid piltidelt, kuid teie plaat on tõenäoliselt veidi teistsugune - ja see on hea. Jootke pistikupesade välispoldid maandussi külge. See aitab bussitraati kinnitada.

6. samm: hälli ehitamine - 2. osa

Hälli ehitamine - 2. osa
Hälli ehitamine - 2. osa
Hälli ehitamine - 2. osa
Hälli ehitamine - 2. osa

Paigaldage lahtiühenduskorgid ja ühendage need CPLD -pistikupesa mõlemal küljel olevate maandus- ja pistikupesadega. Soovitan juhtmed juhtida üles ja üle tihvtide välimise rea, et jõuda sisemiste ridadeni. Õige tihvtide saamiseks vaadake tihvtide arvu diagramme - CPLD -pistikupesa väljatõmbamine pole kaugeltki ilmne. Jätke piisavalt ruumi, et võimaldada ühendamist kõigi tihvtidega, millest juhtmed üle lähete. Kui korkühendused on tehtud, ühendage toite- ja maandussiin. Kõik diagrammidel olevad punased tihvtid on Vcc ja need tuleks ühendada. Mustad tihvtid on maandatud ja need tuleks ka ühendada. Jällegi on selle õhku suunamine hea lähenemisviis. Vaata ideid piltidelt.

7. samm: hälli ehitamine - järeldus

Hälli ehitamine - järeldus
Hälli ehitamine - järeldus
Hälli ehitamine - järeldus
Hälli ehitamine - järeldus
Hälli ehitamine - järeldus
Hälli ehitamine - järeldus

Suunake JTAG -ühendused õigetele tihvtidele. Vaadake oma programmeerimiskaablit, et veenduda, et pistik on õigesti suunatud. Ärge unustage TDO tihvti tõmbamist. See on näidatud ainult pildil ja läheb TDO tihvti ja Vcc vahele. Viimane samm on ühendada iga CPLD I/O tihvt pistikupesaga. Ühenduste jaoks kasutage diagrammidel olevaid numbreid. See võtab kõige kauem aega! Kui järgite minu numeratsiooniskeemi, saate vooluahelate ühendamisel kasutada juhendina ülaltvaate skeemi. Tõepoolest ei pea te neid kõiki esialgu ühendama, võite oma kavandatud vooluringide jaoks oodata, kuni neid vajate. Kontrollige oma tööd hoolikalt. Veenduge, et vool ja maandus poleks lühised!

8. samm: vilkurite loomine (TTL -versioon)

Loo vilkurid (TTL versioon)
Loo vilkurid (TTL versioon)

Loomulikult soovite näha oma vooluringide tööd. Nii et sa tahad mõnda vilkurit (kuulsaks tegi The Real Elliot). Ainus saak on see, et CPLD -del pole selliseid väljundeid nagu AVR -protsessoritel. Kasutage 10m võimsusega LED -e ja kasutage 1KOhm seeria takistit. Need annavad teile selged väljundsignaalid ilma CPLD väljundeid koormamata.

9. samm: tehke lülitid

Tehke lülitid
Tehke lülitid
Tehke lülitid
Tehke lülitid

Ahelate jaoks stiimulite pakkumiseks vajate mõnda lülitit. Siin on teil mõned võimalused, kuid nõuded on teistsugused kui AVR -protsessoritel. CPLD väljunditel pole sisseehitatud tõmbeid ja tarkvaralise tagasilöögi tegemine pole nii lihtne. (See on võimalik, kuid võtab ressursse, mida tõenäoliselt soovite oma vooluahelates kasutada.) Näidatud DIP -lülitid pakuvad mitut lülitit mugavas pakendis, kuid need tuleb üles tõmmata. Ma kasutasin 1K tõmbeid. Surunuppe saab valmistada skeemi abil, mida Atmel soovitab oma demoplaadile. Skeemid on umbes leheküljel 36. Teine võimalus on ühendada AVR -protsessor stiimulite pakkumiseks ja isegi vastuste kontrollimiseks. Kuid see on õpilasele jäetud harjutus.

Samm: looge oma esimene vooluring

Looge oma esimene vooluring
Looge oma esimene vooluring
Looge oma esimene vooluring
Looge oma esimene vooluring

Selleks ajaks peaksite tarkvara hankima ja installima. Järgige põhjalikku ja üksikasjalikku õpetust oma esimese lihtsa CPLD-ahela loomiseks (kahe sisendiga JA värav; ei muutu palju lihtsamaks). Valige kindlasti õige seade (44 Pin PLCC, 5V, 1504AS [üksikasjad]) ja valige saadaolevad I/O pin numbrid (kasutasin sisenditena 14 ja 16; väljundina 28). Need üksikasjad erinevad õpetusest veidi, kuid ei tohiks teile probleeme tekitada.

Samm: programmeerige oma esimene CPLD

Programmeerige oma esimene CPLD
Programmeerige oma esimene CPLD
Programmeerige oma esimene CPLD
Programmeerige oma esimene CPLD

Ühendage oma programmeerimiskaabel arvuti paralleelpordiga, ühendage see oma programmeerimisalusega, ühendage toitepistikuga 5 volti ja järgige õpetust oma esimese CPLD programmeerimiseks. Valige kaabli õige versioon. Pange tähele, et Altera Byte-Blaster on üks võimalustest.

12. samm: testige oma programmeeritud osa

Testi oma programmeeritud osa!
Testi oma programmeeritud osa!
Testi oma programmeeritud osa!
Testi oma programmeeritud osa!

Ühendage oma programmeerimiskaabel pesast lahti. Ühendage lülitid ja vilkurid õigete tihvtidega, lülitage toide sisse ja proovige seda. Kuna alustate lihtsast vooluringist, pole testimine suur väljakutse. Kui see töötab, siis hakkate jooksma! Pealtvaate skeem juhendab teid lülitite ja vilkurite ühendamiseks testimiseks.

Samm 13: lõpp ja mõned veebiavarused

Lõpp ja mõned veebiavarused
Lõpp ja mõned veebiavarused

Selle õpetuse eesmärk ei ole õpetada teile VHDL -i kasutamist. (Ma alles hakkan õppima, sellepärast lõin programmeerija, mäletate?) See tähendab, et olen leidnud mitmeid väga kasulikke õpetusi ja mõningaid kasulikke ressursse, mille poole teid suunata. Tagasiside ja muud soovitused on väga teretulnud. Pange tähele, et saate kasutada ka Ghetto CPLD arendussüsteemi Verilogi ja muude CPLD programmeerimismeetodite õppimiseks, mida riistvara ei hooli. VHDL -i ressursid veebis: põhitõed ja mõned lingid siin ja siin. tasuta tööriistad. Õpetused, mis mulle meeldivad, on siin ja siin, kuid leiate palju teisi. Lõpuks (praegu) soovite vaadata vestlusringi. Nautige, õppige palju ja jagage seda, mida teate.

Soovitan: