ZIF patice 14 pinů

Komplexní programovatelná logická součástka (CPLD) je nezbytnou součástí vašeho hardwaru. Jak název napovídá, tyto čipy můžete naprogramovat tak, aby poskytovaly potřebné logické funkce. Může to být náhrada zastaralých čipů nebo jen způsob, jak se učit a vyzkoušet si různé technologie. Existuje snad lepší způsob, jak se učit, než používat CPLD a vyzkoušet si ho?
Vytvořil jsem CPLD modul, abych ho mohl zapojit do mnoha věcí, včetně nepájivých desek, ale zpackal jsem to. Zdá se, že dostupný zásuvný prostor na nepájivé desce je 1,1 palce. Udělal jsem základovou desku širokou 1 palec, takže na obou stranách nezbývá místo pro řadu vodičů. Ehm.
Ale dovolte mi vrátit se k tomu a ukázat více o tom, co dělám. Chci vyrobit programovatelnou logiku, kterou lze sestavit jako stavebnici, snadno připájet doma, naprogramovat v obvodu a která může fungovat na 3,3 nebo 5 voltech.
Abych vytvořil snadno pájetelnou sadu, použil jsem starou CPLD součástku, která je k dispozici také ve verzích pro 3,3 V a 5 V a zachová si své programování bez ohledu na napájení. Samotná logika je CPLD integrovaný obvod z řady Altera Max, dostupný ve dvou verzích, vhodných pro desky plošných spojů s 32 nebo 64 makrobuňkami. Makrobuňky jsou základní logické stavební bloky, které se programují pomocí logických „termínů“ a poté se propojují s dalšími makrobuňkami pomocí programovatelných propojení.
Při pohledu na schéma zapojení vidíte, že nemá mnoho obsahu: v podstatě CPLD, programovací obvod a oscilátor, který řídí logiku CPLD.
Tato součástka se nazývá EPM7032 a EPM7064 a používá 44pinový plastový nosič čipů (PLCC), někdy nazývaný J-vodič kvůli tvaru J. Toto pouzdro lze vložit do patice s průchozím otvorem nebo přímo připájet k desce plošných spojů.
Obsahuje integrovaný oscilátor, takže CPLD může provádět operace stavově a vytvářet rychlé čítače samostatně bez nutnosti externích hodin. Pokud jsou k dispozici externí hodiny, lze vysokorychlostní hodiny na modulu použít k vytvoření události hodin na každé náběžné nebo sestupné hraně externích hodin a stále dodržovat pokyny CPLD/FPGA, to znamená, že byste měli skutečně použít interní globální síť hodin namísto „asynchronního“ řízení vstupu hodin. Jmenovité napájecí napětí tohoto oscilátoru je mezi 1,8 a 5,5 volty.
Pokud se podíváte na video, uvidíte, že popisuji své osobní preference ohledně zacházení s pinem „INH“ na oscilátoru; jednoduše řečeno, poté, co zkontroluji, zda jsou specifikace v pořádku, mám tendenci to nechat být.
Při práci s takovými funkcemi mi mezi důvody, které mi bleskly hlavou, patřila moje nechuť k přímému připojení vstupních pinů k napájecím kolejnicím (pokud je to možné). To znamená, že dávám přednost použití sériových rezistorů k omezení proudu během přechodových jevů, i když by to nemělo být potřeba.
V průběhu let jsem se ve výrobě (velké série) setkal s určitými problémy a občas se stalo, že například cyklování napájení způsobilo, že piny přímo připojené k napájecí sběrnici měly vyšší napětí než samotný čip, což je špatné. Nakonec připojte pin k napájecí sběrnici přes rezistor (ať už napájecí nebo zemnící) a lidé si to mohou rozmyslet a pin později použít. To platí zejména z mých zkušeností s nepoužívanými dvířky, pravděpodobně víte, že tato dvířka by nikdy neměla zůstat volná nebo nezapojená. Použitím pull-up rezistoru můžete připojit signál a používat bránu bez přeříznutí měděných vodičů.
10pinový konektor a několik rezistorů tvoří programovací obvod. Pokud by všechny rezistory byly pull-up rezistory, použil bych rezistorovou síť, ale bohužel jeden je uzemněný.
K naprogramování takového nezávislého CPLD je potřeba specializovaný programátor. To se mi snadno říká, protože jich obvykle mám po ruce několik, ale pokud žádný nemáte, nebude pro vás vstup do hry příliš bolestivý. Schválený „Altera USB Blaster“ se prodává za 50 dolarů a lze jej zakoupit na Digikey a dalších místech. Mám několik klonů z Ebay, jeden z nich je klon, který zároveň podporuje Alteru, Xilinx a Lattice. Na internetu je projekt a kód, který lze použít k vytvoření vlastního klonu, uvedu ho v seznamu možných videí k projektu výroby klonů programátoru. Také ukážu návrh shieldu, ve kterém lze programovat základní desku, Arduino, PIC atd.
Software potřebný ke kompilaci a programování CPLD je volně dostupný od společnosti Altera, ale tato stará část vyžaduje starou verzi 9.1. Dobrou zprávou je, že to byla moje nejoblíbenější stará verze. Měla intuitivní analyzátor časování, ale ten byl v pozdější verzi odstraněn.
Deska plošných spojů je jednoduchá oboustranná konstrukce, pokud se do ní vejde, obvykle používám měď pro uzemnění a někdy i pro napájení. Někdy se zalévání mědí tak rozbije, že to může způsobit problémy nebo nedbalé konečné výsledky, takže zalévání mědí je opět nástroj, ale je třeba s ním zacházet opatrně.
Dnes mnoho (ne-li většina) CAD softwarových balíčků obsahuje 3D pohledy na konečný produkt, ačkoli přesnost obrázků je jen taková, jako přesnost 3D modelů použitých k reprezentaci součástí. Zde vidíte, kde jsem zvolil 3D model pro 44pinovou patici, programovací konektor a oscilátor. Zde je několik 3D balíčků, které rád používám:
Mnoho společností má také 3D modely svých součástek. Molex je jen jedním z příkladů společností, které se v této oblasti dařilo.
Chyba, které jsem se dopustil, neovlivňuje funkci, jako je estetika, a není to hlavní problém, tedy není to vhodné pro jednu nepájivou desku.
Jakmile jsem si pomyslel, že bych se o návrh mohl s někým podělit, okamžitě jsem byl nespokojen se schématickými symboly CPLD a s rozložením pinů 40pinového konektoru, což je jeho celková délka. Vzal jsem si symbol 40pinového dvouřadého konektoru a upravil ho na 1palcovou velikost, ale čísla pinů nejsou 1, 2, 3, 4... ale jsou očíslována 1 na boku jako u DIP pouzdra 3, 5, 7... stejně jako u konektorů plochého kabelu. Proto se jedná o neintuitivní velikost pro určení, jak se připojit k modulu a řešit problémy.
Podobně je přiřazení pinů CPLD trochu matoucí a k vytváření symbolů jsem použil sadu utilit, které se spoléhají na jazyk BSDL (Boundary Scan Description Language). Většina hlavních dodavatelů má pro své běžné komponenty k dispozici soubory BSDL, které umožňují (polo)automaticky vytvářet symboly a pouzdra. Stejně jako na jakoukoli automatizaci je třeba ji vnímat jako nástroj a pro dosažení nejlepších výsledků může vyžadovat další úpravy. V tomto případě jsem nechal program seřadit piny v abecedním pořadí, což je při sledování pinů na desce téměř náhodné. Mohu jen říct, že jsem ten den měl velké obavy.
Za tyto zkratky zaplatíte někdy na cestách. Až půjdu tento modul upravovat, určím a přiřadím mu umístění pinů, které odpovídá samotné součástce, takže vědět, kam umístit sondu osciloskopu, je stejně snadné jako letmý pohled na symbol schématu.
Při použití desek plošných spojů existují i ​​další vylepšení, která jsou převážně estetická nebo užitečná. Indikátor pinu 1 by měl být v několika pouzdrech běžnější a já vždy preferuji jednoduchý zemnící bod pro připojení uzemnění osciloskopu nebo vodiče VOM. Možná bych to doplnil přidáním dvoupinového konektoru, aby bylo možné napájení a zem přivést přímo na desku, místo aby byly připojeny ke spodním pinům.
Než upravím desku plošných spojů, chci se ujistit, že funguje správně z hlediska fyzických a estetických problémů. Po zapnutí a ověření, že oscilátor funguje správně, jsem zapojil programátor. Ačkoli je 3,3V verze novější než programovací software, detekovala CPLD a zobrazila ji jako „neznámé“ zařízení.
Dále jsem v Quartusu vytvořil čítač a přiřadil mu čísla pinů. Rychlá kompilace a stahování dat a funkce čítače, kterou osciloskop viděl, ověřují, že návrh je proveditelný.
Rychlý testovací obvod ve Verilogu je velmi jednoduchý. Kód je uveden níže. Soubor ZIP obsahující schéma zapojení a testovací obvod ve Verilogu si můžete stáhnout jako projekt v Quartus II (vyžaduje verzi 9.1).
Jak jsem zmínil, provedu druhou revizi desky plošných spojů, abych věnoval více pozornosti detailům potřebným při sdílení návrhu nebo řešení jakýchkoli problémů. Protože musím nastavit šířku spodního konektoru na 0,9 palce nebo méně, mohu ji i nadále nastavovat na 0,6 palce, což je standardní „široké“ DIP pouzdro. To znamená, že spodní piny musí vyčnívat z patice CPLD. V sériové výrobě bych to nedělal, protože se v té době montovalo ručně, ale jedním z cílů bylo vyrobit sadu pro ruční pájení. Kompromisem při ručním pájení je, že oscilátor musí být v SMD pouzdře pro povrchovou montáž, verze s průchozím otvorem je velmi velká a obvykle nepodporuje požadovaný rozsah napětí.
Je možné použít tyto moduly k sestavení kompletního jednoduchého počítače? Myslím, že potřebuji přidat paměť.
Lol... ano, záleží na typu počítače. Nicméně „skutečné“ mikrokontroléry/mikropočítače jsou ovlivněny „propojením pinů“ modulu, což znamená, že z modulu nezískáte dostatek terminologie k tomu, abyste s ním mohli dělat něco užitečného.
Vytvořil jsem kompletní řadič časování a režimů kamery NTSC o velikosti 64, takže není potřeba žádný procesor.
Strukturální Verilog a HDL použité v knize Nand to Tetris jsou víceméně stejné.
Proč jsou díly s průchozími otvory? Svařování 0805 je snadné! Nyní je čas, aby se tuto dovednost naučil každý dráteník.
Pokud udělám, aby horní patice překrývala piny pájené zespodu, můžu použít "6 středů" (simulující 40pinový čip) nebo diagonálu atd. Toto bude striktně ruční pájení součástek pro pájení spodních vývodů. Horní patice je za nožičkami.
Pro začátečníky je ale obtížné to pájet zespodu. Když pájím headery pro desku plošných spojů (tyto levné SMD adaptéry, které se dají koupit na eBay, se dají použít na prototypování), vložím headery do desky, pak na ni položím desku plošných spojů a pak už můžu snadno pájet. Je to velmi vhodné pro desky. Pokud to potřebujete pájet zespodu, je to ještě obtížnější.
Pokud je CPLD uprostřed (může být snazší ho zapojit), lze jej instalovat diagonálně bez překrývání, jsou zde 4 řady, nebo může být CPLD na jedné straně:
Díky za tip, jak před pájením zasunout konektor do nepájivého pole. Ten můj je trochu nestabilní.
A co takhle DIP piny na nepájivém poli na jednom konci a "dongle" typ samotné patice čipu na druhém konci? Čip lze zavěsit na konec nepájivého pole. Směrování vedení bude těsné.
|####### ******************** |. Ano, rozhodl jsem se použít „bezplatnou“ verzi od Altery, stejně jako Xilinx a Lattice mají „bezplatné“ verze. Potřebuji zakončit cyklus s Alem Williamsem, abych pochopil, co všechno otevřená podpora podporuje, což musí zahrnovat specifické atributy dané řady zařízení. Nicméně s bezplatnou verzí jsem toho udělal hodně.
Ano, ukazujete, že CPLD se, myslím, překrývá s piny. Pokud to sleduji správně, mohlo by to vypadat jako rev 2. Při navrhování pro (hromadnou) výrobu jsem vždycky alergický na krok „ručního pájení“, protože se překrývají (ve skutečnosti pájecí piny na straně, která není součástí komponenty). ) Už je to ručně pájená komponenta), ale tohle je jen malá stavebnice, ne návrh zaměřený na výrobu. Mám jen pár zlozvyků, kterých se v mém věku těžko zbavuji. :)
Myslím, že deska plošných spojů ve tvaru T s CPLD a pasivními součástkami se širokou částí ve tvaru T bude velmi užitečná, když se zavěsí na okraj nepájivého pole. Něco podobného jako Adafruit RasPi T-Cobbler (http://www.adafruit.com/products/2028). Tím se uvolní většina plochy nepájivého pole.
Ukončení výroby bohužel výrazně omezí jeho použití ve vedlejších projektech, stejně jako u všech generátorů funkcí založených na XR2206 a ICL8038.
Zajímavý nápad. Tyhle dva čipy se mi líbí. CPLD není zastaralé, je to jen levnější způsob, jak ho koupit na 3,3 V.
Ohledně tvých "nesmyslů"... opravdu jsi nevytvořil nové rozvržení pro umístění na nepájivé pole. Prostě jsi nejdřív na pole umístil vodič a pak na něj umístil CPLD. Nebo, pokud můžeš z jednoho z nich stáhnout napájecí a zemnící proužky, použij dvě nepájivá pole.
Ohledně Altia a Eagle. Zvažoval jsi KiCad? Nemá žádná omezení, která by znamenala, že bys preferoval Altium před Eagle, a standardně generuje chyby DRC pro všechny nezapojené piny. Pokud chceš pin opravdu otevřít, musíš mu to říct. (Možná jen pro vstup, ne pro výstup, a to ještě nebylo ověřeno). Další skvělou funkcí je, že se s ním velmi snadno naučíš. Trvalo to jen odpoledne a skvělý úvodní manuál mi pomohl začít.
Dávám přednost (větší části) SMD rezistoru nad průchozím otvorem. Jsou snadněji použitelné. Nemusíte s deskou plošných spojů neustále otáčet. (Kvůli zrcadlení došlo k několika hloupým chybám...). A nemusíte řezat vývody rezistoru. Při sdílení návrhu lze na desku plošných spojů nebo na jeden díl pohodlně umístit více pouzder. SMD rezistor TH. (Trochu to komplikuje rozvržení).
Použil jsem příručku „KiCad Getting Started“ ve formátu PDF. Starší verze, kterou jsem používal, má 29 stran a nejnovější verze má 52 stran. Najdete ji v dalších tutoriálech (včetně video odkazů): http://kicad-pcb.org/help/tutorials/
Vím, že [Chris Gemmell] z Hackaday a The Amp Hour natočil sérii článků o Kicadu http://kicad-pcb.org/help/tutorials/
Kicad by mohl být užitečný, uvidím, co se stane v Rev 2. Děkuji za vaše návrhy. Nepřipojené vstupy jsou pro DRC (ERC) dobrá věc a u konektorů a dalších věcí, které je udržují softwarové nebo IO, se většině hlášení o odpojení CADu obvykle lze vyhnout.
Spusťte rychlý test a vložte konektor do prázdné tabulky, spusťte anotace a DRC. Vypsalo mi to chyby drc pro každý pin. Označení známých nezapojených pinů je ale velmi jednoduché.
Nastaveno na pasivní. Musím hledat (Upravit komponentu -> Upravit pomocí editoru knihovny). Editor knihovny se otevře a načte komponentu v samostatném okně, můžete zkontrolovat nebo změnit jakoukoli část komponenty. Změněnou komponentu lze uložit nebo aktualizovat ve vašem schématu zapojení. Díky tomu je změna komponent velmi snadná. O knihovnu se moc nestarám. Například pokud používáte cpld, chcete pinům přiřadit smysluplné názvy. A co je důležitější, existuje dobré rozhraní pro návrh vlastních komponent.
V ERC KiCadu jsou „nezapojené“ piny jiným typem pinů než „pasivní piny“ a všechny „nezapojené“ piny generují chyby. Způsob, jakým ERC funguje, lze snadno upravit podle vašich preferencí: Nástroje -> Kontrola elektrických pravidel -> Možnosti.


Čas zveřejnění: 18. listopadu 2021