zif-sokkel 14-pen

'n Komplekse programmeerbare logikatoestel (CPLD) is 'n noodsaaklike stuk hardeware in jou repertoire. Soos die naam aandui, kan jy hierdie skyfies programmeer om die logikafunksies te verskaf wat jy benodig. Dit kan die vervanging van verouderde skyfies wees, of net 'n manier om te leer en verskillende tegnologieë te probeer. Watter beter manier om te leer as om CPLD te gebruik en dit uit te probeer?
Ek het 'n CPLD-module geskep om dit in baie dinge te kan inprop, insluitend soldeerlose broodborde, maar ek het 'n fout gemaak. Dit lyk asof die beskikbare inpropspasie op die soldeerlose broodbord 1.1 duim is. Ek het die voetspoor 1 duim breed gemaak, wat geen plek laat vir 'n ry drade aan beide kante nie. Uh.
Maar laat ek teruggaan en meer wys oor wat ek doen, ek wil 'n programmeerbare logika maak wat as 'n kit gebou kan word, maklik tuis gesoldeer kan word, in 'n stroombaan geprogrammeer kan word, en teen 3.3 of 5 volt kan werk.
Om 'n maklik-soldeerbare stel te realiseer, het ek 'n ou CPLD-komponent gebruik, wat ook beskikbaar is in 3.3v en 5v weergawes, en sy programmering sal behou ongeag die kragtoevoer. Die logika self is 'n CPLD IC uit die Altera Max-reeks, beskikbaar in twee weergawes, geskik vir stroombaanborde met 32 ​​of 64 makroselle. Makroselle is die basiese logiese boustene wat geprogrammeer word met behulp van logiese "terme" en dan met ander makroselle verbind word deur programmeerbare interkonneksies.
As jy na die skematiese diagram kyk, kan jy sien dat dit nie veel inhoud het nie: basies die CPLD, die in-kring programmeringskring en die ossillator wat die CPLD-logika aandryf.
Hierdie onderdeel word EPM7032 en EPM7064 genoem, en gebruik 'n 44-pen plastiek-loodskyfiedraer (PLCC), soms 'n J-lood genoem as gevolg van die J-vorm van die lood. Hierdie pakket kan in 'n deurgat-sok geplaas word of direk aan die PCB gesoldeer word.
Bevat 'n ingeboude ossillator, sodat die CPLD bewerkings staties kan uitvoer en vinnige tellers op sy eie kan skep sonder die behoefte aan 'n eksterne klok. Indien 'n eksterne klok beskikbaar is, kan die hoëspoedklok op die module gebruik word om 'n klokgebeurtenis op elke stygende of dalende rand van die eksterne klok te skep, en steeds die CPLD/FPGA-riglyne te volg, dit wil sê, jy moet regtig die interne globale kloknetwerk gebruik in plaas van "Asynchrone" aandrywers wat die klokinvoer aandryf. Die gegradeerde kragtoevoerspanning van hierdie ossillator is tussen 1.8 en 5.5 volt.
As jy die video kyk, sal jy sien dat ek my persoonlike voorkeur bespreek oor hoe om die "INH"-pen op die ossillator te hanteer; eenvoudig gestel, nadat ek seker gemaak het dat die spesifikasieblad wettig is, is ek geneig om dit te laat dryf.
Wanneer ek met sulke funksies te doen gehad het, het die redes wat by my opgekom het, my afkeer ingesluit om die insetpenne direk aan die kragrails te koppel (indien moontlik). Dit wil sê, ek verkies om serieweerstande te gebruik om die stroom tydens oorgange te beperk, selfs al sou dit nie nodig wees nie.
Oor die jare het ek probleme in produksie gesien (groot hoeveelhede), en soms het dinge soos kragsiklusse toegelaat dat die penne wat direk aan die kragrail gekoppel is, 'n hoër spanning as die skyfie self het, wat sleg is. Laastens, koppel die pen aan die kragrail deur 'n weerstand (hetsy krag of grond), en mense kan van plan verander en die pen later gebruik. Dit is veral waar in my ervaring met ongebruikte deure, jy weet waarskynlik dat hierdie deure nooit swewend of ongekoppel gelaat moet word nie. Deur 'n optrekweerstand te gebruik, kan jy die sein koppel en die hek gebruik sonder om koperspore te sny.
Die 10-pen-konnektor en 'n paar weerstande vorm die programmeringskring. As al die weerstande optrekweerstande is, sou ek 'n weerstandnetwerk gebruik, maar helaas, een is geaard.
Om so 'n onafhanklike CPLD te programmeer, is 'n toegewyde programmeerder nodig. Dit is maklik vir my om te sê, want ek het gewoonlik 'n paar langs my, maar as jy nie een het nie, sal dit nie te pynlik wees om die spel te betree nie. Die goedgekeurde "Altera USB Blaster" verkoop vir $50 en kan by Digikey en ander plekke gekoop word. Ek het verskeie klone van Ebay, waarvan een 'n kloon is wat Altera, Xilinx en Lattice gelyktydig ondersteun. Daar is 'n projek en kode op die internet wat gebruik kan word om jou eie kloon te maak, ek sal dit in my lys van moontlike video's vir die projek van die maak van programmeerderklone lys. Ek sal ook 'n skildontwerp wys waarin die moederbord, Arduino, PIC, ens. geprogrammeer kan word.
Die sagteware wat benodig word om die CPLD te kompileer en te programmeer, is gratis beskikbaar vanaf Altera, maar hierdie ou deel benodig die ou weergawe 9.1. Die goeie nuus is dat dit my gunsteling ou weergawe was. Dit het 'n intuïtiewe tydsanaliseerder gehad, maar dit is in 'n latere weergawe verwyder.
Die PCB is 'n eenvoudige dubbelsydige ontwerp, solank die stroombaanbord daarby pas, is ek geneig om koper vir aarding en soms kragtoevoer te gebruik. Soms raak die gietwerk so gebreek dat dit eintlik probleme of slordige eindresultate kan veroorsaak, so kopergieting is weer 'n hulpmiddel, maar dit moet bestuur word.
Vandag bevat baie (indien nie die meeste) CAD-sagtewarepakkette 3D-aansigte van die finale produk, hoewel die akkuraatheid van die beelde net so akkuraat is soos die 3D-modelle wat gebruik word om die onderdele voor te stel. Hier kan jy sien waar ek die 3D-model vir die 44-pen-sok, programmeringskonnektor en ossillator gekies het. Hier is 'n paar 3D-pakkette wat ek graag gebruik:
Baie maatskappye het ook 3D-modelle van hul komponente. Molex is net een voorbeeld van 'n maatskappy wat goeie werk op hierdie gebied gedoen het.
Die fout wat ek gemaak het, beïnvloed nie die funksie soos estetika nie, en dit is nie die hoofprobleem nie, dit wil sê, dit is nie geskik vir 'n enkele soldeerlose broodbord nie.
Toe ek eers gedink het dat ek die ontwerp met enigiemand sou deel, was ek dadelik ontevrede met die CPLD se skematiese simbole en die penuitleg van die 40-pen-konnektor, wat die algehele voetspoor is. Ek het 'n 40-pen dubbelry-konnektorsimbool gegryp en dit na 'n 1-duim-voetspoor aangepas, maar die pennommers is nie 1, 2, 3, 4 nie... maar is genommer 1 aan die kant soos 'n DIP-pakket 3, 5, 7... net soos lintkabelkonnektors. Daarom is dit 'n nie-intuïtiewe voetspoor om te bepaal hoe om aan die module te koppel en probleme op te los.
Net so is die CPLD-pentoewysings 'n bietjie verwarrend, en ek het 'n stel hulpmiddels gebruik wat op Boundary Scan Description Language (BSDL) staatmaak om simbole te skep. Die meeste groot verskaffers het BSDL-lêers beskikbaar vir hul hoofstroomkomponente, wat jou toelaat om (semi-)outomaties simbole en pakkette te skep. Soos enige outomatisering, moet dit as 'n hulpmiddel gesien word en mag dit verdere massering vereis vir die beste resultate. In hierdie geval het ek dit die penne in alfabetiese volgorde laat lys, wat amper lukraak is wanneer die penne op die bord opgespoor word. Ek kan net sê dat ek daardie dag baie angstig was.
Jy betaal vir hierdie kortpaaie iewers langs die pad. Wanneer ek hierdie module gaan wysig, sal ek 'n penplasing bepaal en gee wat by die onderdeel self pas, sodat dit so maklik is om te weet waar om jou ossilloskoop-sonde te plaas soos om na die skematiese simbool te kyk.
Wanneer stroombaanborde gebruik word, is daar ander verbeterings wat hoofsaaklik esteties of nuttig is. Die pen 1-aanwyser moet meer algemeen in verskeie pakkette wees, en ek verkies altyd 'n eenvoudige aardpunt om die ossilloskoop-aarding of VOM-draad te verbind. Ek kan dit byvoeg deur 'n tweepen-konnektor by te voeg sodat krag en aarde direk op die bord toegepas kan word in plaas daarvan om aan die onderste penne vasgeklem te word.
Voordat ek die stroombaanbord wysig, wil ek seker maak dat dit behoorlik werk onder fisiese en estetiese probleme. Nadat ek dit aangeskakel het en bevestig het dat die ossillator behoorlik werk, het ek die programmeerder ingeprop. Alhoewel die 3.3v-weergawe nuwer is as die programmeringsagteware, het dit die CPLD opgespoor en dit as 'n "onbekende" toestel vertoon.
Volgende het ek 'n teller in Quartus geskep en PIN-nommers toegeken. Die vinnige samestelling en aflaai en die tellerfunksie wat deur die ossilloskoop gesien word, bevestig dat die ontwerp uitvoerbaar is.
Die vinnige toetskring in Verilog is baie eenvoudig. Die kode word hieronder gelys. Jy kan 'n ZIP-lêer aflaai wat die skematiese diagram en Verilog-toetskring bevat as 'n Quartus II-projek (vereis weergawe 9.1).
Soos ek genoem het, sal ek 'n tweede hersiening van die stroombaanbord maak om meer aandag te skenk aan die besonderhede wat nodig is wanneer ek die ontwerp deel of enige aantal probleme oplos. Aangesien ek die breedte van die onderste konnektor op 0.9 duim of minder moet stel, kan ek dit steeds op 0.6 duim stel, wat 'n standaard "wye" DIP-pakket is. Deur dit te doen, beteken dit dat die onderste penne uit die CPLD-sokvoetspoor moet uitsteek. Ek sou dit nie in 'n produksiesituasie doen nie, want dit is destyds met die hand saamgestel, maar een van die doelwitte was om 'n handsoldeerstel te maak. Die handsoldeerkompromis is dat die ossillator wel in 'n SMD-oppervlakbehuizing moet wees, die deurgatweergawe is baie groot en ondersteun gewoonlik nie die spanningsbereik wat ek wil hê nie.
Is dit moontlik om hierdie modules te gebruik om 'n volledige eenvoudige rekenaar te bou? Ek dink ek moet geheue byvoeg.
Lol...ja, dit hang af van watter soort rekenaar. "Regte" mikrobeheerders/mikrorekenaars word egter beïnvloed deur die "penbinding" van die module, wat beteken dat jy nie genoeg terminologie uit die module kan kry om enigiets nuttigs te doen nie.
Ek het 'n volledige NTSC-kamera-tydsberekening- en modusbeheerder met 'n grootte van 64 gemaak, so geen verwerker is nodig nie.
Die Strukturele Verilog en HDL wat in die boek Nand na Tetris gebruik word, is min of meer dieselfde.
Waarom is daar deurgat-onderdele? Sweiswerk van 0805 is maklik! Nou is dit tyd vir elke knoeier om hierdie vaardigheid aan te leer.
As ek die boonste sok die penne wat van onder af gesoldeer is, laat oorvleuel, kan ek "6 senters" (wat 'n 40-pen-skyfie simuleer) of diagonaal, ens. gebruik. Dit sal streng met die hand soldeer van komponente wees vir die soldeer van die onderste geleiers. Die boonste sok agter die voete.
Maar dit is moeilik vir beginners om dit van onder af te soldeer. Wanneer ek kopstukke vir die PCB van die broodbord soldeer (hierdie goedkoop SMD-adapterborde wat jy op eBay kan gebruik, kan vir prototipering gebruik word), plaas ek die kopstukke in die broodbord, sit dan die PCB daarop, en dan kan ek maklik soldeer. Dit is baie geskik vir broodborde. As jy dit van onder af moet soldeer, is dit nog moeiliker.
As die CPLD in die middel is (dit mag dalk makliker wees om te bedraad), kan dit diagonaal geïnstalleer word sonder oorvleueling, daar is 4 rye, of die CPLD kan aan een kant wees:
Dankie vir die wenk om die konnektor in die broodbord in te steek voor jy soldeer. Myne is 'n bietjie onstabiel.
Wat van die DIP-formaat broodbordpenne aan die een kant en die "dongle"-tipe van die skyfie-sokkel self aan die ander kant? Die skyfie kan aan die einde van die broodbord gehang word. Die roetering sal styf wees.
|####### ******************** |. Ja, ek het besluit om Altera se "gratis" weergawe te gebruik, net soos Xilinx en Lattice "gratis" weergawes het. Ek moet die siklus met Al Williams afsluit om te verstaan ​​wat alle oop ondersteuning ondersteun, wat die spesifieke eienskappe van die toestelreeks moet insluit. Met dit gesê, het ek baie met die gratis weergawe gedoen.
Ja, jy wys dat die CPLD met die penne oorvleuel, glo ek. As ek dit korrek volg, kan dit lyk soos rev 2. Wanneer ek vir (massa)produksie ontwerp, is ek altyd allergies vir die "handsoldeersamestelling"-stap, want hulle oorvleuel (eintlik die soldeerpenne aan die nie-komponentkant). ) Is reeds 'n handgesoldeerde komponent), maar dit is net 'n klein stel, nie 'n produksiegerigte ontwerp nie. Ek het net 'n paar gewoontes wat moeilik is om op my ouderdom ontslae te raak. :)
Ek dink 'n T-vormige stroombaanbord met CPLD en passiewe komponente met 'n wye T-vormige deel sal baie nuttig wees wanneer dit aan die rand van die broodbord gehang word. Iets soortgelyk aan Adafruit RasPi T-Cobbler (http://www.adafruit.com/products/2028). Dit sal die meeste van die broodbordarea beskikbaar maak.
Ongelukkig sal die staking die gebruik daarvan in syprojekte ernstig beperk, net soos al daardie funksiegenerators gebaseer op XR2206 en ICL8038.
Interessante idee. Ek hou van hierdie twee skyfies. CPLD is nie verouderd nie, dis net 'n goedkoper manier om dit teen 3.3v te koop.
Wat jou "nonsens" betref... jy het regtig nie 'n nuwe uitleg gemaak om dit op die broodbord te sit nie. Sit net eers die draad op die broodbord, en dan die cpld op die draad. Of, as jy die krag- en aardstroke van een van hulle kan aftrek, gebruik 2 broodborde.
Oor Altium en Eagle. Het jy al KiCad oorweeg? Dit het geen beperkings dat jy Altium bo Eagle verkies nie, en genereer standaard DRC-foute vir alle ongekoppelde penne. As jy regtig 'n pen wil oopmaak, moet jy dit sê. (Miskien net vir invoer, nie vir uitvoer nie, en dit is nog nie nagegaan nie). Nog 'n goeie kenmerk is dat dit baie maklik is om te leer. Dit het net 'n middag geneem, en die uitstekende inleidende handleiding het my aan die gang gekry.
Ek verkies die (groter deel) smd bo die deurgat. Hulle is makliker om te gebruik. Jy hoef nie die printplaat heeltyd te draai nie. ('n Paar dom foute is gemaak as gevolg van spieëling...). En jy hoef nie die leiding van die weerstand af te sny nie. Wanneer 'n ontwerp gedeel word, kan verskeie pakkette gerieflik op 'n printplaat of 'n enkele onderdeel geplaas word. SMD-weerstand TH. (Dit maak die uitleg 'n bietjie meer ingewikkeld).
Ek het "KiCad Getting Started" in pdf-formaat gebruik. Die ou weergawe wat ek gebruik het, is 29 bladsye lank, en die nuutste weergawe het 52 bladsye. Jy kan dit in ander tutoriale (insluitend videoskakels) vind: http://kicad-pcb.org/help/tutorials/
Ek weet dat [Chris Gemmell] van Hackaday en The Amp Hour 'n reeks oor Kicad gemaak het http://kicad-pcb.org/help/tutorials/
Kicad mag dalk nuttig wees, laat ek kyk wat in Rev 2 gebeur. Dankie vir jou voorstelle. Ongekoppelde insette is 'n goeie ding vir DRC (ERC), en vir verbindings en ander dinge wat hulle sag of IO hou, kan die meeste CAD-ontkoppelingsboodskappe gewoonlik vermy word.
Voer 'n vinnige toets uit en gooi die konnektor in 'n leë tabel, voer aantekeninge en DRC uit. Dit het my drc-foute vir elke pen gegee. Dit is egter baie eenvoudig om bekende ongekoppelde penne te merk.
Stel op passief. Ek moet soek (Wysig Komponent -> Wysig met Biblioteekredigeerder. Die biblioteekredigeerder maak oop en laai jou komponent in 'n aparte venster, jy kan enige deel van die komponent nagaan of verander. Die veranderde komponent kan in jou skema gestoor of opgedateer word. Dit maak dit baie maklik om komponente te verander. Ek gee nie veel om vir die biblioteek nie. Byvoorbeeld, as jy cpld gebruik, wil jy betekenisvolle name aan die penne toeken. Meer belangrik, daar is 'n goeie koppelvlak om jou eie komponente te ontwerp.
In KiCad se ERC is "ongekoppelde" penne 'n ander tipe pen as "passiewe penne", en alle "ongekoppelde" penne sal foute genereer. Die manier waarop ERC werk, kan maklik aangepas word volgens jou eie voorkeure: Gereedskap -> Elektriese Reëls Kontroleerder -> Opsies.


Plasingstyd: 18 Nov 2021