zif-socket 14-pins

In kompleks programmearber logysk apparaat (CPLD) is in essinsjeel stik hardware yn jo repertoire. Lykas de namme al seit, kinne jo dizze chips programmearje om de logyske funksjes te leverjen dy't jo nedich binne. Dit kin it ferfangen fan ferâldere chips wêze, of gewoan in manier om te learen en ferskate technologyen te besykjen. Hokker bettere manier om te learen as CPLD te brûken en it út te probearjen?
Ik haw in CPLD-module makke om it op in protte dingen yn te stekken, ynklusyf soldearleaze breadboards, mar ik haw it ferprutst. It liket derop dat de beskikbere ynstekromte op it soldearleaze breadboard 1,1 inch is. Ik haw de foetôfdruk 1 inch breed makke, wêrtroch't der gjin romte is foar in rige triedden oan beide kanten. Eh.
Mar lit my weromgean en mear sjen litte oer wat ik doch, ik wol in programmeerbere logika meitsje dy't as in kit boud wurde kin, maklik thús soldearre wurde kin, yn in sirkwy programmearre wurde kin, en kin wurkje op 3,3 of 5 volt.
Om in maklik te solderen kit te realisearjen, haw ik in âlde CPLD-komponint brûkt, dy't ek beskikber is yn 3.3v en 5v ferzjes, en syn programmearring behâldt nettsjinsteande de stroomfoarsjenning. De logika sels is in CPLD IC út 'e Altera Max-searje, beskikber yn twa ferzjes, geskikt foar printplaten mei 32 of 64 makrosellen. Makrosellen binne de basis logyske boublokken dy't programmearre wurde mei logyske "termen" en dan ferbûn binne mei oare makrosellen fia programmeerbere ynterferbiningen.
As jo ​​nei it skematyske diagram sjogge, kinne jo sjen dat it net folle ynhâld hat: yn prinsipe de CPLD, it yn-circuit programmearringsirkwy en de oscillator dy't de CPLD-logika oandriuwt.
Dit ûnderdiel hjit EPM7032 en EPM7064, en brûkt in 44-pins plestik lead chip carrier (PLCC), soms ek wol in J-lead neamd fanwegen de J-foarm fan 'e lead. Dit pakket kin yn in troch-gat socket ynfoege wurde of direkt oan 'e PCB soldearre wurde.
Befettet in ynboude oscillator, sadat de CPLD operaasjes steatlik útfiere kin en sels rappe tellers oanmeitsje kin sûnder de needsaak foar in eksterne klok. As in eksterne klok beskikber is, kin de hege-snelheidsklok op 'e module brûkt wurde om in klokgebeurtenis oan te meitsjen op elke opkommende of delgeande flank fan 'e eksterne klok, en noch altyd de CPLD/FPGA-rjochtlinen folgje, dat is, jo moatte echt it ynterne wrâldwide kloknetwurk brûke ynstee fan "Asynchrone" oandriuwingen foar de klokynfier. De nominale stroomfoarsjenningspanning fan dizze oscillator leit tusken 1,8 en 5,5 volt.
As jo ​​de fideo besjogge, sille jo sjen dat ik myn persoanlike foarkar besprek foar hoe't jo de "INH"-pin op 'e oscillator behannelje moatte; simpelwei sein, nei't ik kontrolearre haw dat it spesifikaasjeblêd legaal is, haw ik de neiging om it te litten driuwe.
By it omgean mei sokke funksjes, wiene de redenen dy't yn myn gedachten opfleane ûnder oaren myn ôfkear fan it direkt ferbinen fan 'e ynfierpinnen mei de stroomrails (as it mooglik is). Dat wol sizze, ik brûk leaver searjewjerstannen om de stroom te beheinen tidens transienten, sels as it net nedich wêze soe.
Yn 'e rin fan 'e jierren haw ik wat problemen sjoen yn 'e produksje (grutte partijen), en soms soene dingen lykas stroomûnderbrekking tastean dat de pinnen dy't direkt ferbûn binne mei de stroomrail in hegere spanning hawwe as de chip sels, wat min is. Ferbine úteinlik de pin mei de stroomrail fia in wjerstân (oft it no stroom of grûn is), en minsken kinne fan gedachten feroarje en de pin letter brûke. Dit is foaral wier yn myn ûnderfining mei net-brûkte doarren, jo witte wierskynlik dat dizze doarren nea driuwend of net ferbûn litte moatte. Troch in pull-up-wjerstân te brûken, kinne jo it sinjaal ferbine en de poarte brûke sûnder koperspoaren te snijen.
De 10-pins ferbining en in pear wjerstannen foarmje it programmearringsirkwy. As alle wjerstannen pull-up wjerstannen binne, soe ik in wjerstannennetwurk brûke, mar helaas, ien is ierd.
Om sa'n ûnôfhinklike CPLD te programmearjen is in tawijde programmeur nedich. Dit is maklik foar my om te sizzen, om't ik meastentiids in pear neist my lizze haw, mar as jo der gjin ien hawwe, sil it net te pynlik wêze om it spultsje yn te gean. De goedkarde "Altera USB Blaster" ferkeapet foar $50 en kin kocht wurde by Digikey en oare plakken. Ik haw ferskate klonen fan Ebay, wêrfan ien in kloon is dy't tagelyk Altera, Xilinx en Lattice stipet. Der is in projekt en koade op it ynternet dat brûkt wurde kin om jo eigen kloon te meitsjen, ik sil it neame yn myn list mei mooglike fideo's foar it projekt fan it meitsjen fan programmeurklonen. Ik sil ek in skyldûntwerp sjen litte wêryn it moederbord, Arduino, PIC, ensfh. programmearre wurde kinne.
De software dy't nedich is om de CPLD te kompilearjen en te programmearjen is fergees beskikber fan Altera, mar dit âlde ûnderdiel fereasket de âlde ferzje 9.1. It goede nijs is dat it myn favorite âlde ferzje wie. It hie in yntuïtive timing-analysator, mar dy is yn in lettere ferzje fuorthelle.
De PCB is in ienfâldich dûbelsidich ûntwerp, salang't de printplaat der mar yn past, brûk ik meast koper foar ierding en soms foar de stroomfoarsjenning. Soms rekket it gieten sa brutsen dat it eins problemen of slordige einresultaten feroarsaakje kin, dus kopergieten is wer in ark, mar it moat beheard wurde.
Tsjintwurdich befetsje in protte (as net de measte) CAD-softwarepakketten 3D-werjeften fan it einprodukt, hoewol de krektens fan 'e ôfbyldings mar sa krekt is as de 3D-modellen dy't brûkt wurde om de ûnderdielen te fertsjintwurdigjen. Hjir kinne jo sjen wêr't ik it 3D-model keazen haw foar de 44-pins socket, programmearferbining en oscillator. Hjir binne wat 3D-pakketten dy't ik graach brûk:
In protte bedriuwen hawwe ek 3D-modellen fan harren ûnderdielen. Molex is mar ien foarbyld fan in bedriuw dat op dit mêd goed wurk dien hat.
De flater dy't ik makke haw hat gjin ynfloed op de funksje lykas estetyk, en it is net it haadprobleem, dat is, it is net geskikt foar in inkele soldearleaze breadboard.
Doe't ik ienris tocht dat ik it ûntwerp mei elkenien diele koe, wie ik fuortendaliks ûntefreden mei de skematyske symboalen fan 'e CPLD en de pin-out fan 'e 40-pins connector, dat is syn totale foetôfdruk. Ik pakte in 40-pins dûbele rige connector symboal en oanpaste it nei in 1-inch foetôfdruk, mar de pinnûmers binne net 1, 2, 3, 4... mar binne nûmere 1 oan 'e kant lykas in DIP-pakket 3, 5, 7... krekt as lintkabelconnectors. Dêrom is it in net-yntuïtive foetôfdruk foar it bepalen hoe't jo ferbine moatte mei de module en problemen oplosse.
Likegoed binne de CPLD-pin-tawizings in bytsje betiizjend, en ik haw in set hulpprogramma's brûkt dy't fertrouwe op Boundary Scan Description Language (BSDL) om symboalen te meitsjen. De measte grutte leveransiers hawwe BSDL-bestannen beskikber foar har mainstream-komponinten, wêrmei jo (semi-)automatysk symboalen en pakketten kinne oanmeitsje. Lykas elke automatisearring moat it sjoen wurde as in ark en kin it fierdere massaazje nedich wêze foar de bêste resultaten. Yn dit gefal haw ik de pinnen yn alfabetyske folchoarder listje litten, wat hast willekeurich is by it folgjen fan de pinnen op it boerd. Ik kin allinich sizze dat ik dy dei tige benaud wie.
Jo betelje ûnderweis foar dizze fluchtoetsen. As ik dizze module oanpasse wol, sil ik in pinpleatsing bepale en jaan dy't oerienkomt mei it ûnderdiel sels, sadat it witten wêr't jo jo oscilloskoopsonde pleatse moatte like maklik is as it blêdzjen fan it skematyske symboal.
By it brûken fan printplaten binne d'r oare ferbetteringen dy't benammen estetysk of nuttich binne. De pin 1-yndikator moat faker foarkomme yn ferskate pakketten, en ik haw altyd leaver in ienfâldich ierdpunt om de oscilloskoop-ierding of VOM-lieding te ferbinen. Ik kin dit tafoegje troch in twa-pins ferbining ta te foegjen, sadat stroom en ierd direkt op it board kinne wurde tapast ynstee fan oan 'e ûnderste pinnen te klampen.
Foardat ik de printplaat oanpasse, wol ik der wis fan wêze dat it goed wurket ûnder fysike en estetyske problemen. Nei't ik it oanset hie en befêstige hie dat de oscillator goed wurket, haw ik de programmeur deryn stutsen. Hoewol de 3.3v-ferzje nijer is as de programmearsoftware, detektearre it de CPLD en werjûn it as in "ûnbekend" apparaat.
Dêrnei haw ik in teller makke yn Quartus en pinnûmers tawiisd. It rappe kompilearjen en downloaden en de tellerfunksje dy't de oscilloskoop sjocht, ferifiearje dat it ûntwerp útfierber is.
It snelle testcircuit yn Verilog is tige ienfâldich. De koade stiet hjirûnder neamd. Jo kinne in ZIP-bestân downloade mei it skema en it Verilog-testcircuit as in Quartus II-projekt (ferzje 9.1 is fereaske).
Lykas ik neamde, sil ik in twadde revisy fan 'e printplaat meitsje om mear omtinken te jaan oan 'e details dy't nedich binne by it dielen fan it ûntwerp of it dwaan fan in oantal problemen. Om't ik de breedte fan 'e ûnderste ferbining ynstelle moat op 0,9 inch of minder, kin ik it trochgean ynstelle op 0,6 inch, wat in standert "breed" DIP-pakket is. Dit dwaan betsjut dat de ûnderste pinnen út 'e CPLD-socket útstekke. Ik soe dit net dwaan yn in produksjesituaasje, om't it doe mei de hân yninoar set waard, mar ien fan 'e doelen wie om in hânsoldeerkit te meitsjen. It hânsoldeerkompromis is dat de oscillator wol yn in SMD-oerflakmontagebehuizing hoecht te sitten, de troch-gat-ferzje is tige grut en stipet meastentiids net it spanningsberik dat ik wol.
Is it mooglik om dizze modules te brûken om in folsleine ienfâldige kompjûter te bouwen? Ik tink dat ik ûnthâld tafoegje moat.
Lol... ja, it hinget ôf fan hokker soart kompjûter. "Echte" mikrokontrollers/mikrokompjûters wurde lykwols beynfloede troch de "pin bonding" fan 'e module, wat betsjut dat jo net genôch terminology út 'e module kinne krije om wat nuttichs te dwaan.
Ik haw in folsleine NTSC-kameratiming- en moduskontroller makke mei in grutte fan 64, sadat gjin prosessor nedich is.
De Strukturele Verilog en HDL dy't brûkt wurde yn it boek Nand nei Tetris binne mear of minder itselde.
Wêrom binne ûnderdielen mei trochgeande gatten? Lassen fan 0805 is maklik! No is it tiid foar elke ketellapper om dizze feardigens te learen.
As ik de boppeste socket oerlaapje lit mei de pinnen dy't fan ûnderen soldeard binne, dan kin ik "6 sintra" brûke (in chip mei 40 pins simulearje) of diagonaal, ensfh. Dit sil strikt mei de hân soldearje fan komponinten foar it solderen fan 'e ûnderste leads. De boppeste socket efter de fuotten.
Mar it is lestich foar begjinners om it fan ûnderen te solderen. As ik headers soldeer foar de PCB fan it breadboard (dizze goedkeape SMD-adapterboards dy't jo op eBay brûke kinne, kinne brûkt wurde foar prototyping), set ik de headers yn it breadboard, set dan de PCB derop, en dan kin ik maklik solderje. It is tige geskikt foar breadboards. As jo ​​it fan ûnderen solderje moatte, is it noch dreger.
As de CPLD yn 'e midden sit (kin makliker te bedraden wêze), kin it diagonaal ynstalleare wurde sûnder oerlaap, binne der 4 rigen, of de CPLD kin oan ien kant sitte:
Tankewol foar de tip om de ferbining yn it breadboard te stekken foardat jo solderje. Dy fan my is wat ynstabyl.
Hoe sit it mei de DIP-formaat breadboard-pinnen oan it iene ein en it "dongle"-type fan 'e chip-socket sels oan it oare ein? De chip kin oan 'e ein fan it breadboard hongen wurde. De routing sil strak wêze.
|####### ******************** |. Ja, ik haw besletten om Altera's "fergese" ferzje te brûken, krekt lykas Xilinx en Lattice "fergese" ferzjes hawwe. Ik moat de syklus mei Al Williams einigje om te begripen wat alle iepen stipe stipet, wat de spesifike attributen fan 'e apparaatsearje moat omfetsje. Dat sein hawende, ik haw in protte dien mei de fergese ferzje.
Ja, jo litte sjen dat de CPLD oerlaapt mei de pinnen, tink ik. As ik it goed folgje, kin dit lykje op rev 2. By it ûntwerpen foar (massa)produksje bin ik altyd allergysk foar de stap fan "hânsoldearassemblage", om't se oerlaapje (eins de soldearpinnen oan 'e net-komponintkant). ) Is al in mei de hân soldeard komponint), mar dit is gewoan in lytse kit, gjin produksje-oriïntearre ûntwerp. Ik haw gewoan wat gewoanten dy't op myn leeftyd lestich ôf te kommen binne. :)
Ik tink dat in T-foarmige printplaat mei CPLD en passive komponinten mei in breed T-foarmich diel tige nuttich wêze sil as it oan 'e râne fan it breadboard hongen wurdt. Iets fergelykber mei Adafruit RasPi T-Cobbler (http://www.adafruit.com/products/2028). Dit sil it measte fan it breadboardgebiet beskikber meitsje.
Spitigernôch sil it stopsetten it gebrûk yn sydprojekten slim beheine, krekt lykas al dy funksjegenerators basearre op XR2206 en ICL8038.
Nijsgjirrich idee. Ik fyn dizze twa chips moai. CPLD is net ferâldere, it is gewoan in goedkeapere manier om it te keapjen foar 3.3V.
Oangeande dyn "ûnsin"... do hast eins gjin nije layout makke om it op it breadboard te setten. Doch gewoan earst de tried op it breadboard, en dan de cpld op 'e tried. Of, as do de stroom- en ierdingsstrips fan ien fan harren ôflûke kinst, brûk dan 2 breadboards.
Oer Altium en Eagle. Hawwe jo KiCad beskôge? It hat gjin beheiningen dat jo Altium leaver hawwe as Eagle, en genereart standert DRC-flaters foar alle net-ferbûne pinnen. As jo ​​echt in pin iepenje wolle, moatte jo it fertelle. (Miskien allinich foar ynfier, net foar útfier, en it is noch net kontrolearre). In oare geweldige funksje is dat it heul maklik te learen is. It duorre mar in middei, en de poerbêste ynliedende hantlieding sette my op gong.
Ik haw leaver de (gruttere diel) smd boppe it trochgeande gat. Dy binne makliker te brûken. Jo hoege de pcb net hieltyd te draaien. (Der waarden guon domme flaters makke fanwegen spegeljen...). En jo hoege de lieding fan 'e wjerstân net troch te snijen. By it dielen fan in ûntwerp kinne meardere pakketten handich op in PCB of ien ûnderdiel pleatst wurde. SMD-wjerstân TH. (It makket de yndieling wol wat yngewikkelder).
Ik haw "KiCad Getting Started" yn pdf-formaat brûkt. De âlde ferzje dy't ik brûkte is 29 siden, en de lêste ferzje hat 52 siden. Jo kinne it fine yn oare tutorials (ynklusyf fideolinks): http://kicad-pcb.org/help/tutorials/
Ik wit dat [Chris Gemmell] fan Hackaday en The Amp Hour in searje oer Kicad makke hat http://kicad-pcb.org/help/tutorials/
Kicad kin nuttich wêze, lit my sjen wat der bart yn Rev 2. Tankewol foar jo suggestjes. Net-ferbûne ynputs binne in goed ding foar DRC (ERC), en foar ferbiningen en oare dingen dy't se sêft of IO hâlde, kinne de measte CAD-ûntkoppelingsberjochten meastentiids foarkommen wurde.
Fier in flugge test út en smit de ferbining yn in lege tabel, fier annotaasjes en DRC út. It joech my drc-flaters foar elke pin. It markearjen fan bekende net-ferbûne pinnen is lykwols hiel ienfâldich.
Ynsteld op passyf. Ik moat sykje (Komponent bewurkje -> Bewurkje mei bibleteekeditor. De bibleteekeditor iepenet en laadt jo komponint yn in apart finster, jo kinne elk diel fan 'e komponint kontrolearje of feroarje. De feroare komponint kin wurde bewarre of bywurke yn jo skematyske skema. Dit makket it heul maklik om komponinten te feroarjen. Ik jou net folle om 'e bibleteek. As jo ​​bygelyks cpld brûke, wolle jo betsjuttingsfolle nammen tawize oan 'e pinnen. Wichtiger is dat d'r in goede ynterface is om jo eigen komponinten te ûntwerpen.
Yn KiCad's ERC binne "net-ferbûne" pinnen in oar type pin as "passive pinnen", en alle "net-ferbûne" pinnen sille flaters generearje. De manier wêrop ERC wurket kin maklik oanpast wurde oan jo eigen foarkarren: Tools -> Electrical Rules Checker -> Opsjes.


Pleatsingstiid: 18 novimber 2021