. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
CPLD a FPGA 2.díl – XC9572 a vývojová deska
24. května 2011 - 7:10 | Pandatron | CPLD a FPGA 2.díl – XC9572 a vývojová deska | Komentářů: 6  

CPLD a FPGA 2.díl – XC9572 a vývojová deska

Malá vývojová deska s obvodem CPLD umožní seznámení se a architekturou konfigurovatelných hradlových polí a poslouží jako jednoduchý výukový přípravek.

Rád bych s odstupem času navázal na první díl seriálu o obvodech CPLD a FPGA. V článku CPLD a FPGA 1.díl - popis obvodů byla popsána základní koncepce programovatelných hradlových polí, rozdíl mezi obvody CPLD a FPGA i základní přehled obvodů z produkce společnosti Xilinx. Samozřejmě se nám od té doby mnoho věcí změnilo. Vývojové prostředí ISE Design Suite je nyní ve verzi 13.1 a ve variantě ISE WebPACK dostupné stále zdarma. I samotné obvody již nekončí řadou Virtex 5 a Spartan 5, ale kromě 6 řady byla již představena řada obvodů Artix 7, Kintex 7 a nejvýkonnější zástupce řady, obvod Virtex 7. Viz. například krátká zpráva Xilinx řady 7 - první informace.

Já bych však začal tím jednodušším, tedy obvody CPLD. Zde se situace nijak zvlášť nemění. Stále jsou dostupné obvody řad XC9500, XC9500XV a XC9500XL, dostupné i pro automobilový průmysl. Pro větší projekty jsou pak určeny obvody řady CoolRunner-II a CoolRunner XPLA3. Všechny tyto obvody mají jednoho společného jmenovatele a tím je rodina CPLD (Complex Programmable Logic Device). Jak jsme si v prvním díle seriálu uvedli (a doplnili blokovým diagramem), jedná se o jednoduchá konfigurovatelná hradlová pole, vycházející z obvodů PAL. Obvody obsahují od 32 do 512 makrobuňek (tzv. Macrocell), které tvoří zároveň jejich základní stavební prvek. Jak je vidět z příkladu jedné makrobuňky na obr. 1, základem každé z nich je vždy jeden klopný obvod a celá řada podpůrných logických prvků.


Obr. 1: Blokové schéma jedné makrobuňky z obvodu Xilinx CoolRunner II

Pokud bychom šli ještě více do hloubky, zjistili bychom, že uvedené obvody obsahují od 750 do 12.000 hradel, tedy zhruba 20 hradel na jednu makrobuňku. Nemusíme se však ničeho bát, velkou výhodou je, že minimálně ze začátku nemusíme o funkci jednotlivých makrobuněk prakticky nic vědět. Kapitolu bych tedy jen uzavřel srovnáním, že obvody řady FPGA Virtex 7 obsahují téměř dva miliony logických buněk, což je ekvivalent makrobuněk z obvodů CPLD.

Základní představu o dostupné kapacitě může nabídnout následující tabulka ekvivalentů standardních logických obvodů z řady TTL.


Obr. 2: Náročnost ekvivalentů základních logických obvodů z řady TTL

Obvody XC9572XL
Obvody Xilinx řady XC9572XL jsou již řadu let, dalo by se říci, takovým základním představitelem obvodů CPLD. Jak již z názvu vyplývá, obsahují celkem 72 makrobuňek a XL na konci na konci jejich názvu nám může prozradit, že se jedná o obvody s napájením 3,3V, ale s 5 V tolerantními vstupy. To znamená, že obvody pro svou činnost vyžadují pouze jediné, 3,3 V napájení, což je i napětí, které poskytují na svých pinech, ale v případě vstupních pinů snesou i přímé připojení 5 V (například mikrokontroléru).


Obr. 3: Vnitřní blokové schéma obvodu Xilinx XC9572XL

Mezi další hlavní vlastnosti obvodů XC9572XL patří podpora pracovní frekvence až 178 MHz a 5 ns zpoždění průchodu signálu od jednoho pinu do druhého. Obvody jsou dostupné celkem ve čtyřech provedeních, lišících se pouzdrem a počtem I/O pinů. Dostupné jsou varianty od 34 do 72 uživatelských I/O.

Z blokového diagramu na obr. 3 je vidět, že všechny I/O piny jsou si rovny. To je hlavní rozdíl od mikrokontrolérů, které mají obvykle pevně daný význam jednotlivých pinů a jejich alternativních funkcí. Zde je možné kterýkoliv z pinů použít jako vstup nebo výstup libovolné naší aplikace. Speciálně označené piny slouží pouze jako podpora vnitřní funkce. Jedná se o piny GCK – Global Clock, GSR – Global Set/Reset a GTS – Global Output Enable, ale o těch až někdy jindy.

Konfigurace (obdoba programování) obvodů probíhá přes standardní rozhraní JTAG (IEEE Standard 1149.1) a přímo vývojové prostředí ISE Design Suite podporuje i jednoduché programátory na paralelní port. Viz. odkaz pod článkem. Výhodou a rovněž rozdílem uvedených obvodů CPLD od FPGA je také to, že tyto obvody mají přímo ve svém čipu integrovanou paměť typu non-volatile, tedy eeprom. Výrobce garantuje, že paměť zvládne až 2.000 cyklů zápisu/smazání.

To by tak pro začátek stačilo a nyní můžeme přejít k vývojové desce.

Vývojová deska pro CPLD - PXC72-1
Pro bližší seznámení a první pokusy s programovatelnými hradlovými poli je samozřejmě vhodné mít k dispozici nějaký vývojový kit. Jelikož je však takových kitů, které by byly zároveň snadno dostupné, poměrně málo, rozhodl jsem se vytvořit vlastní modul. Výhodou PXC72-1 pro obvody XC9572XL v provedení VQFP-44 je jednoduché použití, integrace napájecího regulátoru i generátoru hodinového signálu a samozřejmě také nízká cena. Nesmíme navíc zapomenout na výhodu v jednotné koncepci pro všechny následující díly seriálu.

Schéma zapojení:
Na následujícím obrázku je uvedeno schéma modulu PXC72-1.


Obr. 4: Schéma zapojení modulu – vývojové desky PXC72-1

Základem modulu – vývojové desky je samozřejmě již zmíněný obvod Xilinx XC9572XL-10VQG44C (IO1) v provedení VQFP-44. Obvod má celkem 34 uživatelských I/O pinů, přičemž všechny jsou vyvedeny na dvě dvaceti-pinové lišty J3 a J4 (celkem 40 pinů). Jedná se o standardní pozlacené lišty s roztečí 100 mil, které směrují na spodní část modulu. Navzájem jsou od sebe vzdáleny 600 mil, což je přesně tolik, kolik má standardní 40-pinová patice pro IO. Na modul tak v případě potřeby není nutné navrhovat speciální pouzdro, stačí vzít patici DIL-40.

Napájecí napětí se pro modul stabilizuje obvodem MCP1703T-33 (IO2) na 3,3V. Vstupní napětí, které může být v rozmezí od 4 do 15 V DC (dle případné zátěže) se přivádí buď ze standardního síťového adaptéru na konektor J1 (kladný pól na středním kolíku), nebo je možné využít piny 18 a 19 lišty J4. Na pinu 17 lišty J4 je dostupné stabilizované napětí 3,3 V, určené pro napájení případných dalších obvodů. Je však nutné počítat s tím, že regulátor je schopen dodat celkový proud jen 250 mA při maximální výkonové ztrátě 150 mW (obvod nemá přídavný chladič).

Jako možný zdroj hodinového signálu je na desce osazen obvod TLC555 (obdoba klasického 555 pro 3,3V) – IO3. Obvod je zapojen v klasické astabilní konfiguraci s možností plynulé regulace výstupní frekvence. Použití odporového trimru typu PVZ3A umožnilo i vypuštění obvyklého omezovacího rezistoru i pinu č. 7. Výstupní signál je z obvodu veden přes 0R rezistor R3 na pin I/O 1 (GCK3) obvodu IO1. Rezistor R3, který je umístěn na horní straně desky, umožňuje v případě potřeby svým odpájením odpojení obvodu IO3 a použití externího generátoru na pinu č. 5 lišty J4.

Pro základní pokusy s obvodem je na desce osazen i jeden tlačítkový spínač a čtyři LED. Tlačítko Tl1 spíná kladné napětí na pin I/O 3 a čtyři červené LED D1 až D4 se nacházejí na pinech I/O 5, 6, 7 a 8.

Spojení s JTAG programátor zajišťuje konektor J2, který je pinově kompatibilní s programátory PRESTO firmy ASIX.

Základní vlastnosti:
  • Základem je obvod Xilinx XC9572XL-10VQG44C
  • Provedení schopné s běžnou paticí DIL-40
  • Dostupných všech 34 I/O pinů
  • TLC555 jako generátor hodinového signálu (GCK3)
  • Tlačítko a čtyři LED usnadňují vývoj
  • Napájecí napětí v rozmezí 4 až 15 V DC
  • Vyvedení 3,3 V napětí

Obr. 5: Rozložení a význam pinů na modulu PXC72-1

 

Konstrukce:
Vývojová deska PXC72-1 je sestavena na oboustranné desce s plošnými spoji s maskou a potiskem, dle následujících obrázků.


Obr. 6: Rozmístění součástek
PXC72-1
TOP

Obr. 7: Plošný spoj
PXC72-1 (pro originál 600dpi klikněte)
TOP

Obr. 8: Rozmístění součástek
PXC72-1
BOTTOM

Obr. 9: Plošný spoj
PXC72-1 (pro originál 600dpi klikněte)
BOTTOM

Vyjma konektorů a jsou všechny součástky v SMD provedení, obvykle ve velikosti 0603. Všechny součástky jsou zcela běžné, žádná nedostupná specialita zde nebyla použita.

Seznam součástek:


Obr. 10: Fotografie modulu PXC72-1

První aplikace
První aplikaci si necháme již do dalšího dílu seriálu o obvodech CPLD a FPGA. Aby však modul dělal něco již po prvním zapnutí, je do něho po výrobě nastavena konfigurace podle schéma na obr. 11. Ta zajistí pravidelné blikání LED podle binární čítačky s možností zastavení stiskem tlačítka Tl.1.


Obr. 11: Schéma konfigurace první aplikace, která je po výrobě nastavena do modulu

Závěr:
V dalším pokračování seriálu o obvodech FPGA a CPLD si krok za krokem ukážeme vytvoření první ukázkové aplikace a její naprogramování do obvodu.

Uvedený sestavený a oživený modul, nebo samostatné desky s plošnými spoji, naleznete v našem elektronickém obchodě na adrese shop.pandatron.cz.

Odkazy & Download:
Domovská stránka společnosti Xilinx
Přehled distributorů a kontaktů

CPLD Families
Informace o obvodech řady XC9500XL
Xilinx řady 7 - první informace

PRESTO - rychlý USB programátor
Xilinx JTAG Programming Cables
Simple Xilinx JTAG







GooglePlus1 FaceBook Twitter del.icio.us DiGG Google StumbleUpon Google Buzz Email RSS PDF Tisk
Příbuzné články:
CPLD a FPGA 1.díl - představení obvodů
CPLD a FPGA 2.díl – XC9572 a vývojová deska
CPLD a FPGA 3.díl – První aplikace

Komentáře (6):

Zobrazit starší 30 dnů (6)...



Název příspěvku: Vaše jméno: host
                 
  Zakázat formátování [Zakáže kódování a nahrazování smajlíky.]
Připojit soubory
reklama:
Vývojový kit MEGA328
Nejvýkonnější varianta univerzálního a bohatě vybaveného vývojového kitu s obvodem ATmega328 společnosti ATMEL je vhodná jak pro začátečníky, tak i profesionály.
Skladem od 795 Kč

Informace uvedené v článcích jsou platné v době jejich vydání a samotné články jsou určeny pouze jako zdroj informací. Autor článku ani správce webu nenesou žádnou zodpovědnost za případné újmy na majetku a zdraví. Názvy společností a výrobků, loga a další multimediální materiál mohou být ochrannými známkami příslušných společností.
RSS kanály: | |
+420 723 846 377
info@pandatron.cz
Všechna práva vyhrazena | mobilní verze | © Copyright 2000 - 2016 ISSN 1803-6007