Sisukord:
- Samm: tellige osi
- Samm: hankige ja installige tarkvara
- Samm: valmistage programmeerimiskaabel
- Samm: valmistage programmeerija häll
- 5. samm: hälli ehitamine - 1. osa
- 6. samm: hälli ehitamine - 2. osa
- 7. samm: hälli ehitamine - järeldus
- 8. samm: vilkurite loomine (TTL -versioon)
- 9. samm: tehke lülitid
- Samm: looge oma esimene vooluring
- Samm: programmeerige oma esimene CPLD
- 12. samm: testige oma programmeeritud osa
- Samm 13: lõpp ja mõned veebiavarused
Video: Ghetto programmeeritava loogika (CPLD) arendussüsteem: 13 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:51
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
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
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
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
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
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
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
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)
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
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
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
Ü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
Ü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
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:
Programmeeritava katkestuskontrolleri disain VHDL -is: 4 sammu
Programmeeritava katkestuskontrolleri kujundamine VHDL -is: olen ajaveebist saadud vastustest väga vaimustuses. Tänan poisid, et külastasite minu ajaveebi ja motiveerisite mind teiega oma teadmisi jagama. Seekord tutvustan veel ühe huvitava mooduli kujundust, mida näeme kõigis SOC -des - katkestus C
3,3 V mod ultraheli anduritele (valmistage HC-SR04 ette 3,3 V loogika jaoks ESP32/ESP8266, osakeste foton jne): 4 sammu
3,3 V mod ultraheli anduritele (valmistage HC-SR04 ette 3,3 V loogika jaoks ESP32/ESP8266, osakeste foton jne): TL; DR: lõigake anduril jälg kaja tihvti külge ja ühendage see uuesti pingejagur (kajajälg -> 2,7 kΩ -> kajakinnitus -> 4,7 kΩ -> GND). Redigeerimine: On olnud arutelu selle üle, kas ESP8266 on GPIO -s tegelikult 5 V tolerantne
Super Ghetto toitenupp minu Oneplus One'il (peaks töötama ükskõik millega): 3 sammu
Super Ghetto toitenupp minu Oneplus One'il (peaks töötama ükskõik millega): Probleem: kõik minu telefoni nupud on katki. Nende vahetamine on vaid ajutine lahendus, kuna mu tagakaas on katki ja ma ei leia kuskilt asendust, mis ei ületaks kasutatud OPO hinda, kuid mõtlesin, et miks mitte uuendada, kui
TTL -i loogika taseme testerpliiats: 5 sammu (piltidega)
TTL loogilise taseme testerpliiats: polaarsustesti pliiats & TTL loogika taseme testimispliiats. See polaarsustesti pliiats on pisut erinev, kuna see suudab testida TTL taset ja näitab olekut 7 segmendi ekraanil, kasutades tähti: "H" (Kõrge) loogikataseme jaoks "
Programmeeritava toiteallika tutvustus ja õpetus!: 7 sammu
Programmeeritava toiteallika tutvustus! praktiline näide programmeeritavast toiteallikast. Ka kõik, kes on elektroonikast huvitatud, lugege palun läbi