Obsah:

Systém vývoje programovatelné logiky (CPLD) Ghetto: 13 kroků
Systém vývoje programovatelné logiky (CPLD) Ghetto: 13 kroků

Video: Systém vývoje programovatelné logiky (CPLD) Ghetto: 13 kroků

Video: Systém vývoje programovatelné logiky (CPLD) Ghetto: 13 kroků
Video: Bastlířské středy: Jan Pospíšil - Když procesor nestačí, FPGA zaskočí 2024, Červenec
Anonim
Systém vývoje programovatelné logiky (CPLD) Ghetto
Systém vývoje programovatelné logiky (CPLD) Ghetto

Posledních několik měsíců si užívám Ghetto Development System pro procesory AVR. Ve skutečnosti se tento téměř nulový dolarový nástroj ukázal tak fascinující a užitečný, že mě přimělo přemýšlet, zda je možné koncept rozšířit i na vývoj FPGA/CPLD. (FPGA: Field Programmable Gate Array. CPLD: Complex Programmable Logic Device.) Tak jsem trochu kopal na webu a přišel jsem s vývojovým systémem pro Atmel CPLD. Srovnání se zařízeními Altera ukazuje, že jejich pinout je stejný (v rámci omezení, která podrobně popisuji níže), takže také budou fungovat. Sestavením vývojové desky a kabelu rozhraní, které představím, a poté stažením nástrojů můžete vyvíjet vlastní aplikace CPLD. Vezměte prosím na vědomí následující omezení a omezení. Snažil jsem se vyvážit schopnosti a jednoduchost, abyste mohli stavět něco, co vás bude bavit a učit se pouze z 5V zařízení. Rozšíření systému na pokrytí dalších napětí (3,3 V, 2,5 V, 1,8 V podporují zařízení Atmel ve stejné rodině) není obtížné, ale komplikuje jak vývojovou desku, tak programovací kabel. Přeskočme to prozatím. Pamatujte, že na desku musíte zajistit napájení 5V. Pouze 44pinový PLCC. Konkrétně jsem naprogramoval Atmel ATF1504AS. Koncept Ghetto CPLD lze snadno rozšířit na další zařízení Atmel, ale toto zařízení vypadalo jako dobrý kompromis mezi cenou, snadným používáním a schopnostmi. Tento koncept by se měl rozšířit i na další zařízení, jako jsou zařízení od Altera, Xilinx, Actel atd. Ve skutečnosti bude rodina Max7000 EPM7032 a EPM7064 fungovat ve stejné zásuvce, pokud používáte 44pinové verze PLCC. Doposud jsem používal pouze programovací kabel Atmel, ale Altera Byte-Blaster je podporován softwarem Atmel a měl by také fungovat dobře. Je to vlastně trochu jednodušší konstrukce než kabel Atmel. (Postavil jsem verzi Atmel a funguje, takže verzi Altera jsem nezkoušel.) SparkFun nabízí verzi kabelu Altera za 15 $. Protože to bude fungovat jak pro Atmel, tak pro Alteru, doporučuji. Pokud se chystáte vyvíjet s díly Altera, budete chtít získat také software Altera. Ve skutečnosti jsem to nezkoušel, ale není důvod si myslet, že by to nefungovalo. Rychlost je omezená. Vzhledem k tomu, že vývojový systém Ghetto CPLD je postaven s ručním zapojením a bez pozemní roviny, neočekávejte spolehlivý provoz při rychlostech nad několik megahertzů. I když to není zaručeno, počet najetých kilometrů se může lišit! Samozřejmě, pokud vytvoříte prototyp hardwaru, který má základní rovinu, pak vaše CPLD může fungovat dobře i při vyšších rychlostech. Jen nečekejte, že to půjde rychle namontovat do Ghetto Development System.

Krok 1: Jděte na objednání dílů

Jděte na objednání dílů
Jděte na objednání dílů

Budete na to potřebovat 44kolíkovou zásuvku plcc, několik oddělovacích čepiček, některé neprogramované CPLD, zásuvky pro připojení prkénka, výsuvný odpor a možná nějakou desku perf. Pokud máte něco z toho ve své nevyžádané schránce, můžete ušetřit pár babek. Pro vaše pohodlí jsou zde čísla dílů Digikey: CONN PLCC SOCKET 44POS TIN PN: 1-822473-4-ND SOCKET IC OPEN FRAME 14POS.3 "PN: 3M5462-ND Množství: 2SOCKET IC OTEVŘENÝ RÁM 18POS.3 "PN: 3M5464-ND Množství: 2CAP ELECT 10UF 50V SU BI-POLAR PN: P1280-ND Množství: 1, C1CAP CER.10UF 50V 20% DISC RAD PN: 478 -4275-1-ND Množství: 4, C2-C5RES METAL FILM 5,10K OHM 1/4W 1% PN: P5.10KCACT-ND PC BOARD FR4 1-SIDE PPH 4.0X4.0 PN: V2010-ND IC CPLD 64 MACROCELL 10NS 44PLCC PN: ATF1504AS-10JC44-ND Několik dílů může mít minimální množství, ale mělo by být stále docela levné. Chcete-li postavit nějaké blinkenlights (krok 8) nebo vytvořit sadu spínačů (krok 9), můžete si objednat tyto také. Mějte na paměti, že Digikey má minimum 25 $, aby se vyhnul manipulačnímu poplatku, takže možná budete chtít získat pár dalších neprogramovaných CPLD nebo procesor AVR nebo dva jen tak pro zábavu. Doporučuji koupit programovací kabel Altera od SparkFun. Zde jsou čísla dílů. Získejte také kabel a konektor. (V opačném případě si objednejte díly pro kabel od společnosti Digikey, pokud stavíte vlastní.) Altera FPGA kompatibilní programátor PN: PGM-087052x5 Pin IDC páskový kabel PN: PRT-085352x5 Pin zahalený konektor záhlaví PN: PRT-08506

Krok 2: Získejte a nainstalujte software

Získejte a nainstalujte software
Získejte a nainstalujte software

Aktuálně používám řetězec nástrojů Atmel Prochip Designer 5.0. Tento nástroj vyžaduje, abyste se zaregistrovali u společnosti Atmel a vyplnili oficiální formulář žádosti. Řekl jsem jim, že jsem konstruktér, v současné době nezaměstnaný, a mým primárním cílem bylo naučit se jejich zařízení a VHDL (vše pravda, BTW). Schválili žádost o licenci. Jediným úlovkem je, že licence je dobrá pouze na 6 měsíců. Doufám, že do konce jeho platnosti najdu veřejný řetězec nástrojů. Altera má také řetěz nástrojů, na který se mohu podívat. Jakékoli návrhy budou oceněny. Viz komentáře a odkazy v posledním kroku. Atmel Prochip Designer 5.0 je zde. Pokud ho získáte, nezapomeňte si k němu pořídit také aktualizaci Service Pack 1.

Krok 3: Vytvořte programovací kabel

Vytvořte programovací kabel
Vytvořte programovací kabel

Nejjednodušší je zde koupit Altera Byte-Blaster od Sparkfunu (viz krok 1). Pokud je 15 $ více, než byste chtěli utratit, můžete použít schéma SparkFun Altera Cable nebo schéma Atmel Cable a scratch-build. (Pokud existuje velký zájem o vytváření kabelů od nuly, mohu nabídnout několik návrhů, ale sada Sparkfun se mi jeví jako správná odpověď.)

Krok 4: Vytvořte kolébku programátora

Vyrobte si kolébku programátora
Vyrobte si kolébku programátora
Vyrobte si kolébku programátora
Vyrobte si kolébku programátora
Vyrobte si kolébku programátora
Vyrobte si kolébku programátora

Podívejte se na programátora Atmel. To je velmi flexibilní a je to skvělá volba, pokud máte peníze a plánujete hodně vývoje CPLD. Věřím, že Altera nabízí něco podobného. Ale já jsem šel s levnějším přístupem - o tom to je! Obrázky ukazují pohled zepředu a zezadu na kolébku, kterou jsem postavil. Všimněte si DIP zásuvek používaných jako konektory na desce. Všechny kolíky na jedné straně každého konektoru jsou připojeny k zemi; piny na druhé straně se připojují k signálním kolíkům na CPLD. Zahrnul jsem také několik napájecích připojení; vložte je tam, kam se hodí. Diagramy jsou jakýmsi obrazovým schématem; nejsou zobrazena pouze další připojení napájení. Podívejte se na obrázky, kde najdete nápady.

Krok 5: Stavba kolébky - část 1

Stavba kolébky - 1. část
Stavba kolébky - 1. část
Stavba kolébky - 1. část
Stavba kolébky - 1. část

Začněte stavět kolébku vložením zásuvek na místa, kde je chcete mít. Nechte prázdnou řadu nebo dvě, aby bylo místo pro oddělovací čepice. To také usnadňuje připojení k signálním pinům CPLD. Zásuvky ukotvěte trochou pájky nebo epoxidu v závislosti na typu použité desky perf. V horní části (nad kolíkem 1 zásuvky CPLD) ponechte prostor navíc pro konektor JTAG a napájecí konektor. Podívejte se na obrázky toho, který jsem postavil. Veďte vnější vodič zdířek holým drátem (přibližně 20 gauge) pro zemní sběrnici. Směřujte také napájecí sběrnici. (Červený vodič na obrázcích.) Pokyny najdete na obrázcích, ale vaše deska bude pravděpodobně trochu jiná - a to je v pořádku. Pájte vnější kolíky zásuvek k pozemní sběrnici. To pomůže ukotvit vodič sběrnice.

Krok 6: Stavba kolébky - část 2

Budování kolébky - část 2
Budování kolébky - část 2
Budování kolébky - část 2
Budování kolébky - část 2

Nainstalujte oddělovací krytky a připojte je k uzemňovacím a napájecím kolíkům na každé straně zásuvky CPLD. Navrhuji vést dráty nahoru a přes vnější řady kolíků, aby se dostaly do vnitřních řad. Správné piny najdete v diagramech čísel pinů - pin -out zásuvky CPLD není zdaleka zřejmý. Ponechejte dostatek místa, aby bylo možné připojení ke všem kolíkům, přes které vedete vodiče. Jakmile je připojení čepičky hotové, připojte napájecí a zemnící sběrnici. Všechny červené piny na diagramech jsou Vcc a měly by být připojeny. Černé kolíky jsou uzemněny a měly by být také připojeny. Směrování ve vzduchu je opět dobrý přístup. Nápady najdete na obrázcích.

Krok 7: Stavba kolébky - závěr

Budování kolébky - závěr
Budování kolébky - závěr
Budování kolébky - závěr
Budování kolébky - závěr
Budování kolébky - závěr
Budování kolébky - závěr

Veďte připojení JTAG ke správným kolíkům. Podívejte se na svůj programovací kabel, abyste se ujistili, že je konektor správně orientován. Nezapomeňte na výsuv na čepu TDO. To je znázorněno pouze na obrázku a jde mezi pin TDO a Vcc. Posledním krokem je připojení každého I/O pinu CPLD ke kolíku na zásuvkách. Pro připojení použijte čísla v diagramech. To trvá nejdéle! Pokud budete postupovat podle mého schématu číslování, můžete při připojování obvodů použít diagram Top View jako vodítko. Opravdu nemusíte všechny tyto zpočátku spojovat, můžete počkat, dokud je nebudete potřebovat pro obvody, které navrhujete. Pečlivě zkontrolujte svou práci. Zajistěte, aby nedošlo ke zkratu napájení a země!

Krok 8: Vytvořte Blinkenlights (verze TTL)

Make Blinkenlights (verze TTL)
Make Blinkenlights (verze TTL)

Samozřejmě budete chtít vidět, jak vaše obvody fungují. Takže budete chtít nějaké blinkenlights (proslavené The Real Elliot). Jediným úlovkem je, že CPLD nemají tak silné výstupy, jaké mají procesory AVR. Použijte LED diody dimenzované na 10 ma použijte rezistory řady 1KOhm. Ty vám poskytnou jasné výstupní signály bez namáhání výstupů CPLD.

Krok 9: Proveďte přepínače

Proveďte přepínače
Proveďte přepínače
Proveďte přepínače
Proveďte přepínače

K zajištění podnětů pro vaše obvody budete potřebovat nějaké přepínače. Máte zde několik možností, ale požadavky jsou jiné než pro procesory AVR. Výstupy CPLD nemají vestavěné výsuvy a není snadné provádět softwarové debounování. (Je to možné, ale vyžaduje prostředky, které pravděpodobně budete chtít použít ve svých obvodech.) Zobrazené přepínače DIP poskytují několik přepínačů v praktickém balení, ale musí být vytaženy. Použil jsem 1K pull-up. Pushbutttony lze vyrobit pomocí obvodu, který Atmel doporučuje pro jejich demo desku. Schémata jsou na straně 36 nebo další. Další možností je připojit procesor AVR k poskytování podnětů - a dokonce kontrolovat reakce. Ale to je cvičení ponechané na studentovi.

Krok 10: Vytvořte svůj první obvod

Vytvořte svůj první okruh
Vytvořte svůj první okruh
Vytvořte svůj první okruh
Vytvořte svůj první okruh

Do této doby byste měli software získat a nainstalovat. Postupujte podle důkladného a podrobného tutoriálu a vytvořte svůj první jednoduchý obvod CPLD (brána se dvěma vstupy AND; nezjednoduší se). Ujistěte se, že jste vybrali správné zařízení (44 pinů PLCC, 5V, 1504AS [podrobnosti]) a vyberte čísla pinů I/O, která jsou k dispozici (použil jsem 14 a 16 jako vstupy; 28 jako výstup). Tyto podrobnosti se mírně liší od tutoriálu, ale neměly by vám dělat žádné potíže.

Krok 11: Naprogramujte svůj první CPLD

Naprogramujte svou první CPLD
Naprogramujte svou první CPLD
Naprogramujte svou první CPLD
Naprogramujte svou první CPLD

Připojte programovací kabel k paralelnímu portu na počítači, připojte jej k kolébce programátoru, připojte 5 voltů k napájecímu konektoru a podle pokynů ve skutečnosti naprogramujte úplně první CPLD. Vyberte správnou verzi kabelu. Všimněte si, že Altera Byte-Blaster je jednou z možností.

Krok 12: Otestujte si naprogramovanou součást

Otestujte si naprogramovanou část!
Otestujte si naprogramovanou část!
Otestujte si naprogramovanou část!
Otestujte si naprogramovanou část!

Odpojte programovací kabel od kolébky. Zapojte spínače a blikače do správných kolíků, zapněte napájení a vyzkoušejte to. Jelikož začínáte s jednoduchým obvodem, není testování velkou výzvou. Pokud to funguje, jste mimo provoz! Schéma pohledu shora vás provede připojením spínačů a blinkenlightů k testování.

Krok 13: Konec a některé webové zdroje

Konec a některé webové zdroje
Konec a některé webové zdroje

Účelem tohoto kurzu není naučit vás používat VHDL. (Právě se začínám učit, proto jsem vytvořil programátora, pamatujete?) To znamená, že jsem našel několik velmi užitečných návodů a několik užitečných zdrojů, na které vás mohu nasměrovat. Velmi si ceníme zpětné vazby a dalších návrhů. Všimněte si toho, že můžete také použít Ghetto CPLD Development System k osvojení si Verilogu a dalších CPLD programovacích technik, které hardware nezajímají. Zdroje VHDL na webu: Základy a některé odkazy zde a zde. Odkazy na nástroje zdarma. Návody, které mám rád, jsou tady a tady, ale najdete spoustu dalších. Nakonec (prozatím) budete chtít navštívit diskusní skupinu. Užívejte si, učte se hodně a sdílejte, co víte.

Doporučuje: