Rozhraní paměti Flash

Rozměr: px
Začít zobrazení ze stránky:

Download "Rozhraní paměti Flash"

Transkript

1 České vysoké učení technické v Praze Fakulta elektrotechnická Bakalářská práce Rozhraní paměti Flash Zdeněk Mračno Vedoucí práce: Ing. Miloš Bečvář Studijní program: Elektrotechnika a informatika strukturovaný bakalářský Obor: Informatika a výpočetní technika červen 2006

2 2

3 Poděkování Rád bych poděkoval Ing. Bečvářovi za jeho pomoc a rady, které mi poskytl během psaní této práce. 3

4 4

5 Prohlášení Prohlašuji, že jsem svou bakalářskou práci vypracoval samostatně a použil jsem pouze podklady uvedené v přiloženém seznamu. Nemám závažný důvod proti použití tohoto školního díla ve smyslu 60 Zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon). V Praze dne

6 6

7 Abstract This thesis presents development and implementation of a communication interface between FLASH and SRAM memories and the Digilent D2E-MEM-DIO2 board. The developed interface supports access to memories in systems with and without a processor. The interface enables data reading, writing and erasing in both memories and it is implemented in the FPGA field Spartan 2E, which is a part of the mentioned board. Abstrakt Bakalářská práce se zabývá návrhem a implementací rozhraní pro komunikaci s pamětmi FLASH a SRAM na desce Digilent D2E-MEM-DIO2. Navržené rozhraní podporuje přístup do pamětí v systému s procesorem i bez něj. Rozhraní umožňuje čtení, zápis a mazání dat v obou pamětech. Implementováno je v poli FPGA Spartan 2E, které je součástí zmíněné desky. 7

8 8

9 Obsah Seznam obrázků. 11 Seznam tabulek Úvod Popis přípravku Deska Digilent 2E Xilinx Spartan 2E Paralelní rozhraní Sériové rozhraní Oscilátor Napájení Tlačítko a LED Rozšiřující porty DIP Paměťová deska Spartan2E XC2S200E-PQ Uživatelské programovatelné hradlové pole Input/Output Block (IOB) Configurable Logic Block (CLB) Look-up table (LUT) Paměťové elementy Logika CLB Aritmetická logika BUFTs Bloková RAM Směrování Typy lokálního směrování Obecné směrování I/O směrování Globální směrování Distribuce hodin Delay-Locked Loop (DLL) Vývojové prostředí Návrh implementace Verifikace Konfigurace zařízení Postup konfigurace Přenos konfiguračních dat Slave Serial Mode Master Serial Mode Slave Parallel Mode Boundary-Scan Configuration Mode Používané paměti SRAM IS61LV5128AL-10TI Flash MT28F004B Architektura paměti Boot Block Parameter Blocks Hlavní bloky paměti 32 9

10 4.2.2 Operace s pamětí Výstupní operace READ Operace WRITE Operace ERASE Operace ERASE-Suspension Implementace Popis jednotlivých bloků A_BUF D_BUF SR_BUF Řadič Činnosti řadiče Čtení paměti SRAM Zápis do paměti SRAM Čtení paměti Flash Zápis do paměti Flash Mazání bloku paměti Flash Hardwarový interface Softwarový interface Počáteční návrh Závěr Použité zkratky Použité zdroje Obsah CD

11 Seznam obrázků Obr. 1.1 Realizace jedné buňky SRAM v technologii MOS 13 Obr. 2.1 Schéma desky Digilent 2E Obr. 2.2 Ukázka paměťové desky.. 16 Obr. 3.1 Schéma IOB 17 Obr. 3.2 Programovatelný logický blok. 18 Obr. 3.3 Schéma multiplexorů F5 a F6. 19 Obr. 3.4 Blokové schéma DLL. 22 Obr. 3.5 Průběh konfigurace zařízení Obr. 3.6 Konfigurace pro Master / Slave Serial mód 26 Obr. 3.7 Konfigurace pro Slave Parallel mód Obr. 4.1 Vnitřní blokové schéma paměti SRAM. 29 Obr. 4.2 Rozdíly mezi top a bottom boot block Obr. 5.1 Vnitřní schéma hardwarového interface 41 Obr. 5.2 Propojení softwarového a hardwarového interface Obr. 5.3 Původní předpokládané schéma

12 Seznam tabulek Tab. 3.1 Použitelná šířka dat 20 Tab. 4.1 Nastavení signálů pro jednotlivé operace.. 29 Tab. 4.2 Bity ISM Status Registru Tab. 4.3 Seznam validních příkazů.. 32 Tab. 4.4 Command Sequence.. 34 Tab. 5.1 Význam hodnot signálu Dx_IN. 36 Tab. 5.2 Význam použitých adres 40 Tab. 5.3 Původní návrh významu signálů Dx

13 1. Úvod Tato bakalářská práce se zabývá problematikou čtení, ukládání a mazání dat v paměti Flash a SRAM. Obě paměti jsou statické, to znamená že uchovávají informaci po celou dobu připojení napájecího napětí. Paměť Flash lze naprogramovat a hodnoty v ní uložené zůstávají beze změny po mnoho let bez nutnosti refreshování. Mazání se provádí elektrickou cestou. Flash je energeticky nezávislá, tzn. hodnota zůstává i bez přítomnosti napájení. Jinak je tomu u SRAM, která je energeticky závislá a po odpojení napájení se hodnota ztrácí. Nevýhodou Flash je, že má delší přístupovou dobu, která v našem případě činí 80ns. To je oproti 10ns u SRAM velice pomalé. Paměťová buňka SRAM je realizována bistabilním klopným obvodem, který se může nacházet vždy pouze v jednom ze dvou stavů, tj. log. 0 nebo 1. Již zmíněnou výhodou pamětí SRAM je jejich nízká přístupová doba, což je doba, než paměť provede požadovanou operaci. Ta činí obecně řádově maximálně desítky nanosekund. Naopak nevýhodou je jejich vnitřní složitost. V současnosti je lze použít například jako vyrovnávací paměti Cache. Ani SRAM nepotřebuje být refreshována. Ukázka jedné buňky SRAM je na Obr. 1.1 Obr. 1.1 Realizace jedné buňky SRAM v technologii MOS Cílem práce je vytvořit interface, který umožní pracovat s pamětí Flash a SRAM s použitím procesoru i bez jeho pomoci. Paměti pak budou moci být dále využívány při jiných implementacích k ukládání různých dat. 13

14 2. Popis přípravku Přípravek Digilent D2E-DIO-MEM1 je složen ze tří navzájem propojených desek. Deska DIO však není z našeho pohledu zajímavá, protože s ní nepracujeme. 2.1 Deska Digilent 2E Základem desky je čip Xilinx Spartan2E XC2S200E-PQ208. Dalšími součástmi jsou dva 1.5A regulátory, 50MHz oscilátor, sériový port RS-232, paralelní port, JTAG, stavové LED diody a základní ovládací tlačítko. Tato deska byla navržena jako prostředník pro různé rozšiřující karty. Pro připojování dalších periferií je vybavena šesti 40-ti pinovými sokety DIP (dual inline package). Soket poskytuje neregulované VU napětí (rozsah povolených hodnot je 5-10V), regulované napájení 3.3V a zem. Dalších 37 pinů je určeno pro komunikaci karet. Přes soket C je připojena deska MEM1 a přes E a F deska DIO. Schéma desky je na Obr. 2.1 Obr. 2.1 Schéma desky Digilent 2E Xilinx Spartan 2E Pravděpodobně nejdůležitější částí celé desky je tento programovatelný FPGA obvod. Tomuto obvodu je věnována kapitola 3. 14

15 2.1.2 Paralelní rozhraní Rozhraní DB-25 deska využívá k příjmu programovacích signálů JTAG z počítače do FPGA. To lze provádět podle normy IEEE 1284 i přes vysokorychlostní EPP port, který dovoluje rychlost až 2MB/s. Jestli se použije port JTAG nebo EPP rozhoduje přepínač Sériové rozhraní Vhodné napětí na tomto portu je zajišťováno napěťovým konvertorem MAXIM MAX3386E RS Deska je konfigurována jako DCE, to znamená komunikující periferní zařízení s konektorem female DS-9. Na druhé straně je DTE, to je datový terminál zajišťující přísun dat pro DCE Oscilátor Tento 4 pinový oscilátor generující 50MHz je osazen v 8-mi pinovém soketu co nejblíže FPGA. Zajišťuje stabilní frekvenci pro celý obvod Napájení Napájení je zajišťováno dvojicí stabilizátorů LM317, které produkují napájení 2.5V a 3.3V s velmi nízkým šumem. Pro správnou činnost stabilizátorů, je potřeba zajistit napájecí napětí v rozsahu 5 10VDC. Regulátory mají vstupní kapacitu 10µF a 20µF výstupní kapacity. Maximální odebíraný proud je 1.5A Tlačítko a LED Tlačítko je používáno jako nezávislý reset a dioda pro signalizaci základních informací, bez potřeby jakéhokoliv rozšíření Rozšiřující porty DIP Deska Digilent 2E má celkem 6 těchto rozšiřujících slotů. Ty jsou organizovány do dvojic, to znamená že sloty A-E a B-F mají sdílené signály. Pouze sloty C a D nemají nic sdíleného a navíc jsou umístěny velmi blízko FPGA, což umožňuje použít frekvenci až 100Mhz. Pin 1 je použit pro GND, na pinu 2 je VU a pin 3 zajišťuje napětí 3.3V. Zbývající piny jsou připojeny přímo s FPGA. Speciálně porty B a F mají zapojeno pouze 11 pinů. FPGA čip používá pro rozšiřující porty DIP 122 signálů, zbývajících 21 je použito pro sériový a paralelní port. 15

16 2.2 Paměťová deska (viz. Obr. 2.2) Tato karta je připojena k desce Digilent 2E přes rozšiřující port C. Paměťový modul MEM1 obsahuje buď jednu nebo dvě paměti, záleží na provedení. Varianta C0 obsahuje jednu 128KB paměť SRAM a jednu 512KB paměť Flash. Druhou variantou je C1. Ta se lidí od předchozí větší pamětí SRAM, která zde má velikost 512KB. Tuto variantu máme na přípravku. Poslední variantou je C2. Ta neobsahuje žádnou Flash, ale pouze 1MB SRAM. Obr. 2.2 Ukázka paměťové desky V našem případě obsahuje MEM1 dva paměťové bloky, Bank 0 a Bank 1. V Bank 0 je umístěna statická paměť SRAM ISSI IS61LV5128T s kapacitou 512KB, výběr se provede pomocí CS0. V Bank 1 je paměť typu Flash Micron MT28F004B3, ta se vybírá přes CS1. Kapacita pamětí odpovídá variantě C1. Pro komunikaci desky MEM1 s deskou D2E se používá celkem 19 adresních vstupů (A0 A18), 8 obousměrných datových vstupů a výstupů (D0 D7). Pak jsou zde řídicí vstupy chip select (CS0 a CS1), OE a WE. Napájení pamětí a celé desky je zajištěno pomocí tří pinů, na pinu 37 je napájení 3.3V, na pinu 39 je GND a na pinu 40 je neregulované VU, které se tu však nepoužívá. Detailně je pamětem věnována kapitola Spartan2E XC2S200E-PQ208 Tento 208 pinový FPGA čip je hlavní součástí desky D2E. Obsahuje celkem 5292 logických bloků, 1176 CLB (Configurable Logic Block) uspořádaných do pole 42 x 28. Maximum dostupných uživatelských I/O je 146. Dále obsahuje paměti distributed RAM (75264b) a block RAM (56Kb). 16

17 3.1 Uživatelské programovatelné hradlové pole Pole se zkládá z celkem 5 hlavních elementů: IOBs (Programmable I/O Blocks) rozhraní mezi piny a interní logikou CLBs poskytuje funkční elementy pro konstrukci složitější logiky bloky RAM, každý 4096b DLLs (Delay Locked Loop) pro kompenzaci zpoždění a řízení hodin univerzální vícevrstvou spojovací strukturu Input/Output Block (IOB) Každý IOB se skládá ze tří registrů (D klopný obvod), vstupního a výstupního bufferu. Schéma IOB je naznačeno na Obr Obr. 3.1 Schéma IOB registry mohou reagovat buď na náběžnou hranu nebo na úrověň CLK, Set/Reset jsou sdíleny pro všechny registry CE (Clock Enable) má každý registr vlastní všechny bloky jsou chráněny před elektrostatickým poškozením a proti přepětí 17

18 Vstupy/Výstupy Vstupní signály jsou směrovány přes vstupní buffery do interní logiky. Výstupy zahrnují třístavový výstupní buffer, přes který jdou signály Configurable Logic Block (CLB) Základním blokem je Logic Cell (LC), ten se zkládá ze čtyřvstupého funkčního generátoru, logiky a paměťového elementu. (viz. Obr. 3.2) Obr. 3.2 Programovatelný logický blok 18

19 Look-Up Table (LUT) Funkční generátor je realizován jako 4-vstupový LUT, kde každý LUT může poskytnout 16 x 1b synchronní RAM. LUTy lze kombinovat, spojením dvou lze vytvořit 16 x 2b, 32 x 1b nebo 16 x 1b dvouportové synchronní RAM Paměťové elementy Jsou realizovány pomocí D-klopných obvodů, které lze řídit hranou i úrovní. Paměť používá signály CLK, CE, synchronní Set (SR) a Reset (BY). Set nastaví paměťový element do inicializovaného stavu definovaného pro danou konfiguraci. Signály lze používat i asynchronně. Řídicí signály jsou použity vždy pro dva paměťové elementy. Vstupy paměti se nastavují buď přes funkční generátor nebo přímo ze vstupů Logika CLB Výstupy z generátoru funkcí se kombinují pomocí F5 multiplexoru. Kombinace poskytuje generátor funkcí, který tak může realizovat nějakou 5-ti vstupovou funkci pomocí multiplexoru 4:1 nebo až devíti vstupovou funkci. Stejně tak pracuje i multiplexor F6, který kombinuje výsledky všech čtyř funkčních měničů CLB, výběrem jednoho výstupu F5 multiplexoru. Tak lze dosáhnout implementace 6-ti vstupové funkce pomocí 8:1 multiplexoru nebo vybrané až 19-ti vstupové funkce. Pro lepší představu je schéma naznačeno na Obr. 3.3 Obr. 3.3 Schéma multiplexorů F5 a F6 19

20 Aritmetická logika Umožňuje provádět rychlé výpočty. Zahrnuje hradla XOR, díky kterým lze implementovat jednobitovou úplnou sčítačku. AND hradla zase zlepšují efektivitu operací násobení. Pomocí aritmetické logiky lze také realizovat složité logické funkce BUFTs Spartan používá pro řízení sběrnice dva třístavové řadiče (BUFT). Každý BUFT má nezávislé řídící a vstupní piny. Řídicí piny jsou aktivní při Low. Když jsou BUFT odpojeny od sběrnice, je na ní High Bloková RAM Každý Spartan obsahuje několik pamětí RAM, organizovaných po sloupcích. Typ použitý na přípravku má 14 bloků s celkovou kapacitou 56kbitů. Paměťový blok je plně synchronní dvouportová 4096-bitová paměť s nezávislými řídicími signály pro každý port. Díky zabudované šířkové konverzi lze konfigurovat šířku dat. Adresní bity 0 11 se používají při adresaci jednoho bitu (nultý bit datové sběrnice), při šířce 16 bitů se použijí pouze adresní bity 0 7 a u datové sběrnice Další možnosti jsou uvedeny v tabulce Tab. 3.1 Tab. 3.1 Použitelná šířka dat Směrování Zpoždění signálu (hodinová frekvence) je limitováno nejdelší cestou. Proto je důležitý vhodný software pro určení směrovací architektury, který zaručí, že bude dosaženo uživatelem stanovených hodnot Typy lokálního směrování spojení mezi LUTy, flip-flopy, GRM (General Routing Matrix) 20

21 interní CLB zpětnovazební cesty poskytující rychlé spojení s LUTy uvnitř stejného CLB a řetězení s minimálním zpožděním přímé a rychlé propojení mezi horizontálně sousedícími CLB Obecné směrování Tohoto směrování využívá většina signálů. Hlavní směrovače jsou umístěny v horizontálních a vertikálních kanálech přidružených k řadám a sloupcům CLB. Ke každému CLB přiléhá GRM. GRM je matice spínačů přes kterou se horizontální a vertikální trasy propojí a je to též způsob, kterým se CLB připojí k obecné cestě. 24 krátkých vodičů směruje GRM signály do sousedních GRM v každém směru. 96 bufferovaných linek směruje GRM signály do ostatních GRM bloků. Signály mohou přijít buď do koncových bodů nebo do středových (tři bloky od zdroje). Jedna třetina linek je obousměrných, zatímco zbývající jsou jednosměrné. 12 dlouhých linek je bufferováno, obousměrné vedení distribuuje signály přes zařízení velice rychle a efektivně. Vertikální a horizontální linky vedou přes celé zařízení I/O směrování Spartan 2E má směrovače kolem periferií, které tvoří rozhraní mezi polem CLB a IOB. Toto dodatečné směrování, nazvané VersaRing, usnadňuje přesun a uzavírání pinů tak, že se logická rekonstrukce může přizpůsobit existujícím návrhům Globální směrování Slouží pro distribuci hodin a dalších signálů do celého zařízení. Spartan 2E zahrnuje dva globální směrovače. Jeden je označován jako primární a druhý sekundární. Primární globální směrovače se skládají ze čtyř globálních sítí se vstupními piny navrženými k distribuci hodinového signálu. Každá globální hodinová síť je dostupná všem CLB, IOB a paměti. Sekundární globální směrovače se skládají z 24 páteřních linek. Tyto směrovače, pokud nejsou vybrány pro distribuci hodin, jsou víc flexibilní než primární. 21

22 3.1.5 Distribuce hodin Rychlá distribuce je poskytována přes primární globální směrovače. Čtyři globální buffery postupně řídí primární rozvodné sítě a hodiny na nich Delay-Locked Loop (DLL) Digitální Delay Locked Loop (DLL) je přidružen ke každému vstupním globálnímu hodinovému bufferu a odstraňuje nerovnosti mezi vstupními a vnitřními hodinami. DLL může řídit dvě globální hodinové sítě. Pracuje tak, že porovnává vstupní a distribuované hodiny a automaticky nastavuje zpožďovací členy. Toto zpoždění způsobí, že hodiny přijdou do obvodu právě o jednu hodinovou periodu později, než kdy se dostali na vstup. Tento systém odstraňuje zpoždění způsobené distribucí hodinového signálu. DLL poskytuje čtyři fázově posunuté zdroje hodinových signálů. Hodiny může zdvojnásobit nebo je dělí hodnotami 1.5, 2, 2.5, 3, 4, 5, 8 nebo 16. Lze to použít i jako hodinový invertor. Schéma je na Obr. 3.4 Obr. 3.4 Blokové schéma DLL 3.2 Vývojové prostředí FPGA čipy Spartan 2E jsou podporovány firmami Xilinx ISE Foundation a Alliance CAE tools. Základní fáze návrhu jsou: návrh designu implementace verifikace Firma Xilinx poskytuje nástroje potřebné na implementaci. Vytvořili několik pokročilých softwarových vylepšení, které značně usnadní designování. Jednou z nich je funkce CORE Generator, která například zahrnuje makra s relativními umisťovacími omezeními. To pomůže 22

23 zabezpečit optimální implementaci běžných funkcí. Xilinx nabízí i vývojové prostředí pro tvorbu VHDL. Standartní souborová specifikace Electronic Design Interchange Format (EDIF) usnadňuje přenos souborů z vývojového prostředí a zpět. Spartan 2E podporuje knihovnu standardních funkcí. Tato knihovna obsahuje přes 400 primitivních funkcí a maker v rozsahu od 2-vstupových AND hradel až 16 - bitové zásobníky a zahrnuje aritmetické funkce, komparátory, čítače, datové registry, dekodéry, kodéry, I/O funkce, booleovské funkce, multiplexory, posuvné registry a barel shiftery. Návrhové prostředí podporuje hierarchicky navrhovaný vstup s vysokoúrovňovými návrhy, které zahrnují významnější funkční bloky, zatímco nízko-úrovňové návrhy definují logiku v těchto blocích. Tyto hierarchicky navrhnuté elementy jsou automaticky kombinovány implementačními nástroji. Různé designové vstupní nástroje mohou být kombinovány uvnitř hierarchického designu Návrh implementace Naprostou většinu návrhů lze implementovat automatickými metodami. Slouží k tomu Place-and- Route nástroje. Nejdřív se vezme netlist (EDIF) designu a namapuje se na architekturu FPGA. Placer poté určí nejvhodnější umístění bloků, aby bylo dosaženo požadovaného výkonu. Nakonec jsou bloky propojeny. Uživatel může do návrhu zasahovat například různými návrhy, propojením a podobně. Celkový výkon systému je přizpůsoben k uživatelsky vytvořené specifikaci Verifikace Verifikovat návrh lze buď softwarovou simulací nebo použitím FPGA obvodů, kam se navržený design nakopíruje a prakticky odzkouší funkčnost návrhu (in-circuit debugging). Při in-circuit debuggingu se přes zpětnou komunikaci může ověřovat stav vnitřní logiky FPGA. Vývojový systém podporuje většinou obě možnosti. Při softwarové simulaci využívá simulátor informace o časování, které jsou uloženy v netlistu. Simulace umožňuje uživateli ověřit si kritické cesty navrhovaného obvodu, k tomu se použije statický časovací analyzátor Konfigurace zařízení Konfigurací se myslí to, že se bitstream vygenerovaný vývojovým softvarem nakopíruje do vnitřní paměti FPGA. Spartan 2E podporuje sériové uspořádání využívající master/slave a JTAG režimy. Spartan použitý na přípravku je konfigurován sekvenčním uspořádáním rámců dat do paměti PROM. Konfigurační soubor má velikost bitů. 23

24 Pořadí kroků při konfiguraci inicializace vymazání konfigurační paměti načtení dat start-up Postup konfigurace Před použitím zařízení je nutné provést inicializaci, tzn. nastavení počátečních definovaných hodnot. Inicializace se provádí nastavením napětí většího než 1.0V na V CCO Bank 2 a připojením všech V CCINT pinů k napájení 1.8V. Rekonfigurace zařízení se provede přivedením hodnoty Low na pin #PROGRAM. Začátek konfiguračního procesu je potvrzen nastavením DONE na hodnotu Low, poté se přejde k mazání paměti. Průběh mazání paměti zařízení je signalizován přes #INIT, který má hodnotu Low a tu drží po celou dobu mazání. Konfiguraci lze z jakéhokoliv důvodu pozastavit. Pozastavení se provede podržením hodnoty Low na vodičích #INIT nebo #PROGRAM. Vodič #INIT je obousměrný, proto lze s výhodou použít open-drain k podržení Low. Odstraní se tím také možné problémy na vodiči. Nastavení signálů způsobí, že se zařízení zastaví ve fázi mazání. Že je paměť smazaná se signalizuje okamžitým nastavením #INIT na High. Jakmile se tak stane, může se začít s kopírováním konfiguračních dat do zařízení. Kvůli zajištění, že se data v pořádku dostala a uložila, se provádí CRC Error Checking, tzn. že se CRC hodnota uložená v konfiguračním souboru porovnává s CRC hodnotou vypočítanou z FPGA. V případě nerovnosti se nastaví #INIT na Low, čímž se signalizuje, že nastala chyba během konfigurace. Při pokusu o uložení chybného bitstreamu se může zařízení poškodit a určitě dojde k chybě konfigurace. Pro rekonfiguraci by měl signál #PROGRAM prosadit resetování konfigurační logiky. Nové použití také restartuje FPGA. V případě, že je CRC v pořádku, přejde se do start-up sekvence, která dohlíží na přechod FPGA z konfiguračního do uživatelského stavu. Průběh konfigurace je na Obr. 3.5 Během start-up vykonává zařízení čtyři operace: Uplatnění DONE. Nastavení DONE na High může signalizovat neúspěšné uložení dat. Nastavení Global Three State (GTS). To aktivuje všechny I/O. Nastavení Global Set Reset (GSR). Toto povolí všem klopným obvodům měnit stav. Uplatnění Global Write Enable (GWE). To dovolí všem RAM a klopným obvodům měnit stav. 24

25 Přenos konfiguračních dat Pro přenos konfiguračních dat z hostitelského zařízení do FPGA lze využít celkem čtyř módů přenosů. Jednotlivé módy se nastavují pomocí pinů M0, M1 a M2. Módy přenosu konfiguračních dat Slave Seriál mode Master Serial mode Slave Parallel mode (SelectMAP) Boundary-scan mode Sériové módy Jsou celkem dva sériové konfigurační módy, Master a Slave. V Master Serial módu ovládá FPGA konfigurační proces řízením CCLK na výstupu. V Slave Serial módu FPGA pasivně přijímá CCLK z externího zařízení, tím může být například mikroprocesor, CPLD nebo druhý obvod FPGA v Master Serial módu, který ovládá jeho konfigurační proces Slave Serial Mode Obr. 3.5 Průběh konfigurace zařízení Tento režim je charakterizován tím, že CCLK programovaného FPGA je řízeno externím zdrojem hodinového signálu, který dovoluje konfiguraci z dalších logických zařízení. Tím logickým zařízením může být třeba mikroprocesor. Sériový bitstream musí být nastaven na vstupech DIN ještě před vygenerováním signálu CCLK. Při programování se nemusí programovat pouze jedno zařízení. Lze zapojit sériově více FPGA a konfigurovat je 25

26 všechny najednou z jednoho zdroje. Tomu se říká Daisy Chain. Poté co se jedno zařízení nakonfiguruje, posílá konfigurační data přes výstup DOUT na vstup DIN dalšího FPGA. Data na DOUT se mění s náběžnou hranou CCLK. Konfiguraci všech zapojených zařízení lze pozastavit nastavením #INIT na Low. Nastavení Slave Serial režimu se provádí nastavením pinů M0, M1 a M2 na 11x. Zapojení pro Slave Serial Mode je na Obr. 3.6 Obr. 3.6 Konfigurace pro Master / Slave Serial mód Master Serial Mode V tomto módu řídí výstup CCLK obvodu FPGA paměť PROM, které poskytuje sériový bitstream konfiguračních dat do vstupů DIN. Resetovací pin u paměti PROM je řízen signálem #INIT, který poskytuje FPGA a vstup CE je ovládán výstupem DONE. Zapojení je téměř totožné se Slave Serial režimem až na to, že vnitřní oscilátor FPGA je využíván pro generování hodinového signálu CCLK pro paměť. Frekvence v rozsahu od 4 do 60Mhz se dá nastavit pomocí ConfigRate v nastavení vývojového softwaru. Při výběru vhodné frekvence je nutné zajistit, aby danou frekvenci podporovali všechny zúčastněné obvody, tj. PROM a všechny FPGA. Při power-up startu je prvních 60 bajtů konfiguračních dat uloženo s frekvencí 2.5 Mhz. Tato frekvence je použita dokud ConfigRate bity, jež jsou součástí konfiguračního souboru, nejsou uloženy do FPGA a nenastaví požadovanou frekvenci. Pokud nejsou frekvence specifikovány, použije se defaultní hodnota 4Mhz. FPGA přijme jeden bit s každou náběžnou hranou. Potom co je vše uloženo, se další data vyvedou na DOUT, aby mohla být vysílána do dalších, sériově zapojených (daisy chain) zařízení. Výběr módu se provede nastavením režimových pinů M0, M1 a M2 na hodnotu 00x. Zapojení pro Master Serial Mode je na Obr

27 Slave Parallel Mode Tento mód je též nazýván SelectMAP a je nejrychlejším způsobem přenosu dat do zařízení FPGA. Data se zapisují přes vstupy D0 až D7. Rozhraní je ovládáno většinou přes procesor, CPLD nebo mikrořadič. Řídicí jednotka poskytuje bajt široká konfigurační data, CCLK a signály Chip Select (#CS) a #WRITE. Pokud je nastaven signál BUSY na High, musí být data na vstupu podržena do té doby, než signál přejde na Low. Po úspěšném dokončení konfigurace lze použít datové piny D0-D7 jako uživatelské I/O. Výhodou je, že více Spartanů 2E zapojených ve Slave Parallel módu může provést start-up současně. Pro konfiguraci více zařízení tímto způsobem je použito paralelního zapojení signálů CCLK, data, #WRITE a BUSY. Výběr zařízení, pro které jsou data určena, je prováděn signálem #CS. Nastavení tohoto režimu se provádí nastavením pinů M0, M1 a M2 na hodnotu 011. Zapojení pro Slave Parallel Mode je na Obr. 3.7 Obr. 3.7 Konfigurace pro Slave Parallel mód Boundary-Scan Configuration Mode Při Boundary-Scan módu nejsou požadovány žádné připojené piny, konfigurace se provádí přes Test Access Port (TAP) pomocí speciální DFG_IN instrukce. Tato instrukce dovolí datový vstup 27

28 konvertovat do paketů interní sběrnice. Konfiguraci a readback přes TAP lze provést vždy. Boundary-Scan mód zablokuje další režimy. Výběr režimu se provede nastavením M0, M1 a M2 na hodnoty 10x. Za účelem verifikace konfiguračních dat, která byla nakopírována do Spartana, se používá tzv. Readback. Uložená data se v podstatě znovu načtou a zkontrolují, zda odpovídají požadovaným hodnotám. Takto lze zkontrolovat obsahy všech flip-flopů, LUTů a RAM. Readback se používá i při real-time debuggingu. 4. Používané paměti 4.1 SRAM IS61LV5128AL-10TI Tato statická CMOS paměť, která je plně kompatibilní s TTL, je umístěna v 44-pinovém pouzdru TSOP(Type II). Ne všechny piny pouzdra jsou zapojeny. Vybavovací doba je u námi použitého typu 10ns, ale je vyráběna i v provedení s vybavovací dobou 12ns a 15ns. Paměť používá jednotné napájení 3.3V a nemusí se u ní provádět refresh. Kapacita paměti je bajtů. V pohotovostním režimu má minimální odběr, ten činí pouze 250 µw. Vodiče paměti: - 19 vstupů adresy - 8 obousměrných datových - #CE, #WE, #OE, 2xVcc, 2xGND Paměť je vnitřně rozdělena na bloky. Jedním blokem je dekodér adresy, řídicí obvod a vstupně/výstupní datový obvod. Rozdělení paměti je naznačeno na Obr

29 Obr. 4.1 Vnitřní blokové schéma paměti SRAM Pro každou operaci s pamětí je potřeba nastavit příslušné řídicí signály. To je ukázáno v tabulce Tab.4.1 Tab. 4.1 Nastavení signálů pro jednotlivé operace 4.2 Flash MT28F004B3 Tato paměť, která je vyráběná 0.18µm technologií CMOS, je umístěna ve 40-ti pinovém pouzdru TSOP (Type I) a je plně kompatibilní s TTL. Paměť je elektricky mazatelná a nepotřebuje refreshovat. Mazání je však komplikovanější, protože nelze smazat pouze požadovaný bajt, ale je nutné smazat celý blok. Zápis dat a mazání bloků je prováděno pomocí napětí 3.3V nebo 5V. Ostatní operace využívají pouze 3.3V. Vybavovací doba je 80ns. Životnost, udávaná výrobcem, je kolem mazacích cyklů. Paměť je vnitřně rozdělena na sedm bloků. 29

30 1x 16KB boot blok (chráněný) 2x 8KB blok parametrů 4x hlavní paměťové bloky (3x128KB, 1x96KB) Hardwarově chráněný boot blok je určen pro uložení například firmwaru nebo pro bootovací sekvenci systému. Tento blok má ochranu proti nechtěnému smazání nebo přepsání. Pro změnu hodnoty se nejprve musí nastavit #RP nebo #WP na High, teprve potom lze použít standartní postup pro mazání nebo zápis. Pojmem standartní se myslí standartní postup pro danou paměť. Tento postup je trochu jiný než u paměti SRAM, ale to bude rozvedeno až dále. Na desce MEM1 jsou signály #RP a #WP nastaveny trvale na High, to znamená, že se s chráněným blokem pracuje jako s kterýmkoliv jiným blokem. Vnitřní rozdělení paměti na více samostatně mazatelných bloků má tu výhodu, že vymazání dat z jednoho bloku neovlivní data uložená v ostatních blocích. To také ovlivňuje životnost paměti, protože se nemusí vždy mazat celá. Pro práci se samotnou pamětí se používá Command Execution Logic (CEL), což je v podstatě vnitřní řadič. Ten přijímá a interpretuje příkazy určené pro zařízení. CEL ke své činnosti využívá vnitřní stavový automat (ISM internal state machine), díky kterému se práce s pamětí značně usnadní. Pomocí ISM se řídí všechny operace Write, Block Erase a Verify. Během těchto operací řídí veškeré činnosti, které se musí provést, aby byla data správně uložena nebo smazána. Výhodné také je, že automat ohlídá, aby se nechtěně nesmazal nebo nepřepsal jiný blok a navíc optimalizuje datové využití bloků. ISM nastavuje při své činnosti stavový registr (ISM Status Register), který umožňuje externímu procesoru sledovat průběh operací Write nebo Erase a stav automatu. Dva bity z 8-bitového registru jsou nastavovány a nulovány automatem, který tak signalizuje, že je zaměstnán prováděnou operací, popřípadě že operace byla dokončena. Během provádění operace může CEL přijmout nový příkaz, ale je zde omezení na typ příkazu, který lze v danou chvíli přijmout. Nelze například přijmout během operace Write další operaci, která bude též Write, v takové situaci se musí počkat na dokončení prvně příchozí a teprve poté je možné spustit další. Chybové informace jsou nastaveny v dalších třech bitech - Vpp Status, Write Status, Erase Status. Význam a umístění bitů je v tabulce Tab. 4.2 Význam jednotlivých bitů: SR0 - rezervováno pro pozdější využití Tab. 4.2 Bity ISM Status Registru 30

31 SR1 - rezervováno pro pozdější využití SR2 - rezervováno pro pozdější využití SR3 - Vpp Status - log. 1 Vpp není detekováno - log. 0 Vpp dostupné SR4 - Write Status - log. 1 Write error - log. 0 zápis v pořádku SR5 - Erase Status - log. 1 BLOCK ERASE error - log. 0 mazání v pořádku SR6 - Erase Suspend Status - log. 1 mazání dokončeno - log. 0 mazání probíhá SR7 - ISM Status - log. 1 Ready - log. 0 Busy Pro co největší úsporu odebíraného proudu je možné převést paměť do Deep Power-Down Mode. V tomto módu se velmi sníží odebíraný proudu, proud klesne až pod hranici 8µA při Vcc 3.3V. Pro vstup do Deep Power-Down módu se nastaví na pinu #RP hodnota Vss ±0.2V, tím se automaticky vymaže stavový registr a ISM přejde do výchozího Read Array módu Architektura paměti Boot Block Blok má velikost 16KB a je určen pro citlivá data. Při operacích, které mění obsah tohoto bloku je nutné používat signály #RP a #WP. Paměti se vyrábí ve dvou verzích - top a bottom boot block. Verze top boot block je podporována procesory řady x86, bottom boot block verze je určena pro RISC aplikace. V naší paměti MT28F004B3-8TF je použit boot block umístěný na adresách 3E000H - 3FFFFH, což určuje suffix "T" (Top). Schéma Boot Bloku a ukázka rozdílů je na Obr Parameter Blocks Tyto bloky jsou celkem dva po 8KB a jsou určeny pro méně citlivá data, u kterých se předpokládá, že se budou částěji měnit. Vymazání je možné při nastavení pinu Vpp na hodnotu Vpph. 31

32 Obr. 4.2 Rozdíly mezi top a bottom boot block Hlavní bloky paměti Hlavní bloky jsou celkem čtyři, z toho tři mají kapacitu 128KB a jeden 96KB. Bloky jsou univerzální a při práci s nimi, není potřeba dalších dodatečných signálů, jako v případě Boot Bloku Operace s pamětí Pro práci s pamětí je určen tzv. Command Set. Jsou to vlastně všechny validní příkazy, kterými se paměť připraví na požadovanou operaci. Příkaz je 8-bitový. Seznam je v tabulce Tab. 4.3 Tab. 4.3 Seznam validních příkazů 32

33 Výstupní operace READ Paměť umožňuje celkem tři druhy čtení, buď se čte z paměťového pole (použije se řídicí příkaz FFh), ze stavového registru (70h) nebo z identifikačního registru (90h). Řídicí znak FFh se nemusí posílat při spuštění zařízení a restartu, po všech dalších operacích je to nutnost. Při všech typech čtecích operací se řídicí signály #WE, #CE a #OE používají naprosto stejně, rozdíl je pouze v tom, odkud jsou data přečtena a jaký se pošle řídicí znak Operace WRITE Pro zápis dat do paměti nám již nepostačí pouze jeden cykl jako u paměti SRAM, ale jsou nutné minimálně dva. V prvním cyklu se pošle řídicí příkaz Write Setup (40h nebo 10h), tím se paměť připraví na příjem dat. V dalším cyklu se provádí Write, během kterého je nastavena adresa a zapisují se data. Po celou dobu provádění zápisu musí být nastaveno Vpp na Vpph. Dokončení operace je signalizováno změnou SR7 stavového registru na log. 1. Samotný zápis řídí ISM, který též nastavuje SR7. Během provádění zařízení nereaguje na téměř žádné příkazy. Pouze reset nebo výpadek napájení může přerušit tuto činnost. Reset lze použít například tehdy, když omylem dáme zapsat chybná data nebo podobně. Po obdržení Write Setup lze zápis dodatečně zrušit. To se provádí tak, že se použije tzv. Null Write. To znamená, že se místo platných dat zapisuje FFh. Po dokončení se zařízení přepne do Status Register Read módu a zde čeká na další příkazy Operace ERASE Toto je jediná operace, která pracuje s celým blokem. V tomto bloku jsou nastaveny všechny bity na logickou 1. Před samotným vymazáváním jsou nutné dva cykly. V prvním se pošle Erase Setup (20h). Paměť se připraví pro mazání. Zatím se však nenastavuje adresa. Ta se nastaví až v druhém cyklu, nastaví se Vpp na Vpph a pošle se mazací potvrzení Erase Confirm (D0h). Adresa musí směřovat kamkoliv do mazaného bloku. Pokud by nepřišel Erase Confirm, nastaví se bity SR4 (Write Status) a SR5 (Erase Status), v opačném případě začne ISM s mazáním vybraného bloku. Vpp musí být nastaveno po celou dobu mazání, to znamená dokud není nastaven SR7 na log. 1. Po dokončení se automaticky přejde do Status Register Read módu a zde se čeká na další příkazy Operace ERASE Suspension Tato operace slouží k dočasnému přerušení vymazávání bloku paměti. Toho se využívá, když potřebujeme provést nějakou jinou činnost s pamětí. Tyto činnosti jsou omezeny pouze na operace Read Array, Erase Resume a Read Status Register. K přerušení se používá řídicí znak B0h. Čtení 33

34 není pochopitelně povoleno z bloku, který je právě mazán. Při přechodu do Erase Suspend módu se nastavují bity SR6 (Erase Suspend Status) a SR7 (ISM Status). Mazání se opět spustí příkazem Erase Resume. Po dokončení všech operací, tzn. po nastavení SR7, by měli být otestovány chybové bity stavového registru. Tím se myslí bity SR3 (Vpp Status), SR4 (Write Status) a SR5 (Erase Status). Pokud je kterýkoliv z nich nastavený, nastala chyba. ISM nemůže stavové bity sám resetovat, proto se musí provést operace Clear Status Register (50h). Pokud je nastaven SR3, nelze provést operace WRITE ani ERASE. Kompletní přehled řídicích sekvencí je v tabulce Tab Implementace Tab. 4.4 Command Sequence Jelikož adresa na adresní sběrnici nemůže být nastavena po celou dobu zápisu do paměti, bude nutné ji někam uložit. Na to se dá použít řízený zásobník, který si po určenou dobu bude pamatovat hodnotu adresní sběrnice a bude jí dále předávat směrem k paměti. Stejné to bude i s daty. Zde je však problém, že sběrnice směrem k pamětem je obousměrná, ale k procesoru by bylo výhodnější udělat samostatnou vstupní a výstupní. Proto bude i náročnější řízení směru toku dat. Další zásobník by byl vhodný na uložení stavového registru paměti. Zde se nabízí možnost udělat interface bez tohoto registru, to znamená, že by se řadič sám podíval co je na sběrnici a podle toho se rozhodl jak pokračovat. Tady se mi jako výhodnější zdálo, udělat to přes zásobník a jednoduché řídicí signály, kterými by řadič dával najevo, kdy se má hodnota načíst. Implementace zásobníku je velice jednoduchá a výhodou je, že se nemusí dělat zbytečně složitější řadič. Řadič lze realizovat jako stavový automat, jehož výstupy budou řídicí signály určené pro zásobníky a paměti. K tomu všemu musí být realizován softwarový interface, který bude pracovat tak, že na dané adresy uvnitř tohoto interface se uloží hodnoty a pak se všechno odešle ke zpracování do řadiče a pomocných zásobníků. Problém bude s adresou, kterou nemohu přenést najednou, protože se mi na osmibitovou 34

35 datovou sběrnici nevejde. To se musí ošetřit několika vnitřními registry a postupným ukládáním. Představa o činnosti je taková, že například programátor, bude ve svém programu nastavovat adresy příslušných registrů a na určenou pozici bude ukládat data. Těmito daty se rozumí adresa paměti, co chce uložit a řídicí znak. Až bude mít vše připraveno, dá povel k odeslání a bude čekat, než mu přijde vyrozumění, že byla operace provedena. To se bude dít opět přes registr softwarového interface. Současná implementace se skládá ze dvou hlavních bloků. Prvním blokem je softwarový a druhým hardwarový interface, ten je dále rozdělen. Řadič, který je hlavní součástí hardwarového interface, zajišťuje všechny řídicí signály obvodu. Ke své činnosti využívá pomocné paměťové registry, jež jsou určeny k uchování adresy (A_BUF), k uchování dat (D_BUF) a k uchování hodnoty stavového registru (SR_BUF). Vstupy obvodu jsou datová sběrnice datain, adresní sběrnice adresain a řídicí signály uloz, write, read, prevzal, HW_SW. Jsou zde i vstupy pro clk a reset. Výstupy obvodu tvoří datová sběrnice dataout a stavové signály chyba a ready. Směrem k pamětem jsou pak výstupy adresaout, #WE, #OE, #CS0, #CS1 a obousměrná datová sběrnice dataio. 5.1 Popis jednotlivých bloků A_BUF Tento blok je určen k uchování vstupní adresy. Na vstup je přiváděna 20-ti bitová adresa, která se v něm ukládá. Vstupní hodnota je ukládána do proměnné adresa. Tato proměnná je nulována při nastavení vstupního signálu reset. Pokud je na vstupu Ax_IN řadičem nastavena hodnota log. 1, přestane se hodnota uvnitř paměťového zásobníku měnit a poslední uložená hodnota je vystavena na 19-ti bitový adresní výstup. Nejvyšší bit je určen k rozlišení zda-li se jedná o paměť Flash nebo SRAM a je vyveden na jednobitovém výstupu A19. Jeli na A19 nastavena log. 1, jedná se paměť SRAM D_BUF Tento zásobník slouží k uložení dat. Data mohou být určena buď pro paměť nebo právě načtená z paměti. Hodnota je uložena do proměnné data, která je stejně jako u A_BUF nulována signálem reset. Buffer má celkem čtyři osmibitové vstupy nebo výstupy. Vstupem data_in jsou data z procesoru ukládána do zásobníku, naopak výstup data_out je určen pro vyslání dat načtených z paměti do procesoru. Paměti komunikují přes obousměrné porty, proto směrem k nim je 35

36 obousměrný port data_io. Přes něj se posílají a čtou data z pamětí. Posledním vstupem je ridici_slovo_in, který je určen pro uložení řídicího znaku pro Flash paměť a je generován řadičem. Tímto znakem se řekne paměti co od ní budeme očekávat. Pro SRAM se nevyužije. Rozlišení operace, která se provede uvnitř bufferu, určuje tříbitový vstupní signál Dx_IN. Význam jednotlivých možností signálů je v tabulce Tab Dx_IN (2:0) Operace 000 Žádná změna 001 Uložení hodnoty data_in 010 Uložení hodnoty data_io 011 Výstup dat na data_out 100 Výstup dat na data_io 101 Uložení hodnoty ridici_slovo_in 110 Nulování 111 Nulování Tab. 5.1 Význam hodnot signálu Dx_IN SR_BUF Registr určený k načtení a uchování hodnoty stavového registru paměti Flash. Je připojen k obousměrné datové sběrnici, ale je určen ke čtení hodnot z této sběrnice, proto je port data_io_in pouze vstupní. Dalším vstupem je jednobitový signál ulozsr_in, je-li tento signál v log. 1, jsou data ze sběrnice uložena do proměnné stav_reg. Při log. 0 jsou hodnoty vysílány řadiči, který s nimi dále pracuje. Proměnná je nulována signálem reset Řadič Nejsložitější součást, která řídí signály pro obě paměti. Vnitřně je realizován jako stavový automat, který může jít do 5-ti nezávislých větví. Dvě jsou určeny pro paměť SRAM a tři pro paměť Flash. O kterou paměť se jedná určí nejvyšší adresní bit, přivedený na vstup A19. Hodnota 0 mi určuje paměť Flash. Dále jsou řídicí signály zapis a cti, které určí typ prováděné operace. U paměti Flash je při současném nastavení obou signálů provedena operace mazání bloků paměti. Poté co automat dojde do koncového stavu dané větve, nastaví výstupní signál ready, čímž signalizuje procesoru, že operace byla dokončena. Operace se také nemusí podařit, v tom případě se nastaví signál chyba. V obou případech se v tomto stavu čeká, dokud z procesoru nepřijde signál o převzetí prevzal. Teprve potom se automat vrátí do výchozího stavu. Při některých přechodech mezi stavy je nutné zpoždění. Tady se nabízela možnost realizovat čekání pomocí čítače. Počet taktů čítání by však byl velice malý, v řádech jednotek taktů, proto bylo jednodušší udělat to 36

37 pomocí mezistavů. Ty nám zaručí požadované zpoždění a není potřeba vytvářet další obvod. Navíc kdyby byl řadič řízen čítačem, musel by generovat řídicí signály určené pro řízení jeho činnosti, například zápis hodnoty a povolení čítání. Z čítače by pak musel jít stavový signál informující o dokončení čítání. Použitím mezistavů se návrh o všechny tyto signály zjednodušil. Původní plán předpokládal s použitím čítače, nakonec však k jeho realizaci nedošlo. Řadič při své činnosti nastavuje hodnoty signálů Ax_OUT, který je určen pro zachování vstupní adresy a Dx_OUT, který určuje uložení a směr vysílání dat. Při práci s pamětí Flash se uplatní i výstup ridici_slovo_out, kterým se paměť připraví na požadovanou operaci. Pro zjištění, zda-li byla operace s pamětí Flash dokončena, se využívá stavový registr. Ten se načte z paměti a aby nebyl ztracen a mohl být použit řadičem, využívá řadič zásobník SR_BUF, tomu se přes výstupní signál ulozsr_out řekne, že má z datové sběrnice načíst hodnotu. Tato hodnota je zpět do řadiče předána vstupním portem SR. Řadič ovládá paměti třemi výstupními signály, je to Write Enable (#WE), Output Enable (#OE) a Chip Select (CS). Jelikož jsou dvě paměti, jsou potřeba i dva signály CS, toho je dosaženo pomocí NANDů, na které je přiveden signál A19 a jednou normální a jednou invertovaný signál CS. Výsledkem toho je, že pomocí jednoho CS a nejvyššího adresního bitu dostaneme dva signály #CS0 (SRAM) a #CS1 (Flash). Všechny výstupní signály automatu jsou řešeny přes ukládání do automatových registrů. Je to z toho důvodu, aby nedocházelo k zákmitům při přechodech mezi stavy. V jednom stavu se signály uloží do pomocného registru a teprve v následujícím se dostanou na výstup. Možnou nevýhodou je opoždění výstupů o jeden takt, naopak výhodou je, že výstup není ovlivněn zákmity, díky kterým by mohla být celková činnost negativně ovlivněna Činnosti řadiče Čtení paměti SRAM S pamětí SRAM se pracuje výrazně jednodušeji než s Flash. Čtení se skládá z celkem šesti stavů, přičemž jeden je společný pro všechny větve automatu - výchozí stav. V tomto stavu jsou signály nastaveny na počáteční hodnoty. Je-li na vstupu řadiče A19 a na cti stav High a na zapis je Low, zahájí se čtení dat z paměti SRAM. Jelikož jsou výstupní signály vyvedeny přes registr, projeví se hodnota až v následujícím stavu. Nejprve se uloží adresa v registru A_BUF, vybere se určená paměť signálem CS a nastaví se #OE. Zároveň se začne do D_BUF ukládat hodnota ze sběrnice dataio. V dalším stavu se uzavře ukládání do D_BUF, tzn. hodnota se v něm již nemění a může být odeslána na sběrnici dataout. V následujících stavech se odpojí #OE, CS a nastaví se signál ready. Ten dává procesoru najevo, že data jsou načtena. Procesor převzetí dat potvrdí nastavením signálu prevzal, teprve potom se automat vrátí do výchozího stavu, kde čeká na další operaci. 37

38 Zápis do paměti SRAM Když je na vstupu A19 a na zapis hodnota High a na cti Low, je to pro stavový automat signál, že se bude zapisovat. Nejdříve se uloží adresa do A_BUF, data ze vstupní sběrnice datain do D_BUF a vybere se paměť signálem CS. Poté jsou data vystavena na dataio a umožněn zápis do paměti nastavením #WE. V dalším stavu je zrušen #WE, protože data jsou již uložena. Nakonec je odpojen CS, přestanou se posílat data k paměti a pro procesor se nastaví ready. Ten potvrdí signálem prevzal a automat se vrátí do výchozího stavu. Paměť SRAM je natolik rychlá, že nepotřebuje zpoždění ani při čtení, ani při zápisu. Stačí zpoždění způsobené přechodem mezi stavy Čtení paměti Flash S pamětí Flash se pracuje o něco obtížněji, je to dané i tím, že má delší doby pro zápis i čtení. Navíc se jí musí předem říct, jakou operaci požadujeme. To je kvůli nastavení vnitřního automatu paměti, který částečně usnadňuje použití. Čtení paměti Flash pozná řadič podle toho, že na A19 a zapis je Low a na cti je High. Při čtení se nejprve musí poslat po datové sběrnici řídicí znak FFh, který paměť připraví na čtení dat. Tento znak se uloží do D_BUF, řadič nastaví CS a Ax, čímž zadrží hodnotu na adresní sběrnici a povolí se zápis #WE. Poté, co je paměť připravena, se odpojí #WE a do D_BUF se načítá hodnota z dataio. Po povolení výstupu #OE se pomocí čekacích mezistavů čeká, dokud nebudou data načtena. Po načtení se data, která jsou uložena v D_BUF, vystaví na výstupní sběrnici dataout, deaktivují se signály #OE, CS a nastaví se ready. Stejně jako u paměti SRAM se čeká na potvrzení procesorem, teprve potom se automat vrátí do výchozího stavu Zápis do paměti Flash Pro zápis je nutné, aby byl A19 a cti nastaven na Low a zapis na High. Zápis se začne uložením adresy, vybráním paměti pomocí CS a uložením řídicího slova 50h do D_BUF, který je poté vyslán na dataio a je nastaven signál #WE. To má za následek vymazání stavového registru paměti. Z tohoto registru se na konci pozná, zda-li se operace podařila, tzn. data byla vážně uložena. Po vymazání je do D_BUF uložena nová hodnota, která je nyní 40h a značí zápis. Potom je znovu nastaven signál #WE a hodnota D_BUF je vystavena na dataio. Teprve nyní je možné uložit vstupní data do D_BUF a následně je přivést k paměti, společně s #WE. Aby se zjistilo, jestli je operace zápisu u konce, testuje se stavový registr. To probíhá opět pomocí řídicího slova, tentokrát 38

39 70h a povolením zápisu #WE. Signálem povolení výstupu #OE se umožní výstup stavového registru na datovou sběrnici. Při tom je použit signál ulozsr, díky kterému se uloží, pamětí vystavený obsah stavového registru, do SR_BUF. Ze stavového registru je otestován bit SR7, podle kterého se pozná, zda-li je zápis u konce. Je-li nastaven na log. 0, opakuje se čtení registru. Pokud je log. 1, otestují se bity 3 a 4. Jakákoliv nenulová hodnota značí chybu a je nastaven signál chyba, v opačném případě se nastaví ready. Vždy se potom čeká na signál převzal Mazání bloku paměti Flash Pro mazání je nutné mít na vstupu řadiče signály cti a zapis v High a A19 v Low. Nejprve je uložena adresa ukazující do daného bloku a vybrána paměť, zároveň se do D_BUF uloží řídicí slovo 50h (mazání stavového registru). Následuje povolení zápisu #WE a vyslání řídicího slova na dataio. Potom je do D_BUF uloženo nové řídicí slovo 20h, které je opět s #WE vystaveno směrem k paměti. Mazání je nyní připraveno a čeká se na potvrzení. Potvrzením se myslí odesláním řídicího slova D0h. Nyní se paměť maže. Abychom zjistili, že už je proces u konce, čte se stavový registr. Je to stejné jako u zápisu, tzn. je uložena hodnota 70h a poté je vyslána s #WE k paměti. V dalším stavu se zruší #WE a povolí #OE a stavový registr, který je nyní na datové sběrnici, se pomocí signálu ulozsr uloží do SR_BUF. Po uložení se zruší signál #OE a testuje se SR7. Je-li v log. 0, zápis ještě není u konce, naopak když je v log. 1, pokračuje se v testování dalších bitů stavového registru. Zde již není potřeba držet adresu ani data, to znamená signály Ax a Dx jsou vynulované. Otestováním bitu SR3 se zjistí dostupnost Vpp. Pokud není dostupné, nastaví se chyba. Dále se testují SR4 a SR5, které musí být oba v log. 0. Pokud jsou, nastaví se ready a čeká se na potvrzení prevzal. Popřípadě se nastaví chyba a opět se čeká na prevzal Hardwarový interface Tento nadblok sdružuje a propojuje řadič a pomocné paměťové registry A_BUF, D_BUF, SR_BUF. Vnitřní schéma je na Obr Softwarový interface Blok softwarového interface obsahuje šest osmibitových proměnných. Po jedné jsou to data, řídicí znak, stavový znak a tři pro adresu. Každý registr má svojí adresu, seznam adres a k čemu jsou určeny je v tabulce Tab Jelikož je adresa 20-ti bitová, ale šířka datové sběrnice je pouze 8 bitů, ukládá se postupně do tří samostatně adresovatelných registrů. Z nejvyššího adresního registru se využijí pouze spodní čtyři bity. Pomocí adresy adresa_in vstupující do tohoto interface se určí, kam se která data mají uložit. Výstupní adresa adresa_out je složena z těchto tří adresních 39

40 registrů. Všechna data určená pro tento interface jsou posílána přes datovou sběrnici. Při každém hodinovém taktu se ukládají nové hodnoty do stavového registru. U něj jsou využity pouze bit 0, do kterého se ukládá signál ready a bit 1, ten je využit pro signál chyba. Ostatní bity jsou nastaveny trvale na log. 0. Z řídicího registru se taky nevyužijí všechny bity. Na bitu 0 je signál prevzal, bit 1 je pro write a bit 2 pro read. Bity 3 až 7 nijak neovlivní činnost další logiky. Zde se nabídla možnost sloučit stavový a řídicí registr, to by však nebylo příliš vhodné, protože řídicí je pouze vstupní a stavový výstupní. Signálem reset jsou všechny vnitřní registry vynulovány. Že jsou data platná oznámí vstupní signál uloz. Adresa Význam 10h Uložení bitů adresy 7:0 20h Uložení bitů adresy 15:8 30h Uložení bitů adresy 19:16 40h Uložení vstupních dat do datového registru 50h Uložení dat z paměti do dat. registru 60h Uložení řídicího znaku 70h Odeslání všech hodnot směrem k paměti 80h Načtení dat z paměti do procesoru 90h Načtení stavu do procesoru Tab. 5.2 Význam použitých adres 40

SPARTAN - 3 Xilinx FPGA Device

SPARTAN - 3 Xilinx FPGA Device SPARTAN - 3 Xilinx FPGA Device 1. Úvod: 1.2V řada SPARTAN-3 navazuje na úspěch předchozí řady: SPARTAN-IIE. Od architektury SPARTAN-IIE se liší v počtu systémových hradel a logických buněk, velikosti RAM,

Více

Paměti Flash. Paměti Flash. Základní charakteristiky

Paměti Flash. Paměti Flash. Základní charakteristiky Paměti Flash K.D. - přednášky 1 Základní charakteristiky (Flash EEPROM): Přepis dat bez mazání: ne. Mazání: po blocích nebo celý čip. Zápis: po slovech nebo po blocích. Typická životnost: 100 000 1 000

Více

Struktura a architektura počítačů (BI-SAP) 10

Struktura a architektura počítačů (BI-SAP) 10 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 10 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii

Více

Mikrokontroléry. Doplňující text pro POS K. D. 2001

Mikrokontroléry. Doplňující text pro POS K. D. 2001 Mikrokontroléry Doplňující text pro POS K. D. 2001 Úvod Mikrokontroléry, jinak též označované jako jednočipové mikropočítače, obsahují v jediném pouzdře všechny podstatné části mikropočítače: Řadič a aritmetickou

Více

PROGRAMOVATELNÉ LOGICKÉ OBVODY

PROGRAMOVATELNÉ LOGICKÉ OBVODY PROGRAMOVATELNÉ LOGICKÉ OBVODY (PROGRAMMABLE LOGIC DEVICE PLD) Programovatelné logické obvody jsou číslicové obvody, jejichž logická funkce může být programována uživatelem. Výhody: snížení počtu integrovaných

Více

SEKVENČNÍ LOGICKÉ OBVODY

SEKVENČNÍ LOGICKÉ OBVODY Sekvenční logický obvod je elektronický obvod složený z logických členů. Sekvenční obvod se skládá ze dvou částí kombinační a paměťové. Abychom mohli určit hodnotu výstupní proměnné, je potřeba u sekvenčních

Více

Obvody Xilinx řady XC3000

Obvody Xilinx řady XC3000 Obvody Xilinx řady XC3000 Z řady XC3000 vychází čtyři nové rodiny obvodů XC3000A XC3000L XC3100A XC3100L Mají stejnou architekturu, vývojový program, návrhové a programové metodiky i stejné vlastnosti

Více

XC3000(A) / XC3100(A)

XC3000(A) / XC3100(A) FPGA Xilinx SPARTAN 1. FPGA Xilinx historie Řada XC2000 byla historicky první FPGA (rok 1984), v současné době se již nedodává. Principy použité pro její konstrukci byly natolik geniální, že jsou na nich

Více

Systém řízení sběrnice

Systém řízení sběrnice Systém řízení sběrnice Sběrnice je komunikační cesta, která spojuje dvě či více zařízení. V určitý okamžik je možné aby pouze jedno z připojených zařízení vložilo na sběrnici data. Vložená data pak mohou

Více

Manuál přípravku FPGA University Board (FUB)

Manuál přípravku FPGA University Board (FUB) Manuál přípravku FPGA University Board (FUB) Rozmístění prvků na přípravku Obr. 1: Rozmístění prvků na přípravku Na obrázku (Obr. 1) je osazený přípravek s FPGA obvodem Altera Cyclone III EP3C5E144C8 a

Více

Paměti. Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje

Paměti. Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje Paměti Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje Paměti počítače lze rozdělit do tří základních skupin: registry paměťová místa na čipu procesoru jsou používány

Více

Miroslav Flídr Počítačové systémy LS 2006-1/21- Západočeská univerzita v Plzni

Miroslav Flídr Počítačové systémy LS 2006-1/21- Západočeská univerzita v Plzni Počítačové systémy Vnitřní paměti Miroslav Flídr Počítačové systémy LS 2006-1/21- Západočeská univerzita v Plzni Hierarchire pamětí Miroslav Flídr Počítačové systémy LS 2006-2/21- Západočeská univerzita

Více

Paměti Josef Horálek

Paměti Josef Horálek Paměti Josef Horálek Paměť = Paměť je pro počítač životní nutností = mikroprocesor z ní čte programy, kterými je řízen a také do ní ukládá výsledky své práce = Paměti v zásadě můžeme rozdělit na: = Primární

Více

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta informačních technologií

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta informačních technologií VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta informačních technologií Autor: Tomáš Válek, xvalek02@stud.fit.vutbr.cz Login: xvalek02 Datum: 21.listopadu 2012 Obsah 1 Úvod do rozhraní I 2 C (IIC) 1 2 Popis funkčnosti

Více

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Semestrální práce z předmětu Speciální číslicové systémy X31SCS Semestrální práce z předmětu Speciální číslicové systémy X31SCS Katedra obvodů DSP16411 ZPRACOVAL: Roman Holubec Školní rok: 2006/2007 Úvod DSP16411 patří do rodiny DSP16411 rozšiřuje DSP16410 o vyšší

Více

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC Informatika 2 Technické prostředky počítačové techniky - 2 Přednáší: doc. Ing. Jan Skrbek, Dr. - KIN Přednášky: středa 14 20 15 55 Spojení: e-mail: jan.skrbek@tul.cz 16 10 17 45 tel.: 48 535 2442 Obsah:

Více

Principy komunikace s adaptéry periferních zařízení (PZ)

Principy komunikace s adaptéry periferních zařízení (PZ) Principy komunikace s adaptéry periferních zařízení (PZ) Několik možností kategorizace principů komunikace s externími adaptéry, např.: 1. Podle způsobu adresace registrů, které jsou součástí adaptérů.

Více

Dělení pamětí Volatilní paměti Nevolatilní paměti. Miroslav Flídr Počítačové systémy LS /11- Západočeská univerzita v Plzni

Dělení pamětí Volatilní paměti Nevolatilní paměti. Miroslav Flídr Počítačové systémy LS /11- Západočeská univerzita v Plzni ělení pamětí Volatilní paměti Nevolatilní paměti Počítačové systémy Vnitřní paměti Miroslav Flídr Počítačové systémy LS 2006-1/11- Západočeská univerzita v Plzni ělení pamětí Volatilní paměti Nevolatilní

Více

Paměti EEPROM (1) Paměti EEPROM (2) Paměti Flash (1) Paměti EEPROM (3) Paměti Flash (2) Paměti Flash (3)

Paměti EEPROM (1) Paměti EEPROM (2) Paměti Flash (1) Paměti EEPROM (3) Paměti Flash (2) Paměti Flash (3) Paměti EEPROM (1) EEPROM Electrically EPROM Mají podobné chování jako paměti EPROM, tj. jedná se o statické, energeticky nezávislé paměti, které je možné naprogramovat a později z nich informace vymazat

Více

BDIO - Digitální obvody

BDIO - Digitální obvody BIO - igitální obvody Ústav Úloha č. 6 Ústav mikroelektroniky ekvenční logika klopné obvody,, JK, T, posuvný registr tudent Cíle ozdíl mezi kombinačními a sekvenčními logickými obvody. Objasnit principy

Více

FPGA + mikroprocesorové jádro:

FPGA + mikroprocesorové jádro: Úvod: V tomto dokumentu je stručný popis programovatelných obvodů od firmy ALTERA www.altera.com, které umožňují realizovat číslicové systémy s procesorem v jenom programovatelném integrovaném obvodu (SOPC

Více

Paměti počítače ROM, RAM

Paměti počítače ROM, RAM Paměti počítače ROM, RAM Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje. Paměti počítače lze rozdělit do tří základních skupin: registry paměťová místa na čipu procesoru

Více

DUM č. 10 v sadě. 31. Inf-7 Technické vybavení počítačů

DUM č. 10 v sadě. 31. Inf-7 Technické vybavení počítačů projekt GML Brno Docens DUM č. 10 v sadě 31. Inf-7 Technické vybavení počítačů Autor: Roman Hrdlička Datum: 04.12.2013 Ročník: 1A, 1B, 1C Anotace DUMu: jak fungují vnitřní paměti, typy ROM a RAM pamětí,

Více

FASTPort. Nová sběrnice pro připojení inteligentních karet* k osmibitovým počítačům. aneb. Jak připojit koprocesor

FASTPort. Nová sběrnice pro připojení inteligentních karet* k osmibitovým počítačům. aneb. Jak připojit koprocesor FASTPort Nová sběrnice pro připojení inteligentních karet* k osmibitovým počítačům aneb Jak připojit koprocesor *) inteligentní karta = karta vybavená vlastním procesorem J. Němeček 12. 10. 2013 úvodní

Více

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus Činnost CPU Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus Hodinový cyklus CPU je synchronní obvod nutné hodiny (f CLK ) Instrukční cyklus IF = doba potřebná

Více

Praktické úlohy- 2.oblast zaměření

Praktické úlohy- 2.oblast zaměření Praktické úlohy- 2.oblast zaměření Realizace praktických úloh zaměřených na dovednosti v oblastech: Měření specializovanými přístroji, jejich obsluha a parametrizace; Diagnostika a specifikace závad, měření

Více

PK Design. MB-S2-150-PQ208 v1.4. Základová deska modulárního vývojového systému MVS. Verze dokumentu 1.0 (11. 6. 03)

PK Design. MB-S2-150-PQ208 v1.4. Základová deska modulárního vývojového systému MVS. Verze dokumentu 1.0 (11. 6. 03) MB-S2-150-PQ208 v1.4 Základová deska modulárního vývojového systému MVS Uživatelský manuál Verze dokumentu 1.0 (11. 6. 03) Obsah 1 Upozornění...3 2 Úvod...4 2.1 Vlastnosti základové desky...4 2.2 Vlastnosti

Více

MSP 430F1611. Jiří Kašpar. Charakteristika

MSP 430F1611. Jiří Kašpar. Charakteristika MSP 430F1611 Charakteristika Mikroprocesor MSP430F1611 je 16 bitový, RISC struktura s von-neumannovou architekturou. Na mikroprocesor má neuvěřitelně velkou RAM paměť 10KB, 48KB + 256B FLASH paměť. Takže

Více

PCKIT LPT MODUL SBĚRNICE IOBUS PRO PC LPT. Příručka uživatele. Střešovická 49, Praha 6, s o f c o s o f c o n.

PCKIT LPT MODUL SBĚRNICE IOBUS PRO PC LPT. Příručka uživatele. Střešovická 49, Praha 6,   s o f c o s o f c o n. PCKIT LPT MODUL SBĚRNICE IOBUS PRO PC LPT Příručka uživatele Střešovická 49, 162 00 Praha 6, e-mail: s o f c o n @ s o f c o n. c z tel./fax : (02) 20 61 03 48 / (02) 20 18 04 54, http :// w w w. s o f

Více

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC Informační systémy 2 Obsah: Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC ROM RAM Paměti typu CACHE IS2-4 1 Dnešní info: Informační systémy 2 03 Informační systémy

Více

Vstupně - výstupní moduly

Vstupně - výstupní moduly Vstupně - výstupní moduly Přídavná zařízení sloužící ke vstupu a výstupu dat bo k uchovávání a archivaci dat Nejsou připojována ke sběrnici přímo, ale prostřednictvím vstupně-výstupních modulů ( ů ). Hlavní

Více

PŘÍLOHY. PRESTO USB programátor

PŘÍLOHY. PRESTO USB programátor PŘÍLOHY PRESTO USB programátor 1. Příručka PRESTO USB programátor Popis indikátorů a ovládacích prvků Zelená LED (ON-LINE) - PRESTO úspěšně komunikuje s PC Žlutá LED (ACTIVE) - právě se komunikuje s uživatelskou

Více

Pohled do nitra mikroprocesoru Josef Horálek

Pohled do nitra mikroprocesoru Josef Horálek Pohled do nitra mikroprocesoru Josef Horálek Z čeho vycházíme = Vycházíme z Von Neumannovy architektury = Celý počítač se tak skládá z pěti koncepčních bloků: = Operační paměť = Programový řadič = Aritmeticko-logická

Více

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Jiří Douša, katedra číslicového návrhu (K18103), České vysoké učení technické

Více

Profilová část maturitní zkoušky 2014/2015

Profilová část maturitní zkoušky 2014/2015 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2014/2015 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 26-41-M/01 Elektrotechnika Zaměření: technika

Více

Řízení IO přenosů DMA řadičem

Řízení IO přenosů DMA řadičem Řízení IO přenosů DMA řadičem Doplňující text pro POT K. D. 2001 DMA řadič Při přímém řízení IO operací procesorem i při použití přerušovacího systému je rychlost přenosu dat mezi IO řadičem a pamětí limitována

Více

Koncepce DMA POT POT. Při vstupu nebo výstupu dat se opakují jednoduché činnosti. Jednotlivé kroky lze realizovat pomocí speciálního HW.

Koncepce DMA POT POT. Při vstupu nebo výstupu dat se opakují jednoduché činnosti. Jednotlivé kroky lze realizovat pomocí speciálního HW. p 1 Koncepce DMA Při vstupu nebo výstupu dat se opakují jednoduché činnosti. Jednotlivé kroky lze realizovat pomocí speciálního HW. Čekání na připravenost V/V Přenos paměť V/V nebo V/V paměť Posun pointeru

Více

FVZ K13138-TACR-V004-G-TRIGGER_BOX

FVZ K13138-TACR-V004-G-TRIGGER_BOX TriggerBox Souhrn hlavních funkcí Synchronizace přes Ethernetový protokol IEEE 1588 v2 PTP Automatické určení možnosti, zda SyncCore zastává roli PTP master nebo PTP slave dle mechanizmů standardu PTP

Více

... sekvenční výstupy. Obr. 1: Obecné schéma stavového automatu

... sekvenční výstupy. Obr. 1: Obecné schéma stavového automatu Předmět Ústav Úloha č. 10 BDIO - Digitální obvody Ústav mikroelektroniky Komplexní příklad - návrh řídicí logiky pro jednoduchý nápojový automat, kombinační + sekvenční logika (stavové automaty) Student

Více

Programovatelná logika

Programovatelná logika Programovatelná logika Přehled historie vývoje technologie programovatelných obvodů. Obvody PLD, GAL,CPLD, FPGA Příklady systémů a vývojových prostředí. Moderní elektrotechnický průmysl neustále stupňuje

Více

Logické funkce a obvody, zobrazení výstupů

Logické funkce a obvody, zobrazení výstupů Logické funkce a obvody, zobrazení výstupů Digitální obvody (na rozdíl od analogových) využívají jen dvě napěťové úrovně, vyjádřené stavy logické nuly a logické jedničky. Je na nich založeno hodně elektronických

Více

PK Design. MB-XC3SxxxE-TQ144 v1.1. Uživatelský manuál. Základová deska modulárního vývojového systému MVS. Verze dokumentu 1.0 (10.10.

PK Design. MB-XC3SxxxE-TQ144 v1.1. Uživatelský manuál. Základová deska modulárního vývojového systému MVS. Verze dokumentu 1.0 (10.10. MB-XC3SxxxE-TQ144 v1.1 Základová deska modulárního vývojového systému MVS Uživatelský manuál Verze dokumentu 1.0 (10.10.2008) Obsah 1 Upozornění...3 2 Úvod...4 2.1 Vlastnosti základové desky...4 2.2 Vlastnosti

Více

Paměťové prvky. ITP Technika personálních počítačů. Zdeněk Kotásek Marcela Šimková Pavel Bartoš

Paměťové prvky. ITP Technika personálních počítačů. Zdeněk Kotásek Marcela Šimková Pavel Bartoš Paměťové prvky ITP Technika personálních počítačů Zdeněk Kotásek Marcela Šimková Pavel Bartoš Vysoké učení technické v Brně, Fakulta informačních technologií v Brně Božetěchova 2, 612 66 Brno Osnova Typy

Více

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Přednáška Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského

Více

Paměti počítače 9.přednáška

Paměti počítače 9.přednáška Paměti počíta tače 9.přednáška Paměť Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje Paměti počítače lze rozdělit do tří základních skupin: registry paměťová místa na

Více

Parametry pamětí vybavovací doba (tj. čas přístupu k záznamu v paměti) = 10 ns ms rychlost toku dat (tj. počet přenesených bitů za sekundu)

Parametry pamětí vybavovací doba (tj. čas přístupu k záznamu v paměti) = 10 ns ms rychlost toku dat (tj. počet přenesených bitů za sekundu) Paměti Parametry pamětí vybavovací doba (tj. čas přístupu k záznamu v paměti) = 10 ns...100 ms rychlost toku dat (tj. počet přenesených bitů za sekundu) kapacita paměti (tj. počet bitů, slabik, slov) cena

Více

Přednáška A3B38MMP. Bloky mikropočítače vestavné aplikace, dohlížecí obvody. 2015, kat. měření, ČVUT - FEL, Praha J. Fischer

Přednáška A3B38MMP. Bloky mikropočítače vestavné aplikace, dohlížecí obvody. 2015, kat. měření, ČVUT - FEL, Praha J. Fischer Přednáška A3B38MMP Bloky mikropočítače vestavné aplikace, dohlížecí obvody 2015, kat. měření, ČVUT - FEL, Praha J. Fischer A3B38MMP, 2015, J.Fischer, kat. měření, ČVUT - FEL Praha 1 Hlavní bloky procesoru

Více

Boundary Scan JTAG (Joined Test Action Group) IEEE 1149.X Zápis do rozhraní

Boundary Scan JTAG (Joined Test Action Group) IEEE 1149.X Zápis do rozhraní Boundary Scan JTAG (Joined Test Action Group) IEEE 1149.X Zápis do rozhraní Testování obvodů přístup k obvodům omezen porty / vývody In-Circuit Testery (Bed of Nails) Fine Pitch / MCM Multilayer Coating

Více

Paměti EEPROM (1) 25/07/2006 1

Paměti EEPROM (1) 25/07/2006 1 Paměti EEPROM (1) EEPROM - Electrically EPROM Mají podobné chování jako paměti EPROM, tj. jedná se o statické, energeticky nezávislé paměti, které je možné naprogramovat a později z nich informace vymazat

Více

Mikropočítačová vstupně/výstupní jednotka pro řízení tepelných modelů. Zdeněk Oborný

Mikropočítačová vstupně/výstupní jednotka pro řízení tepelných modelů. Zdeněk Oborný Mikropočítačová vstupně/výstupní jednotka pro řízení tepelných modelů Zdeněk Oborný Freescale 2013 1. Obecné vlastnosti Cílem bylo vytvořit zařízení, které by sloužilo jako modernizovaná náhrada stávající

Více

Firmware řídící jednotky stejnosměrného generátoru

Firmware řídící jednotky stejnosměrného generátoru Firmware řídící jednotky stejnosměrného generátoru Zdeněk KOLKA Projekt FR-TI1/184 - Výzkum a vývoj systému řízení a regulace pozemního letištního zdroje Popis Řídicí jednotka GCU 400SG je elektronické

Více

Technické prostředky počítačové techniky

Technické prostředky počítačové techniky Počítač - stroj, který podle předem připravených instrukcí zpracovává data Základní části: centrální procesorová jednotka (schopná řídit se posloupností instrukcí a ovládat další části počítače) zařízení

Více

Princip funkce počítače

Princip funkce počítače Princip funkce počítače Princip funkce počítače prvotní úlohou počítačů bylo zrychlit provádění matematických výpočtů první počítače kopírovaly obvyklý postup manuálního provádění výpočtů pokyny pro zpracování

Více

Paměťový podsystém počítače

Paměťový podsystém počítače Paměťový podsystém počítače typy pamětových systémů počítače virtuální paměť stránkování segmentace rychlá vyrovnávací paměť 30.1.2013 O. Novák: CIE6 1 Organizace paměťového systému počítače Paměťová hierarchie...

Více

Disková pole (RAID) 1

Disková pole (RAID) 1 Disková pole (RAID) 1 Architektury RAID Důvod zavedení RAID: reakce na zvyšující se rychlost procesoru. Pozice diskové paměti v klasickém personálním počítači vyhovuje pro aplikace s jedním uživatelem.

Více

Komunikace modulu s procesorem SPI protokol

Komunikace modulu s procesorem SPI protokol Komunikace modulu s procesorem SPI protokol Propojení dvouřádkového LCD zobrazovače se sběrnicí SPI k procesotru (dále již jen MCU microcontroller unit) a rozložení pinů na HSES LCD modulu. Komunikace

Více

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic. Základní principy konstrukce systémové sběrnice - shrnutí Shrnout základní principy konstrukce a fungování systémových sběrnic. 1 Co je to systémová sběrnice? Systémová sběrnice je prostředek sloužící

Více

ŘÍDÍCÍ DESKA SYSTÉMU ZAT-DV

ŘÍDÍCÍ DESKA SYSTÉMU ZAT-DV ŘÍDÍCÍ DESKA SYSTÉMU ZAT-DV DV300 ZÁKLADNÍ CHARAKTERISTIKA Procesor PowerQUICC II MPC8270 (jádro PowerPC 603E s integrovanými moduly FPU, CPM, PCI a paměťového řadiče) na frekvenci 266MHz 6kB datové cache,

Více

Architektura počítačů Logické obvody

Architektura počítačů Logické obvody Architektura počítačů Logické obvody http://d3s.mff.cuni.cz/teaching/computer_architecture/ Lubomír Bulej bulej@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics 2/36 Digitální

Více

Návrh konstrukce odchovny 2. dil

Návrh konstrukce odchovny 2. dil 1 Portál pre odborné publikovanie ISSN 1338-0087 Návrh konstrukce odchovny 2. dil Pikner Michal Elektrotechnika 19.01.2011 V minulem dile jsme si popsali návrh konstrukce odchovny. senzamili jsme se s

Více

UniPi 1.1 Lite Technologická dokumentace

UniPi 1.1 Lite Technologická dokumentace UniPi 1.1 Lite Technologická dokumentace Obsah 1 Úvodní představení produktu... 3 2 Popis produktu... 4 2.1 Využití GPIO pinů... 5 2.2 GPIO konektor... 5 2.3 Napájení... 6 2.4 Montáž Raspberry Pi k UniPi

Více

Operační paměti počítačů PC

Operační paměti počítačů PC Operační paměti počítačů PC Dynamické paměti RAM operační č paměť je realizována čipy dynamických pamětí RAM DRAM informace uchovávána jako náboj na kondenzátoru nutnost náboj pravidelně obnovovat (refresh)

Více

Architektura počítačů Logické obvody

Architektura počítačů Logické obvody Architektura počítačů Logické obvody http://d3s.mff.cuni.cz/teaching/computer_architecture/ Lubomír Bulej bulej@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Digitální

Více

Návrh ovládání zdroje ATX

Návrh ovládání zdroje ATX Návrh ovládání zdroje ATX Zapínání a vypínání PC zdroj ATX se zapíná spojením řídicího signálu \PS_ON se zemí zapnutí PC stiskem tlačítka POWER vypnutí PC (hardwarové) stiskem tlačítka POWER a jeho podržením

Více

Paměti Rambus DRAM (RDRAM) Paměti Flash Paměti SGRAM

Paměti Rambus DRAM (RDRAM) Paměti Flash Paměti SGRAM Paměti Rambus DRAM (RDRAM) Paměti Flash Paměti SGRAM 1 Požadavky na RDRAM - začátky Nové DRAM musí zajistit desetinásobné zvýšení šířky pásma srovnání výkonu procesoru a paměti. Náklady na výrobu a prodej

Více

Cíle. Teoretický úvod. BDIO - Digitální obvody Ústav mikroelektroniky Sekvenční logika - debouncer, čítače, měření doby stisknutí tlačítka Student

Cíle. Teoretický úvod. BDIO - Digitální obvody Ústav mikroelektroniky Sekvenční logika - debouncer, čítače, měření doby stisknutí tlačítka Student Předmět Ústav Úloha č. 9 BIO - igitální obvody Ústav mikroelektroniky Sekvenční logika - debouncer, čítače, měření doby stisknutí tlačítka Student Cíle Pochopení funkce obvodu pro odstranění zákmitů na

Více

6. Programovatelné struktury. PLA, PAL, PROM, GAL struktury

6. Programovatelné struktury. PLA, PAL, PROM, GAL struktury 6. Programovatelné struktury PLA, PAL, PROM, GAL struktury 6. Programovatelné struktury úvod Programovatelné obvodyřadíme mezi univerzální logické bloky, resp. programovatelné logické moduly. Obecné označení

Více

architektura mostů severní / jižní most (angl. north / south bridge) 1. Čipové sady s architekturou severního / jižního mostu

architektura mostů severní / jižní most (angl. north / south bridge) 1. Čipové sady s architekturou severního / jižního mostu Čipová sada Čipová sada (chipset) je hlavní logický integrovaný obvod základní desky. Jeho úkolem je řídit komunikaci mezi procesorem a ostatními zařízeními a obvody. V obvodech čipové sady jsou integrovány

Více

Periferní operace využívající přímý přístup do paměti

Periferní operace využívající přímý přístup do paměti Periferní operace využívající přímý přístup do paměti Základní pojmy Programová obsluha periferní operace řízení této činnosti procesorem. Periferní operace využívající přerušení řízení řadičem přerušení,

Více

Jízda po čáře pro reklamní robot

Jízda po čáře pro reklamní robot Jízda po čáře pro reklamní robot Předmět: BROB Vypracoval: Michal Bílek ID:125369 Datum: 25.4.2012 Zadání: Implementujte modul do podvozku robotu, který umožňuje jízdu robotu po předem definované trase.

Více

A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL. Rozhraní mikrořadiče, SPI, IIC bus,.. A438NVS, kat. měření, ČVUT - FEL, Praha. J.

A4B38NVS, 2011, kat. měření, J.Fischer, ČVUT - FEL. Rozhraní mikrořadiče, SPI, IIC bus,.. A438NVS, kat. měření, ČVUT - FEL, Praha. J. Rozhraní mikrořadiče, SPI, IIC bus,.. A438NVS, kat. měření, ČVUT - FEL, Praha J. Fischer 1 Náplň přednášky Druhá část. přednášky 12 Sériové rozhraní SPI, Sériové rozhraní IIC A4B38NVS, 2011, kat. měření,

Více

Cíle. Teoretický úvod

Cíle. Teoretický úvod Předmět Ú Úloha č. 7 BIO - igitální obvody Ú mikroelektroniky Sekvenční logika návrh asynchronních a synchronních binárních čítačů, výhody a nevýhody, využití Student Cíle Funkce čítačů a použití v digitálních

Více

Příklady popisu základních obvodů ve VHDL

Příklady popisu základních obvodů ve VHDL Příklady popisu základních obvodů ve VHDL INP - cvičení 2 Michal Bidlo, 2008 bidlom@fit.vutbr.cz entity Circuit is port ( -- rozhraní obvodu ); end Circuit; Proces architecture Behavioral of Circuit is

Více

Jako pomůcka jsou v pravém dolním rohu vypsány binární kódy čísel od 0 do 15 a binární kódy příkazů, které máme dispozici (obr.21). Obr.

Jako pomůcka jsou v pravém dolním rohu vypsány binární kódy čísel od 0 do 15 a binární kódy příkazů, které máme dispozici (obr.21). Obr. Model procesoru Jedná se o blokové schéma složené z registrů, paměti RAM, programového čítače, instrukčního registru, sčítačky a řídicí jednotky, které jsou propojeny sběrnicemi. Tento model má dva stavy:

Více

Laboratorní cvičení z předmětu Elektrická měření 2. ročník KMT

Laboratorní cvičení z předmětu Elektrická měření 2. ročník KMT MĚŘENÍ S LOGICKÝM ANALYZÁTOREM Jména: Jiří Paar, Zdeněk Nepraš Datum: 2. 1. 2008 Pracovní skupina: 4 Úkol: 1. Seznamte se s ovládáním logického analyzátoru M611 2. Dle postupu měření zapojte pracoviště

Více

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ. MEIII Paměti konstant

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ. MEIII Paměti konstant Projekt: ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ Téma: MEIII - 1.5 Paměti konstant Obor: Mechanik elektronik Ročník: 3. Zpracoval(a): Jiří Kolář Střední průmyslová škola Uherský Brod, 2010 Projekt je spolufinancován

Více

Přerušení na PC. Fakulta informačních technologií VUT v Brně Ústav informatiky a výpočetní techniky. Personální počítače, technická péče cvičení

Přerušení na PC. Fakulta informačních technologií VUT v Brně Ústav informatiky a výpočetní techniky. Personální počítače, technická péče cvičení Fakulta informačních technologií VUT v Brně Ústav informatiky a výpočetní techniky Personální počítače, technická péče cvičení 5 Přerušení na PC Zadání Seznamte se s konstrukcí cvičné zásuvné adaptérové

Více

Paměť počítače. 0 (neprochází proud) 1 (prochází proud)

Paměť počítače. 0 (neprochází proud) 1 (prochází proud) Paměť počítače Paměť je nezbytnou součástí jakéhokoli počítače. Slouží k uložení základních informací počítače, operačního systému, aplikačních programů a dat uživatele. Počítače jsou vybudovány z bistabilních

Více

Vstupní jednotka E10 Návod na použití

Vstupní jednotka E10 Návod na použití Návod na použití Přístupový systém Vstupní jednotka E 10 Strana 1 Obsah 1 Úvod:... 3 2 Specifikace:... 3 3 Vnitřní obvod:... 3 4 Montáž:... 3 5 Zapojení:... 4 6 Programovací menu... 5 6.1 Vstup do programovacího

Více

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií VY_32_INOVACE_31_09 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední

Více

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC Informatika 2 Technické prostředky počítačové techniky - 2 Přednáší: doc. Ing. Jan Skrbek, Dr. - KIN Přednášky: středa 14 20 15 55 Spojení: e-mail: jan.skrbek@tul.cz 16 10 17 45 tel.: 48 535 2442 Obsah:

Více

Systém adresace paměti

Systém adresace paměti Systém adresace paměti Základní pojmy Adresa fyzická - adresa, která je přenesena na adresní sběrnici a fyzicky adresuje hlavní paměť logická - adresa, kterou má k dispozici proces k adresaci přiděleného

Více

TECHNICKÝ POPIS MODULU GRAFIK =============================

TECHNICKÝ POPIS MODULU GRAFIK ============================= listů: 8 list : 1 TECHNICKÝ POPIS MODULU GRAFIK ============================= zpracoval: Nevoral schválil: Cajthaml ZPA, k.p. Nový Bor, listopad 1985 4-151-00342-4 list: 1 list: 2 1. VŠEOBECNĚ Obvody realizované

Více

Profilová část maturitní zkoušky 2015/2016

Profilová část maturitní zkoušky 2015/2016 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2015/2016 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 26-41-M/01 Elektrotechnika Zaměření: technika

Více

uz80 Embedded Board ver. 1.0 uz80 Vestavná Řídící Deska ver. 1.0

uz80 Embedded Board ver. 1.0 uz80 Vestavná Řídící Deska ver. 1.0 uz80 Embedded Board ver. 1.0 uz80 Vestavná Řídící Deska ver. 1.0 Jednodeskový mikroprocesorový řídící systém s CPU Zilog Z84C15 nebo Toshiba TMPZ84C015: Deska obsahuje: 1. CPU Z84C15 (Zilog) nebo TMPZ84C015

Více

Metody připojování periferií

Metody připojování periferií Metody připojování periferií BI-MPP Přednáška 3 Ing. Miroslav Skrbek, Ph.D. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze Miroslav Skrbek 2010,2011

Více

Základní deska (1) Označována také jako mainboard, motherboard. Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje:

Základní deska (1) Označována také jako mainboard, motherboard. Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje: Základní deska (1) Označována také jako mainboard, motherboard Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje: procesor (mikroprocesor) patici pro numerický koprocesor (resp. osazený

Více

Způsoby realizace této funkce:

Způsoby realizace této funkce: KOMBINAČNÍ LOGICKÉ OBVODY U těchto obvodů je výstup určen jen výhradně kombinací vstupních veličin. Hodnoty výstupních veličin nezávisejí na předcházejícím stavu logického obvodu, což znamená, že kombinační

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT Mgr. Petr

Více

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14 ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 14 0:40 1.3. Vliv hardware počítače na programování Vliv

Více

Typy a použití klopných obvodů

Typy a použití klopných obvodů Typy a použití klopných obvodů Klopné obvody s hodinovým vstupem mění svůj stav, pokud hodinový vstup má hodnotu =. Přidáním invertoru před hodinový vstup je lze upravit tak, že budou měnit svůj stav tehdy,

Více

Sekvenční logické obvody

Sekvenční logické obvody Sekvenční logické obvody Sekvenční logické obvody - úvod Sledujme chování jednoduchého logického obvodu se zpětnou vazbou Sekvenční obvody - paměťové členy, klopné obvody flip-flop Asynchronní klopné obvody

Více

Zařízení pro měření teploty, atmosférického tlaku a nadmořské výšky

Zařízení pro měření teploty, atmosférického tlaku a nadmořské výšky FREESCALE TECHNOLOGY APPLICATION 2012-2013 Zařízení pro měření teploty, atmosférického tlaku a nadmořské výšky Jméno: Libor Odstrčil Ročník: 3. Obor: IŘT Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované

Více

Rozhraní SCSI. Rozhraní SCSI. Architektura SCSI

Rozhraní SCSI. Rozhraní SCSI. Architektura SCSI 1 Architektura SCSI 2 ParalelnírozhraníSCSI Sběrnice typu multimaster. Max. 8 resp. 16 zařízení. Různé elektrické provedení SE (Single Ended) HVD (High Voltage Differential) LVD (Low Voltage Differential)

Více

2.9 Vnitřní paměti. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

2.9 Vnitřní paměti. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu Název školy Číslo projektu Autor Název šablony Název DUMu Tematická oblast Předmět Druh učebního materiálu Anotace Vybavení, pomůcky Ověřeno ve výuce dne, třída Střední průmyslová škola strojnická Vsetín

Více

Rozhraní mikrořadiče, SPI, IIC bus,..

Rozhraní mikrořadiče, SPI, IIC bus,.. Rozhraní mikrořadiče, SPI, IIC bus,.. Přednáška A3B38MMP 2013 kat. měření, ČVUT - FEL, Praha J. Fischer A3B38MMP, 2013, J.Fischer, kat. měření, ČVUT - FEL, Praha 1 Rozhraní SPI Rozhraní SPI ( Serial Peripheral

Více

PROTOKOL RDS. Dotaz na stav stanice " STAV CNC Informace o stavu CNC a radiové stanice FORMÁT JEDNOTLIVÝCH ZPRÁV

PROTOKOL RDS. Dotaz na stav stanice  STAV CNC Informace o stavu CNC a radiové stanice FORMÁT JEDNOTLIVÝCH ZPRÁV PROTOKOL RDS Rádiový modem komunikuje s připojeným zařízením po sériové lince. Standardní protokol komunikace je jednoduchý. Data, která mají být sítí přenesena, je třeba opatřit hlavičkou a kontrolním

Více

Obsah. Zobrazovací a ovládací prvky na čelním panelu. Účel použití. Elektrické zapojení. Obr. 4.7-1: Binární vstupní / výstupní modul 07 DC 91

Obsah. Zobrazovací a ovládací prvky na čelním panelu. Účel použití. Elektrické zapojení. Obr. 4.7-1: Binární vstupní / výstupní modul 07 DC 91 4.7 Binární vstupní / výstupní modul 16 binárních vstupů, 8 binárních výstupů, 8 konfigurovatelných binárních vstupů / výstupů, 4 V DC, CS31 - linie 1 3 Advant Controller 31 I/O Unit ERR Test 4 1 Obr.

Více

5. Sekvenční logické obvody

5. Sekvenční logické obvody 5. Sekvenční logické obvody 3. Sekvenční logické obvody - úvod Sledujme chování jednoduchého logického obvodu se zpětnou vazbou 3. Sekvenční logické obvody - příklad asynchronního sekvenčního obvodu 3.

Více