14-nastainen zif-liitin

Kompleksinen ohjelmoitava logiikkalaite (CPLD) on olennainen osa laitteistoasi. Kuten nimestä voi päätellä, voit ohjelmoida nämä sirut tarjoamaan tarvitsemasi logiikkatoiminnot. Tämä voi olla vanhentuneiden sirujen korvaamista tai vain tapa oppia ja kokeilla erilaisia ​​tekniikoita. Mikä olisikaan parempi tapa oppia kuin käyttää CPLD:tä ja kokeilla sitä?
Loin CPLD-moduulin, jotta voisin kytkeä sen moniin laitteisiin, mukaan lukien juottamattomiin koekytkentälevyihin, mutta mokasin. Juottamattomalla koekytkentälevyllä näyttää olevan 2,8 cm:n (1,1 tuuman) kokoinen liitäntätila. Olen tehnyt jalanjäljen 2,5 cm:n (1 tuuman) levyiseksi, jolloin molemmille puolille ei jää tilaa johtoriville. Ööh.
Mutta palataanpa asiaan ja näytän lisää, mitä teen. Haluan tehdä ohjelmoitavan logiikan, joka voidaan rakentaa sarjana, joka voidaan helposti juottaa kotona, joka voidaan ohjelmoida virtapiirissä ja joka voi toimia 3,3 tai 5 voltin jännitteellä.
Helposti juotettavan sarjan toteuttamiseksi käytin vanhaa CPLD-komponenttia, jota on saatavana myös 3,3 V:n ja 5 V:n versioina ja joka säilyttää ohjelmointinsa virtalähteestä riippumatta. Itse logiikka on Altera Max -sarjan CPLD-piiri, jota on saatavana kahtena versiona ja joka sopii 32 tai 64 makrosolun piirilevyille. Makrosolut ovat loogisia perusrakennuspalikoita, jotka ohjelmoidaan loogisilla "termeillä" ja sitten yhdistetään muihin makrosoluihin ohjelmoitavien yhteenliitäntöjen avulla.
Kaaviota katsoessa voi nähdä, ettei siinä ole paljon sisältöä: pohjimmiltaan CPLD, piirin sisäinen ohjelmointipiiri ja oskillaattori, joka ohjaa CPLD-logiikkaa.
Tätä osaa kutsutaan nimillä EPM7032 ja EPM7064, ja siinä käytetään 44-nastaista muovista johtopiirin kantaa (PLCC), jota joskus kutsutaan J-johtimeksi johdon J-muodon vuoksi. Tämä kotelo voidaan asettaa läpireikäiseen kantaan tai juottaa suoraan piirilevyyn.
Sisältää sisäänrakennetun oskillaattorin, joten CPLD voi suorittaa toimintoja tilallisesti ja luoda nopeita laskureita itse ilman ulkoista kelloa. Jos ulkoinen kello on käytettävissä, moduulin nopeaa kelloa voidaan käyttää kellotapahtuman luomiseen ulkoisen kellon jokaiselle nousevalle tai laskevalle reunalle ja silti noudattaa CPLD/FPGA-ohjeita, eli sinun tulisi käyttää sisäistä globaalia kelloverkkoa "asynkronisen" kellotulon sijaan. Tämän oskillaattorin nimellisjännite on 1,8–5,5 volttia.
Jos katsot videon, huomaat, että käsittelen henkilökohtaista mieltymystäni oskillaattorin "INH"-nastan käsittelystä; yksinkertaisesti sanottuna, kun olen tarkistanut, että tekniset tiedot ovat laillisia, annan sen yleensä kellua.
Tällaisten toimintojen kanssa tekemisissä mieleeni tuli muun muassa se, etten halunnut kytkeä tulonastoja suoraan virtakiskoihin (jos mahdollista). Eli käytän mieluummin sarjavastuksia virran rajoittamiseksi transienttien aikana, vaikka sitä ei tarvitsisikaan.
Vuosien varrella olen havainnut joitakin ongelmia tuotannossa (suuret erät), ja toisinaan esimerkiksi virransyöttökierron aiheuttama jännitteen nousu ja lasku ovat johtaneet siihen, että suoraan virtakiskoon kytketyissä nastoista tulee korkeampi jännite kuin itse sirusta, mikä on huono asia. Lopuksi, kytke nasta virtakiskoon vastuksen (joko virta- tai maadoitusvastuksen) kautta, jolloin ihmiset voivat muuttaa mielensä ja käyttää nastaa myöhemmin. Tämä pätee erityisesti kokemukseni perusteella käyttämättömien ovien kanssa. Todennäköisesti tiedät, että näitä ovia ei pitäisi koskaan jättää kellumaan tai kytkemättä. Käyttämällä ylösvetovastusta voit kytkeä signaalin ja käyttää porttia katkaisematta kuparijohtimia.
10-nastainen liitin ja muutama vastus muodostavat ohjelmointipiirin. Jos kaikki vastukset ovat ylösvetovastuksia, käyttäisin vastusverkkoa, mutta valitettavasti yksi on maadoitettu.
Tällaisen itsenäisen CPLD:n ohjelmointiin tarvitaan oma ohjelmoija. Tämä on minulle helppo sanoa, koska minulla on yleensä muutama vieressäni, mutta jos sinulla ei ole sellaista, peliin pääseminen ei ole liian tuskallista. Hyväksytty "Altera USB Blaster" myy 50 dollarilla ja sitä voi ostaa Digikeyltä ja muista paikoista. Minulla on useita klooneja eBaysta, joista yksi on klooni, joka tukee Alteraa, Xilinxiä ja Latticea samanaikaisesti. Internetissä on projekti ja koodi, jota voidaan käyttää oman kloonin tekemiseen, ja lisään sen luettelooni mahdollisista videoista ohjelmointikloonien valmistusprojektia varten. Näytän myös suojarakenteen, jossa emolevy, Arduino, PIC jne. voidaan ohjelmoida.
CPLD:n kääntämiseen ja ohjelmointiin tarvittava ohjelmisto on saatavilla ilmaiseksi Alterasta, mutta tämä vanha osa vaatii vanhan version 9.1. Hyvä uutinen on, että se oli suosikkivanha versioni. Siinä oli intuitiivinen ajoitusanalysaattori, mutta se poistettiin myöhemmässä versiossa.
Piirilevy on yksinkertainen kaksipuolinen rakenne. Niin kauan kuin piirilevy sopii siihen, käytän yleensä kuparia maadoitukseen ja joskus virtalähteeseen. Joskus valu rikkoutuu niin paljon, että se voi aiheuttaa ongelmia tai huolimattomia lopputuloksia, joten kuparivalu on jälleen yksi apuväline, mutta sitä on hallittava.
Nykyään monet (elleivät useimmat) CAD-ohjelmistopaketit sisältävät 3D-kuvia lopputuotteesta, vaikka kuvien tarkkuus on vain niin tarkka kuin osien esittämiseen käytetyt 3D-mallit. Tässä näet, mihin valitsin 3D-mallin 44-nastaiselle liittimelle, ohjelmointiliittimelle ja oskillaattorille. Tässä on joitakin 3D-paketteja, joita käytän mielelläni:
Monilla yrityksillä on myös 3D-malleja komponenteistaan. Molex on vain yksi esimerkki yrityksestä, joka on tehnyt hyvää työtä tällä alueella.
Tekemäni virhe ei vaikuta toimintaan kuten estetiikkaan, eikä se ole pääongelma eli se ei sovellu yksittäiselle juottamattomalle koekytkentälevylle.
Kun ajattelin jakaa suunnitteluni kenenkään kanssa, olin heti tyytymätön CPLD:n kytkentäkaaviosymboleihin ja 40-nastaisen liittimen pinnien asetteluun, joka on sen kokonaisjalanjälki. Otin 40-nastaisen kaksirivisen liittimen symbolin ja muutin sen 2,5 cm:n kokoiseksi, mutta nastanumerot eivät ole 1, 2, 3, 4... vaan ne on numeroitu 1 sivussa kuten DIP-kotelossa 3, 5, 7... aivan kuten nauhakaapeliliittimissä. Siksi se ei ole intuitiivinen jalanjälki moduulin kytkemisen ja vianmäärityksen määrittämiseen.
Samoin CPLD-nastojen määritys on hieman hämmentävä, ja käytin symbolien luomiseen apuohjelmia, jotka perustuvat Boundary Scan Description Languageen (BSDL). Useimmilla suurilla toimittajilla on BSDL-tiedostoja saatavilla valtavirran komponenteilleen, joiden avulla symboleja ja paketteja voidaan luoda (puoli)automaattisesti. Kuten mitä tahansa automaatiota, sitä on pidettävä työkaluna, ja parhaan tuloksen saavuttamiseksi se saattaa vaatia lisäkäsittelyä. Tässä tapauksessa annoin sen luetella nastat aakkosjärjestyksessä, mikä on lähes satunnaista, kun seurataan nastoja piirilevyllä. Voin vain sanoa, että olin sinä päivänä hyvin ahdistunut.
Näistä oikoteistä joudut maksamaan joskus matkan varrella. Kun alan muokata tätä moduulia, määritän ja annan sille nastojen sijainnin, joka vastaa itse osaa, jotta oskilloskoopin anturin sijoituspaikan selvittäminen on yhtä helppoa kuin kytkentäkaavion symbolin vilkaiseminen.
Piirilevyjä käytettäessä on muitakin parannuksia, jotka ovat pääasiassa esteettisiä tai hyödyllisiä. Nasta 1 -indikaattorin pitäisi olla yleisempi useissa koteloissa, ja itse pidän aina parempana yksinkertaista maadoituspistettä oskilloskoopin maadoituksen tai VOM-johdon kytkemiseen. Voisin lisätä tämän lisäämällä kaksinastaisen liittimen, jotta virta ja maadoitus voidaan kytkeä suoraan piirilevylle sen sijaan, että ne kiinnitettäisiin pohjanastoihin.
Ennen kuin muokkaan piirilevyä, haluan varmistaa, että se toimii oikein fyysisistä ja esteettisistä ongelmista huolimatta. Kun olin käynnistänyt laitteen ja varmistanut, että oskillaattori toimii oikein, kytkin ohjelmointilaitteen. Vaikka 3,3 V:n versio on uudempi kuin ohjelmointiohjelmisto, se tunnisti CPLD:n ja näytti sen "tuntemattomana" laitteena.
Seuraavaksi loin laskurin Quartuksessa ja annoin sille pin-numerot. Nopea kääntäminen ja lataaminen sekä oskilloskoopin näkemä laskuritoiminto varmistavat, että suunnittelu on toteuttamiskelpoinen.
Verilogin pikatestipiiri on hyvin yksinkertainen. Koodi on lueteltu alla. Voit ladata kytkentäkaavion ja Verilogin testipiirin sisältävän ZIP-tiedoston Quartus II -projektina (vaatii version 9.1).
Kuten mainitsin, teen piirilevylle toisen tarkistuksen kiinnittääkseni enemmän huomiota yksityiskohtiin, joita tarvitaan suunnittelua jaettaessa tai vianmääritystä tehdessä. Koska minun on asetettava pohjaliittimen leveys 0,9 tuumaan tai vähemmän, voin jatkaa sen asettamista 0,6 tuumaan, joka on standardi "leveä" DIP-kotelo. Tämä tarkoittaa, että pohjanastojen annetaan ulkonea CPLD-kannan jalanjäljestä. En tekisi tätä tuotantotilanteessa, koska se koottiin tuolloin käsin, mutta yksi tavoitteista oli tehdä käsinjuotossarja. Käsinjuotoskompromissi on se, että oskillaattorin on oltava SMD-pintaliitoskotelossa, mutta läpivientireikäversio on erittäin suuri eikä yleensä tue haluamaani jännitealuetta.
Onko mahdollista käyttää näitä moduuleja kokonaisen yksinkertaisen tietokoneen rakentamiseen? Luulen, että minun täytyy lisätä muistia.
Lol...kyllä, se riippuu tietokoneen tyypistä. "Oikeisiin" mikrokontrollereihin/mikrotietokoneisiin vaikuttaa kuitenkin moduulin "nastojen kytkeminen", mikä tarkoittaa, että moduulista ei saa tarpeeksi terminologiaa tehdäkseen mitään kovin hyödyllistä.
Tein täydellisen NTSC-kameran ajoitus- ja tilaohjaimen, jonka koko on 64, joten prosessoria ei tarvita.
Kirjassa Nand to Tetris käytetyt rakenteelliset Verilog ja HDL ovat suurin piirtein samat.
Miksi osat ovat läpireikiä? 0805-hitsaus on helppoa! Nyt on jokaisen näppärän aika oppia tämä taito.
Jos teen ylemmän kannan päällekkäin alhaalta juotettujen nastojen kanssa, voin käyttää "6-keskisiä" (simuloi 40-nastaista sirua) tai diagonaalisia jne. Tämä on täysin manuaalista juottamista komponenteille alhaisten johtojen juottamiseksi ylempi kanta jalkojen taakse.
Mutta aloittelijoiden on vaikea juottaa sitä alhaalta. Kun juotan liittimet koekytkentälevyn piirilevylle (näitä halpoja SMD-sovitinlevyjä, joita voi käyttää eBayssa, voidaan käyttää prototyyppien tekemiseen), asetan liittimet koekytkentälevyyn, sitten asetan piirilevyn sen päälle ja sitten voin juottaa sen helposti. Se sopii erittäin hyvin koekytkentälevyille. Jos se täytyy juottaa alhaalta, se on vielä vaikeampaa.
Jos CPLD on keskellä (voi olla helpompi johdottaa), se voidaan asentaa vinottain ilman päällekkäisyyksiä, riviä on neljä tai CPLD voi olla vain yhdellä puolella:
Kiitos vinkistä liittimen asettamisesta koekytkentälevyyn ennen juottamista. Minun omani on hieman epävakaa.
Entäpä DIP-muotoiset koekytkentälevyn nastat toisessa päässä ja itse sirukannan "dongle"-tyyppinen osa toisessa päässä? Siru voidaan ripustaa koekytkentälevyn päähän. Reititys on tiukka.
|####### ********************* |. Kyllä, päätin käyttää Alteran "ilmaisversiota", aivan kuten Xilinxillä ja Latticella on "ilmaiset" versiot. Minun täytyy lopettaa sykli Al Williamsin kanssa ymmärtääkseni, mitä kaikki avoimet tuet tukevat, mukaan lukien laitesarjan erityisominaisuudet. Tästä huolimatta olen tehnyt paljon ilmaisella versiolla.
Kyllä, osoitat, että CPLD menee päällekkäin uskoakseni nastojen kanssa. Jos seuraan sitä oikein, tämä saattaisi näyttää versiolta 2. (Massa)tuotantoa suunniteltaessa olen aina allerginen "käsinjuotoskokoonpanon" vaiheelle, koska ne menevät päällekkäin (itse asiassa juotosnastat ei-komponenttipuolella). ) On jo käsinjuotettu komponentti), mutta tämä on vain pieni pakkaus, ei tuotantoon suuntautunut suunnittelu. Minulla on vain joitakin tapoja, joista on vaikea päästä eroon minun iässäni. :)
Mielestäni T-kirjaimen muotoinen piirilevy, jossa on CPLD ja passiivisia komponentteja leveällä T-kirjaimen muotoisella osalla, on erittäin hyödyllinen ripustettuna koekytkentälevyn reunaan. Jotain Adafruit RasPi T-Cobblerin kaltaista (http://www.adafruit.com/products/2028). Tämä vapauttaa suurimman osan koekytkentälevyn alueesta.
Valitettavasti lopettaminen rajoittaa merkittävästi sen käyttöä sivuprojekteissa, aivan kuten kaikkien XR2206- ja ICL8038-pohjaisten funktiogeneraattoreiden.
Mielenkiintoinen idea. Pidän näistä kahdesta sirusta. CPLD ei ole vanhentunut, se on vain halvempi tapa ostaa se 3,3 V:n jännitteellä.
Mitä tulee "hölynpölyytesi" juoniin... et todellakaan tehnyt uutta asettelua laittaaksesi sen koekytkentälevylle. Laita vain johto ensin koekytkentälevylle ja sitten CPLD johdon päälle. Tai jos saat vetettyä virta- ja maadoitusliuskat irti toisesta, käytä kahta koekytkentälevyä.
Tietoja Altiumista ja Eaglesta. Oletko harkinnut KiCadia? Siinä ei ole mitään rajoituksia, jotka tekisivät sinusta paremman kuin Altiumin, ja se luo oletuksena DRC-virheitä kaikille kytkemättömille pinneille. Jos todella haluat avata pinin, sinun on kerrottava siitä. (Ehkä vain tulolle, ei lähdölle, eikä sitä ole vielä tarkistettu). Toinen hieno ominaisuus on, että se on erittäin helppo oppia. Se vei vain iltapäivän, ja erinomainen johdanto-opas auttoi minua alkuun.
Pidän parempana (suurempaa) SMD-osaa läpireiän yläpuolella. Niitä on helpompi käyttää. Piirilevyä ei tarvitse käännellä koko ajan. (Joitakin tyhmiä virheitä tehtiin peilausvirheiden takia...). Eikä vastuksen johtoa tarvitse katkaista. Suunnitelmaa jaettaessa useita koteloita voidaan kätevästi sijoittaa piirilevylle tai yhdelle osalle. SMD-vastus TH. (Se tekee asettelusta hieman monimutkaisemman.)
Käytin pdf-muodossa olevaa "KiCad Getting Started" -opastusta. Vanha versio on 29-sivuinen ja uusin versio on 52-sivuinen. Löydät sen muista opetusohjelmista (mukaan lukien videolinkit): http://kicad-pcb.org/help/tutorials/
Tiedän, että [Chris Gemmell] Hackadaysta ja The Amp Hourista teki sarjan Kicadista http://kicad-pcb.org/help/tutorials/
Kicadista voi olla hyötyä, katsotaan mitä tapahtuu versiossa 2. Kiitos ehdotuksistasi. Yhdistämättömät tulot ovat hyvä asia DRC:lle (ERC:lle), ja liittimien ja muiden niitä pehmentävien laitteiden tai I/O:n kanssa useimmat CAD:n irtikytkentäviestit voidaan yleensä välttää.
Suorita nopea testi ja heitä liitin tyhjään tauluun, suorita merkinnät ja DRC. Se antoi minulle DRC-virheitä jokaiselle nastan kohdalla. Tunnettujen kytkemättömien nastojen merkitseminen on kuitenkin hyvin yksinkertaista.
Aseta passiiviseksi. Minun on etsittävä (Muokkaa komponenttia -> Muokkaa kirjastoeditorilla). Kirjastoeditori avautuu ja lataa komponenttisi erilliseen ikkunaan, jossa voit tarkistaa tai muuttaa mitä tahansa komponentin osaa. Muutetut komponentit voidaan tallentaa tai päivittää kytkentäkaaviossasi. Tämä tekee komponenttien muuttamisesta erittäin helppoa. En välitä paljon kirjastosta. Esimerkiksi, jos käytät cpld:tä, haluat antaa nastojen merkitykselliset nimet. Mikä tärkeintä, on hyvä käyttöliittymä omien komponenttien suunnitteluun.
KiCadin ERC:ssä "irralliset" nastat ovat eri tyyppisiä nastoja kuin "passiiviset nastat", ja kaikki "irralliset" nastat aiheuttavat virheitä. ERC:n toimintaa voidaan helposti säätää omien mieltymysten mukaan: Työkalut -> Sähkösääntöjen tarkistus -> Asetukset.


Julkaisun aika: 18.11.2021