ZIF vtičnica 14-pinska

Kompleksna programirljiva logična naprava (CPLD) je bistveni del strojne opreme v vašem repertoarju. Kot že ime pove, lahko te čipe programirate tako, da zagotavljajo logične funkcije, ki jih potrebujete. To je lahko zamenjava zastarelih čipov ali pa zgolj način učenja in preizkušanja različnih tehnologij. Kateri je boljši način učenja kot uporaba CPLD in njegovo preizkušanje?
Izdelal sem CPLD modul, da bi ga lahko priključil na marsikaj, vključno z brezspajkanimi testnimi ploščami, vendar sem se zamočil. Zdi se, da je razpoložljivi prostor za vtičnike na brezspajkani testni plošči 2,8 cm. Podnožje sem naredil široke 2,5 cm, tako da na obeh straneh ni prostora za vrsto žic. Uh.
Naj se vrnem nazaj in pokažem več o tem, kaj počnem. Želim izdelati programabilno logiko, ki jo je mogoče sestaviti kot komplet, jo je mogoče enostavno spajkati doma, jo je mogoče programirati v vezju in ki lahko deluje pri 3,3 ali 5 voltih.
Da bi realiziral komplet, ki ga je enostavno spajkati, sem uporabil staro CPLD komponento, ki je na voljo tudi v 3,3 V in 5 V različicah in bo ohranila svoje programiranje ne glede na napajanje. Sama logika je CPLD integrirano vezje iz serije Altera Max, ki je na voljo v dveh različicah, primernih za vezja z 32 ali 64 makrocelicami. Makrocelice so osnovni logični gradniki, ki se programirajo z logičnimi "izrazi" in nato medsebojno povežejo z drugimi makrocelicami prek programabilnih povezav.
Če pogledamo shemo, lahko vidimo, da nima veliko vsebine: v bistvu CPLD, vezje za programiranje v vezju in oscilator, ki poganja logiko CPLD.
Ta del se imenuje EPM7032 in EPM7064, uporabljata 44-pinski plastični nosilec čipa (PLCC), včasih imenovan J-vodilo zaradi oblike J-vodila. To ohišje je mogoče vstaviti v vtičnico skozi luknjo ali neposredno spajkati na tiskano vezje.
Vsebuje vgrajen oscilator, tako da lahko CPLD izvaja operacije s stanjem in samostojno ustvarja hitre števce brez potrebe po zunanji uri. Če je na voljo zunanja ura, se lahko visokohitrostna ura na modulu uporabi za ustvarjanje dogodka ure na vsakem naraščajočem ali padajočem robu zunanje ure, pri čemer se še vedno upoštevajo smernice CPLD/FPGA, kar pomeni, da bi morali namesto "asinhronega" krmiljenja vhodne ure resnično uporabiti notranje globalno omrežje ure. Nazivna napajalna napetost tega oscilatorja je med 1,8 in 5,5 volta.
Če si ogledate videoposnetek, boste videli, da razpravljam o svojih osebnih preferencah glede ravnanja s pinom "INH" na oscilatorju; preprosto povedano, ko preverim, ali so specifikacije v skladu s predpisi, jih ponavadi pustim pri miru.
Pri delu s takimi funkcijami so mi med razlogi, ki so mi šli na pamet, bili tudi moja nenaklonjenost neposrednemu povezovanju vhodnih pinov z napajalnimi tirnicami (če je le mogoče). To pomeni, da raje uporabljam serijske upore za omejevanje toka med prehodnimi pojavi, tudi če to ne bi bilo potrebno.
Skozi leta sem v proizvodnji (velike serije) opazil nekaj težav, občasno pa so stvari, kot je ciklično vklapljanje in izklapljanje napajanja, povzročile, da so imeli priključki, ki so neposredno priključeni na napajalno tirnico, višjo napetost kot sam čip, kar je slabo. Nazadnje, če priključka priključite na napajalno tirnico prek upora (bodisi napajalnega bodisi ozemljitvenega), si lahko ljudje premislijo in priključka uporabijo pozneje. To še posebej velja po mojih izkušnjah z neuporabljenimi vrati, verjetno veste, da teh vrat nikoli ne smete pustiti plavajočih ali nepovezanih. Z uporabo pull-up upora lahko priključite signal in uporabljate vrata, ne da bi prerezali bakrene sledi.
10-pinski konektor in nekaj uporov tvorijo programirno vezje. Če so vsi upori pull-up upori, bi uporabil mrežo uporov, vendar je eden od njih ozemljen.
Za programiranje takšnega neodvisnega CPLD-ja je potreben namenski programer. To mi je enostavno reči, ker jih imam običajno nekaj pri roki, če pa ga nimate, vam vstop v igro ne bo preveč boleč. Odobren "Altera USB Blaster" se prodaja za 50 dolarjev in ga je mogoče kupiti pri Digikeyju in drugod. Imam več klonov z Ebaya, eden od njih je klon, ki hkrati podpira Altero, Xilinx in Lattice. Na internetu je projekt in koda, ki ju lahko uporabite za izdelavo lastnega klona, ​​navedel ga bom na svojem seznamu možnih videoposnetkov za projekt izdelave klonov programerja. Prikazal bom tudi zasnovo ščita, v katerem je mogoče programirati matično ploščo, Arduino, PIC itd.
Programska oprema, potrebna za prevajanje in programiranje CPLD, je prosto dostopna pri Alteri, vendar ta stari del zahteva staro različico 9.1. Dobra novica je, da je bila to moja najljubša stara različica. Imela je intuitiven analizator časovnih parametrov, vendar je bil v kasnejši različici odstranjen.
Tiskano vezje je preprosta dvostranska zasnova, dokler se tiskano vezje prilega, ponavadi uporabljam baker za ozemljitev in včasih napajanje. Včasih je ulivanje tako poškodovano, da lahko dejansko povzroči težave ali površno končno obdelavo, zato je ulivanje bakra spet orodje, vendar ga je treba obvladovati.
Danes veliko (če ne večina) programskih paketov CAD vsebuje 3D-poglede končnega izdelka, čeprav je natančnost slik le toliko natančna, kot so natančni 3D-modeli, uporabljeni za predstavitev delov. Tukaj si lahko ogledate, kje sem izbral 3D-model za 44-pinsko vtičnico, programski konektor in oscilator. Tukaj je nekaj 3D-paketov, ki jih rad uporabljam:
Mnoga podjetja imajo tudi 3D-modele svojih komponent. Molex je le en primer podjetja, ki je na tem področju opravilo dobro delo.
Napaka, ki sem jo naredil, ne vpliva na funkcionalnost, kot je estetika, in ni glavna težava, torej ni primerna za eno samo brezspajkalno ploščo.
Ko sem pomislil, da bi lahko zasnovo delil s komerkoli, sem bil takoj nezadovoljen s shematskimi simboli CPLD in razporeditvijo pinov 40-pinskega konektorja, kar je njegov celotni odtis. Vzel sem simbol 40-pinskega dvovrstičnega konektorja in ga prilagodil na 1-palčni odtis, vendar številke pinov niso 1, 2, 3, 4 ... ampak so oštevilčene z 1 na strani kot pri DIP ohišju 3, 5, 7 ... tako kot pri konektorjih za tračne kable. Zato je odtis neintuitiven za določanje, kako se povezati z modulom in odpravljanje težav.
Podobno so dodelitve nožic CPLD nekoliko zmedene, zato sem za ustvarjanje simbolov uporabil nabor pripomočkov, ki se zanašajo na jezik BSDL (Boundary Scan Description Language). Večina večjih prodajalcev ima za svoje glavne komponente na voljo datoteke BSDL, ki omogočajo (pol)samodejno ustvarjanje simbolov in ohišja. Kot vsako avtomatizacijo je treba tudi nanjo gledati kot na orodje in za najboljše rezultate lahko zahteva dodatno pomoč. V tem primeru sem pustil, da nožice našteje po abecednem vrstnem redu, kar je skoraj naključno pri sledenju nožic na plošči. Lahko rečem le, da sem bil tisti dan zelo zaskrbljen.
Za te bližnjice plačaš kdaj na poti. Ko bom šel spreminjat ta modul, bom določil in mu dal lokacijo pinov, ki se ujema s samim delom, tako da bo vedeti, kam postaviti osciloskopsko sondo, tako enostavno kot pogledati na shematski simbol.
Pri uporabi tiskanih vezij obstajajo še druge izboljšave, ki so predvsem estetske ali uporabne. Indikator na pinu 1 mora biti v več ohišjih pogostejši in vedno imam raje preprosto ozemljitveno točko za priključitev ozemljitve osciloskopa ali VOM vodnika. To bi morda dodal z dvo-polnim konektorjem, tako da bi se napajanje in ozemljitev lahko dovajala neposredno na ploščo, namesto da bi bila pritrjena na spodnje pine.
Preden spremenim tiskano vezje, se želim prepričati, da pravilno deluje glede na fizične in estetske težave. Po vklopu in preverjanju delovanja oscilatorja sem priključil programator. Čeprav je 3,3-voltna različica novejša od programske opreme, je zaznala CPLD in ga prikazala kot "neznano" napravo.
Nato sem v Quartusu ustvaril števec in mu dodelil številke pinov. Hitro prevajanje in prenos ter funkcija števca, ki jo je videl osciloskop, potrjujejo, da je zasnova izvedljiva.
Hitro testno vezje v Verilogu je zelo preprosto. Koda je navedena spodaj. Datoteko ZIP, ki vsebuje shemo in testno vezje Verilog, lahko prenesete kot projekt Quartus II (zahteva različico 9.1).
Kot sem že omenil, bom naredil še eno revizijo tiskanega vezja, da bom bolj pozoren na podrobnosti, potrebne pri deljenju zasnove ali odpravljanju težav. Ker moram širino spodnjega konektorja nastaviti na 0,9 palca ali manj, jo lahko še naprej nastavim na 0,6 palca, kar je standardno "široko" DIP ohišje. To pomeni, da spodnji nožici štrlijo iz podnožja CPLD. Tega ne bi storil v proizvodnih pogojih, ker je bilo takrat sestavljeno ročno, vendar je bil eden od ciljev izdelava kompleta za ročno spajkanje. Kompromis pri ročnem spajkanju je, da mora biti oscilator v ohišju za površinsko montažo SMD, medtem ko je različica s skoznjo luknjo zelo velika in običajno ne podpira želenega napetostnega območja.
Ali je mogoče s temi moduli sestaviti popolnoma preprost računalnik? Mislim, da moram dodati pomnilnik.
Lol ... ja, odvisno od vrste računalnika. Vendar pa na "prave" mikrokontrolerje/mikroračunalnike vpliva "vezava pinov" modula, kar pomeni, da iz modula ne moreš dobiti dovolj terminologije, da bi naredil kaj preveč uporabnega.
Izdelal sem celoten krmilnik časa in načina kamere NTSC z velikostjo 64, tako da procesor ni potreben.
Strukturni Verilog in HDL, uporabljena v knjigi Nand to Tetris, sta bolj ali manj enaka.
Zakaj so deli skoznji? Varjenje 0805 je enostavno! Zdaj je čas, da se vsak mojster nauči te veščine.
Če zgornjo vtičnico naredim tako, da se prekriva s pini, ki so spajkani od spodaj, lahko uporabim "6 središč" (simuliram 40-pinski čip) ali diagonalo itd. To bo strogo ročno spajkanje komponent za spajkanje spodnjih vodnikov. Zgornja vtičnica je za nogami.
Za začetnike pa je težko spajkati od spodaj. Ko spajkam konektorje za tiskano vezje testne plošče (te poceni SMD adapterske plošče, ki jih lahko uporabite na eBayu, se lahko uporabijo za izdelavo prototipov), vstavim konektorje v testno ploščo, nato nanjo namestim tiskano vezje in potem lahko enostavno spajkam. Zelo primerno je za testne plošče. Če ga morate spajkati od spodaj, je še težje.
Če je CPLD na sredini (kar je morda lažje ožičiti), ga je mogoče namestiti diagonalno brez prekrivanja, v 4 vrstah ali pa je CPLD lahko na eni strani:
Hvala za nasvet, da pred spajkanjem vstavim konektor v testno ploščo. Moj je nekoliko nestabilen.
Kaj pa DIP-pini na enem koncu testne plošče in "dongle" tipa podnožja čipa na drugem koncu? Čip se lahko obesi na konec testne plošče. Napeljava bo tesna.
|####### ******************** |. Da, odločil sem se za uporabo "brezplačne" različice Altere, tako kot imata "brezplačne" različice tudi Xilinx in Lattice. Moram zaključiti cikel z Alom Williamsom, da bi razumel, kaj podpira vsa odprta podpora, kar mora vključevati specifične atribute serije naprav. Kljub temu sem z brezplačno različico naredil veliko.
Da, kažete, da se CPLD prekriva s pini, mislim. Če pravilno sledim, bi to lahko izgledalo kot rev 2. Pri načrtovanju za (množično) proizvodnjo sem vedno alergičen na korak "ročnega spajkanja", ker se prekrivajo (pravzaprav spajkani pini na strani, ki ni komponenta). ) Je že ročno spajkana komponenta), vendar je to le majhen komplet, ne pa proizvodno usmerjena zasnova. Imam le nekaj navad, ki se jih je pri mojih letih težko znebiti. :)
Mislim, da bo tiskano vezje v obliki črke T s CPLD in pasivnimi komponentami s širokim delom v obliki črke T zelo uporabno, če ga obesite na rob testne plošče. Nekaj ​​podobnega kot Adafruit RasPi T-Cobbler (http://www.adafruit.com/products/2028). Tako bo večina površine testne plošče na voljo.
Žal bo ukinitev močno omejila njegovo uporabo v stranskih projektih, tako kot vse tiste generatorje funkcij, ki temeljijo na XR2206 in ICL8038.
Zanimiva ideja. Všeč sta mi ta dva čipa. CPLD ni zastarel, je le cenejši način za nakup pri 3,3 V.
Glede tvojih "neumnosti" ... res nisi naredil nove postavitve, da bi to postavil na testno ploščo. Najprej si samo namestil žico na testno ploščo in nato nanjo CPLD. Ali pa, če lahko napajalne in ozemljitvene trakove snemaš z ene od njiju, uporabi dve testni plošči.
Glede Altiuma in Eaglea. Ste že razmišljali o KiCadu? Nima nobenih omejitev, da bi raje uporabljali Altium kot Eagle, in privzeto generira napake DRC za vse nepovezane pine. Če res želite odpreti pin, mu morate to povedati. (Morda samo za vhod, ne za izhod, in to še ni bilo preverjeno). Druga odlična lastnost je, da se ga je zelo enostavno naučiti. Trajalo je le eno popoldne, odličen uvodni priročnik pa mi je pomagal začeti.
Raje imam (večji del) SMD nad skoznjo luknjo. So lažji za uporabo. Ni vam treba ves čas obračati tiskanega vezja. (Zaradi zrcaljenja je bilo narejenih nekaj neumnih napak...). In ni vam treba rezati vodnika upora. Pri skupni rabi zasnove je mogoče več ohišij priročno namestiti na tiskano vezje ali na en sam del. SMD upor TH. (To nekoliko zaplete postavitev).
Uporabil sem priročnik "KiCad Getting Started" v formatu PDF. Stara različica, ki sem jo uporabljal, ima 29 strani, najnovejša pa 52. Najdete ga lahko v drugih vadnicah (vključno z video povezavami): http://kicad-pcb.org/help/tutorials/
Vem, da je [Chris Gemmell] iz Hackaday in The Amp Hour naredil serijo člankov o Kicadu http://kicad-pcb.org/help/tutorials/
Kicad bi lahko bil uporaben, bom videl, kaj se bo zgodilo v Rev 2. Hvala za vaše predloge. Nepovezani vhodi so dobra stvar za DRC (ERC), pri konektorjih in drugih stvareh, ki jih ohranjajo mehke ali V/I, pa se je večini sporočil CAD o prekinitvi povezave običajno mogoče izogniti.
Izvedite hiter test in vrzite konektor v prazno tabelo, zaženite opombe in DRC. Dalo mi je napake drc za vsak pin. Vendar pa je označevanje znanih nepovezanih pinov zelo preprosto.
Nastavljeno na pasivno. Moram iskati (Uredi komponento -> Urejanje z urejevalnikom knjižnice). Urejevalnik knjižnice se odpre in naloži vašo komponento v ločenem oknu, kjer lahko preverite ali spremenite kateri koli del komponente. Spremenjeno komponento lahko shranite ali posodobite v svoji shemi. To zelo olajša spreminjanje komponent. Knjižnica me ne zanima preveč. Na primer, če uporabljate cpld, želite dodeliti smiselna imena pinom. Še pomembneje je, da obstaja dober vmesnik za oblikovanje lastnih komponent.
V KiCad-ovem ERC-ju so "nepovezani" pini drugačna vrsta pinov od "pasivnih pinov" in vsi "nepovezani" pini bodo povzročili napake. Način delovanja ERC lahko preprosto prilagodite svojim željam: Orodja -> Preverjevalnik električnih pravil -> Možnosti.


Čas objave: 18. november 2021