VYSOKÁ ŠKOLA POLYTECHNICKÁ JIHLAVA Katedra elektrotechniky a informatiky Obor: Počítačové systémy. Programátor obvodů GAL16V8
|
|
- Bohumír Bařtipán
- před 8 lety
- Počet zobrazení:
Transkript
1 VYSOKÁ ŠKOLA POLYTECHNICKÁ JIHLAVA Katedra elektrotechniky a informatiky Obor: Počítačové systémy Programátor obvodů GAL16V8 bakalářská práce Autor: Miroslav Bílek Vedoucí práce: Ing.Bc. David Matoušek Jihlava 2014
2
3 Anotace Vytvořte funkční vzorek jednoúčelového programátoru obvodů GAL16V8. Připojení k počítači bude řešeno pomocí sériového portu, napájení bude zajištěno z vnějšího zdroje. Hardwarová část bude řešena vhodným mikrokontrolérem a přídavnými obvody. Musí být zajištěna ochrana proti poškození (ochrana vstupů před přepětím, ochrana proti zkratu, atp.). Ovládání bude řešeno programem ve vývojovém prostředí C++ Builder. Naprogramování proběhne pomocí hotového JEDEC souboru, který bude vytvořen pomocí běžných nástrojů. Klíčová slova GAL16V8, programovatelná logická pole, programátor, programování C++ builder Abstract Create a functional model of a dedicated programmer of GAL16V8 circuits. Connecting to a computer will be addressed via the serial port, power will be provided from an external source. The hardware part will be dealt with appropriately microcontroller and auxiliary circuits. They must be protected against damage (inputs against overvoltage protection, short circuit protection, etc..). Control program will be created in the development environment C++ Builder. Programming will be done using JEDEC file that will be created using common tools. Key words GAL16V8, programmable logic array, programmer, C++ builder programming
4 Prohlašuji, že předložená bakalářská práce je původní a zpracoval/a jsem ji samostatně. Prohlašuji, že citace použitých pramenů je úplná, že jsem v práci neporušil/a autorská práva (ve smyslu 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ů, v platném znění, dále též AZ ). Souhlasím s umístěním bakalářské práce v knihovně VŠPJ a s jejím užitím k výuce nebo k vlastní vnitřní potřebě VŠPJ. Byl/a jsem seznámen/a s tím, že na mou bakalářskou práci se plně vztahuje AZ, zejména 60 (školní dílo). Beru na vědomí, že VŠPJ má právo na uzavření licenční smlouvy o užití mé bakalářské práce a prohlašuji, že souhlasím s případným užitím mé bakalářské práce (prodej, zapůjčení apod.). Jsem si vědom/a toho, že užít své bakalářské práce či poskytnout licenci k jejímu využití mohu jen se souhlasem VŠPJ, která má právo ode mne požadovat přiměřený příspěvek na úhradu nákladů, vynaložených vysokou školou na vytvoření díla (až do jejich skutečné výše), z výdělku dosaženého v souvislosti s užitím díla či poskytnutí licence. V Jihlavě dne... Podpis
5 Poděkování Na tomto místě bych rád poděkoval svému vedoucímu práce Ing. Bc. Davidu Matouškovi za poskytnutí tématu k vytvoření bakalářské práce a za všemožnou pomoc při jeho zpracovávání. Dále bych rád poděkoval svojí rodině za veškerou podporu a za všechna omezení a nepohodlí zapříčiněná mým studiem. Nejvíce bych chtěl poděkovat svojí úžasné manželce, bez které bych se až k napsání bakalářské práce nikdy nedostal.
6 Obsah 1. Úvod Motivace Současný stav Analýza zadání Návrh fyzického zařízení Parametry obvodu GAL16V Historie programovatelných obvodů Co jsou to programovatelné obvody typu GAL Typy a značení obvodů GAL16V Zvolený typ obvodu GAL16V8 a jeho architektura Význam vývodů obvodu GAL16V8 v režimu programování Struktura konfigurační EEPROM obvodu GAL16V Datasheet obvodu GAL16V Algoritmy pro práci s obvodem GAL16V Vložení obvodu GAL16V8 do patice programátoru Připojení napájení k obvodu GAL16V Inicializace obvodu GAL16V Načtení programovací značky obvodu GAL16V Vymazání obvodu GAL16V Zápis dat do konfigurační EEPROM obvodu GAL16V Ověření správnosti zapsaných dat Nastavení zabezpečovacího bitu Odpojení napětí ze všech vývodů patice a vyjmutí obvodu GAL16V Zvolený způsob řešení Návrh plošného spoje programátoru
7 Schéma zapojení programátoru Výkres plošného spoje Plánek osazení Seznam součástek Návrh programu pro mikroprocesor Atmega Výpis programu pro mikroprocesor Atmega Návrh ovládacího programu pro počítač Testování programátoru GAL16V8 pomocí multimetru Načtení dat ze souboru JEDEC Aplikace algoritmů pro práci s obvodem GAL16V Výpis funkce pro čtení řádku EEPROM matice obvodu GAL16V Výpis funkce pro zápis dat do řádku EEPROM matice obvodu GAL16V Dokončení ovládacího programu Ovření funkčnosti Závěr...37 Seznam použité literatury...38 Seznam obrázků...39 Obsah přiloženého CD
8 1. Úvod 1.1. Motivace Když jsem se ve třetím semestru studia setkal v předmětu Číslicové systémy s problematikou programovatelných polí GAL, byla to pro mě zcela nová zkušenost. Od programovatelných polí jsme v dalších semestrech přešli k programování mikrokontrolerů, především ATmega644 a ovládání různých periferií, ať už připojených ke zmiňovaným mikrokontrolerům, nebo přímo k počítači. Když jsem v průběhu pátého semestru studia narazil mezi vypsanými tématy bakalářské práce na téma vytvořit funkční vzorek jednoúčelového programátoru obvodů GAL16V8, příliš jsem neváhal. Tím spíše, že jsem již zpracovával pro předmět Návrh plošných spojů návrh podobného plošného spoje, který se dal s drobnými úpravami použít i pro tento účel. Zadané téma v sobě ovšem kromě vyrobení fyzické součástky zahrnuje také vytvoření jednoduchého vývojového kitu v programu C++ builder Současný stav V současnosti existuje ve světě několik výrobců zařízení, sloužících k programování obvodů typu GAL. Jedná se například o značky Atmel, Xeltec, Altera, Lattice, Genius. Ceny vyráběných zařízení se pohybují od cca 75 až do několika tisíc dolarů. Tato profesionálně vyráběná zařízení v sobě kombinují několik funkcí. Kromě již zmíněného programování obvodů typu GAL umožňují naprogramovat většinu sériově vyráběných programovatelných obvodů a pamětí, umožňují též testovat jejich funkčnost, stejně jako umožňují testovat funkčnost řady dalších sériově vyráběných integrovaných obvodů. Součástí dodávky je kromě samotného fyzického zařízení, v dnešní době již většinou určených pro připojení přes USB rozhraní počítače, také vybavení programové. Kromě samotných ovladačů zařízení pro příslušný operační systém počítače, je k dispozici také více či méně sofistikované uživatelské rozhraní a vývojové prostředí. 8
9 Jako příklad bych zde uvedl jeden z nejlacinějších nalezených programátorů s označenícm Genius G540. Dle informací z manuálu a recenzí uživatelů toto zařízení umožňuje testování funkčnosti integrovaných obvodů TTL CMOS (74xx a 4xxx, programování obvodů EEPROM a FLASH (řady 28C, 28F, 29F, 24xx), programování MCU (např. Atmel 89C2051 a 89C4051), programování a čtení obvodů GAL (např. nejčastější typy 22V10 a 16V8) a programování klasických EPROM pamětí ( ) [3] [4] [5]. Kromě nabídky profesionálních zařízení je na Internetu k dispozici řada různých návodů a schémat, podle kterých je možné vyrobit potřebné zařízení i amatérsky doma. Za všechny bych zde uvedl odkaz na zařízení připojitelné k počítači pomocí paralelního portu: GALu.html 1.3. Analýza zadání Z názvu práce jasně vyplývá rámec, kterému se budu věnovat. Cílem bude vytvořil fyzické zařízení, schopné přijmout pomocí sériového portu předem připravený program z počítače a uložit jej do paměti obvodu GAL16V8. Pro návh fyzického zařízení je třeba se seznámit s parametry obvodu GAL16V8, s funkcí jednotlivých vývodů, úrovněmi pacovních napětí a s algoritmy připojení a odpojení programovaného obvodu a s algoritmy čtení a zápisu dat do paměti programovaného obvodu. Dále je třeba vytvořit programové vybavení, schopné načíst v počítači předem připravený program ze souboru typu JEDEC, zpracovat jej do formy vhodné k přenosu přes sériový port, navázat spojení s vytvořeným zařízením a předat mu příslušný program. Pro vytvoření potřebného programového vybavení je třeba získat detailní znalost struktury souboru typu JEDEC, ze kterého budou data pro programovaný obvod získávána. Obsahem práce nebude teorie tvorby programů pro obvod GAL16V8. 9
10 2. Návrh fyzického zařízení 2.1. Parametry obvodu GAL16V Historie programovatelných obvodů První programovatelné elektronické součástky byly zkonstruovány začátkem 70 let 20. století. Jednalo se jednak o programovatelné paměti PROM (později EPROM a EEPROM), které ovšem nebyly určeny pro programování logických funkcí, jednak tzv. FPLA (Field Programmable Logic Array) obvody, které byly ovšem drahé a pomalé. Z těchto FPLA obvodů se koncem 70. let 20. století vyvinuly tzv. PAL (Programmable Array Logic) obvody s programovatelnou maticí logických součinů a fixní maticí logických součtů, dosahující podstatně vyšších rychlostí. Do této kategorie se řadí též programovatelné obvody typu GAL (Generic Array Logic). Zlepšující se technologie umožnily v polovině 80. let 20. století skládání více matic do jednoho pouzdra v takzvaných CPLD (Complex Programmable Logic Device) obvodech a postupně i vznik tzv. FPGA (Field Programmable Gate Array) obvodů s nejobecnější strukturou. [8] Co jsou to programovatelné obvody typu GAL Obvody typu GAL jsou univerzální reprogramovatelné součástky obsahující programovatelnou matici logických součinů (AND) a pevnou maticí logických součtů (OR), které umožnují vytvářet libovolné uživatelsky definované kombinační a sekvenční funkce. Obvody GAL se skládají ze dvou hlavních stavebních částí: programovatelné pole AND hradel konfigurovatelné logické výstupní makrobuňky OLMC (Output Logic Macrocell) Obvody GAL mají dva základní typy signálových vývodů - vstupy a výstupy Vstupy jsou přímo zavedeny do programovatelné matice AND a jejich funkce nemůže být uživatelem změněna. Všechny vstupy jsou shodné, v každé definiční rovnici pro matici AND je možno použít libovolný vstupní signál v přímé nebo negované formě. 10
11 Výstupy mohou být použity ve více funkcích: přímý kombinační výstup, jehož funkce je zadána logickou rovnicí. Lze uživatelsky nastavovat stav vysoké impedance. výstup registru D. Vstupní funkce registru je definována logickou rovnicí. Lze ovládat vysokoimpedanční stav ( /OE ). jako další rozšiřující vstupní pin do matice AND Obrázek 1: Vnitřní schéma obvodu GAL16V8 [15] 11
12 Výběr funkce výstupního pinu automaticky provádí překladač na základě definičních rovnic, příp. klíčových slov. Pokud je pin použit jen jako vstupní proměnná v logických rovnicích, je odpovídající OLMC buňka zablokována. Pokud je pin použit ve funkci výstupu, je současně také zaveden zpět do matice AND, kde může být použit pro definici dalších rovnic nebo i pro vlastni definici. Naprogramovaný obvod GAL je možné elektricky vymazat a opět naprogramovat. Navíc díky vysoké flexibilitě je možno jedním obvodem GAL emulovat řadu obvodů typu PAL. [7] [9] [10] Typy a značení obvodů GAL16V8 Jelikož se vyrábí více typů obvodů GAL16V8 s různými vlastnostmi, uvedu zde krátký návod, jak se orientovat ve značení těchto typů. Na každém obvodu je označení, skládající se ze znaků před pomlčkou, pomlčky a znaků za pomlčkou: XXXXXXXX-XX X X X Znaky před pomlčkou označují typ obvodu. Existují 4 typy obvodu GAL16V8. Jsou to GAL16V8A, GAL16V8B, GAL16V8C a v dnešní době nejběžnější GAL16V8D. První 2 znaky za pomlčkou udávají zpoždění obvodu v ns. Třetí znak udává spotřebu obvodu, L pro nízkou a Q pro čtvrtinovou. Čtvrtý znak udává typ pouzdra. Obvod GAL16V8 se vyrábí ve třech variantách pouzder, v pouzdru typu DIP, pouzdru typu SOIC a typu PLCC. Všechny typy pouzder obsahují 20 vývodů a vnitřní architektura i funkce jednotlivých vývodů jsou totožné. Poslední znak udává provedení obvodu. Pokud není, jedná se o komerční provedení, I znamená, že se jedná o průmyslové provedení Zvolený typ obvodu GAL16V8 a jeho architektura Pro svou práci jsem si zvolil obvod GAL16V8D v provedení DIP. Obvod obsahuje: vstup pro připojení hodinového signálu CLK, který lze případně použít jako vstup 8 vývodů, které lze použít pouze jako vstupy vývod pro připojení země 12
13 vývod pro vstup řízení třístavových oddělovačů výstupů OE, který lze případně použít jako vstup 8 vývodů, které lze použít buď jako vstupy, nebo jako výstupy synchronní, nebo asynchronní s hodinovým signálem CLK vývod pro připojení napájení V CC Obrázek 2: Schéma obvodu GAL16V8D [14] Význam vývodů obvodu GAL16V8 v režimu programování Vývody 1, 13, 14, 15, 16 a 17, označené V IL, nejsou při programování obvodu GAL16V8 aktivní, je však třeba je přes vhodný rezistor připojit na zem, aby se zabránilo poškození obvodu vlivem statické elektřiny. Vývod 2, označený EDIT, slouží pro připojení programovacího napětí. Pro programování je třeba přivést na tento vývod napětí 12V. Vývody 18, 3, 4, 5, 6 a 7, označené RAx jsou určeny pro vystavení adresy řádku konfigurační EEPROM, na který se mají zapsat data, nebo ze kterého se mají přečíst data. Vývod 8, označený SCLK, slouží pro potvrzování datových bitů při zápisu nebo čtení dat. Vývod 9, označený SDIN, má funkci vstupu. Na tomto vývodu jsou vystavovány jednotlivé datové bity pro zápis dat. Vývod 10, označený GND, je zem. Vývod 11, označený STB, slouží pro potvrzování adresy řádku při zápisu nebo čtení dat. 13
14 Vývod 12, označený SDOUT, má funkci výstupu. Na tomto vývodu jsou vystavovány jednotlivé datové bity, čtené z konfigurační EEPROM. Vývod 19, označený P/V, slouží pro nastavení módu čtení ( P/V=0 verify), nebo zápisu ( P/V=1 programme) dat. Vývod 20, označený V CC, je napájení obvodu GAL16V8. Na tento vývod je třeba přivést napětí 5V Struktura konfigurační EEPROM obvodu GAL16V8 Konfigurační EEPROM obvodu GAL16V8 obsahuje 64 řádků, číslovaných od 0 a rozdělených do skupin podle významu uložených dat. Prvních 32 řádků konfigurační matice (číslování 0-31), 64 bitů na každém řádku, obsahuje konfiguraci propojek programovatelné AND matice. Další řádek (32) obsahuje opět 64 bitů a slouží jako elektronická značka (User Electronic Signature UES) a slouží k označení obvodu. Řádky jsou vyhrazeny a nelze na ně zapisovat. Každý řádek obsahuje 64 bitů. Speciální význam má řádek 58, kde je uložena programovací značka (Programmers Electronic Signature PES), která obsahuje informace týkající se programování. Řádek 60 je dlouhý 82 bitů a obsahuje konfiguraci obvodu. Řádky jsou dlouhé vždy 1 bit, významné pro programování jsou bity na řádcích 61 a 63. Na řádku 61 je bezpečnostní bit, který, pokud je nastaven, zakazuje čtení konfigurace obvodu. Po každém mazání obvodu je automaticky nastaven na 0. Řádek 63 obsahuje mazací bit. Pokud sem zapíšeme 1, vymažeme obsah celé konfigurační EEPROM obvodu, kromě informací uložených na řádku 58 (PES). Teprve po smazání je možné obvod opět naprogramovat Datasheet obvodu GAL16V8 Každý výrobce integrovaných obvodů vydává ke svým výrobkům tzv. datasheet, kde jsou uvedeny technické parametry konkrétního integrovaného obvodu. Na Internetu existuje několik velkých databází, odkud se tyto datasheety dají získat. Já jsem pro získání datasheetu k obvodu GAL16V8 použil Internetovou databázi na adrese V datasheetu lze najít jak mezní údaje pro napětí, tak doporučené pracovní podmínky a dynamické charakteristiky. 14
15 Mezní údaje: napájecí napětí Vcc: -0,5V - +7V vstupní napětí: -2,5V Vcc+1V Doporučené pracovní podmínky: provozní teplota: 0-75 C napájecí napětí: 4,75V - 5,25V Vstupní napětí pro: log 0: -0,5V 0,8V log 1: 2,0V Vcc+1V Dynamické parametry: zpoždění mezi náběžnými hranami různých signálů: ~10ns maximální frekvence: ~40MHz V datasheetu se bohužel neudávají hodnoty pro programovací napájení EDIT. Ty jsem našel ve zdroji [12] a [13] str.136. Pro čtení je hodnota programovacího napájení EDIT 12V, pro zápis se hodnota papájecího napětí EDIT pohybuje v rozmezí 14V 16,5V v závislosti na hodnotách uložených na 58. řádku (PES) konfigurační EEPOM matice obvodu. 15
16 2.2. Algoritmy pro práci s obvodem GAL16V Vložení obvodu GAL16V8 do patice programátoru Před vložením obvodu GAL16V8 do patice programátoru je třeba zajistit, aby se napětí na všech vývodech patice lišilo maximálně o 0,7V. Toto se zajistí logickým odpojením všech signálů a napájení a navíc fyzickým propojením vývodů přes snižovací odpory (vhodná hodnota je například 10kΩ) na zem Připojení napájení k obvodu GAL16V8 Po vložení obvodu GAL16V8 do patice programátoru je třeba nejprve připojit napájení obvodu V CC a teprve potom je možné připojit programovací napájení 12V na vývod EDIT a přepnout tím obvod GAL16V8 do programovacího módu Inicializace obvodu GAL16V8 Po připojení napájení je třeba nejprve nastavit všechny datové vstupy do neaktivního stavu, tzn. RA 0 -RA 5 =0, SCLK=0, SDIN=0, STB=1, P/V= Načtení programovací značky obvodu GAL16V8 programovací značka obvodu - PES (Programmers Electronic Signature) 1. Na vývody RA 0 -RA 5 nastavíme adresu řádku konfigurační EEPROM, obsahující PES informace (58=0b111010) při nastaveném příznaku pro čtení dat (P/V=0) a hodnoty SCLK=0 a STB=1 do neaktivního stavu. 2. Nastavením signálu STB=0 a opětovným nastavením STB=1 potvrdíme vystavenou adresu řádku a obsah požadovaného řádku se načte do registru PISO. 3. Nastavení signálu SCLK=1 a opětovné nastavení SCLK=0 vystaví hodnotu 1 bitu registru PISO na vývod SDOUT. Toto opakujeme, dokud nejsou postupně získány všechny bity z registru PISO. Jelikož se v této práci zabývám jednoúčelovým programátorem pouze pro obvody typu GAL16V8, je možné tento krok vynechat Vymazání obvodu GAL16V8 Vymazání obvodu se provede zapsáním log. 1 na 63. řádek konfigurační EEPROM: 1. Zkontrolujeme správnou hodnotu programovacího napětí EDIT 12V. 2. Nastavíme příznak zápisu dat ( P/V=1), hodnoty SCLK=0 a STB=1 do neaktivního stavu a na vývod SDIN vystavíme hodnotu, kterou chceme zapsat do PISO registru (SDIN=1). 16
17 3. Nastavení signálu SCLK=1 a opětovné nastavení SCLK=0 zapíše hodnotu z vývodu SDIN do registru PISO. 4. Na vývody RA 0 -RA 5 nastavíme adresu odpovídajícího řádku konfigurační EEPROM (63=0b111111). 5. Nastavením signálu STB=0 a opětovným nastavením STB=1 potvrdíme vystavenou adresu řádku a obsah registru PISO je zapsán na tento řádek. 6. Změníme příznak zápisu dat opět na příznak čtení dat (P/V=0) Zápis dat do konfigurační EEPROM obvodu GAL16V8 1. Zkontrolujeme správnou hodnotu programovacího napětí EDIT 14V. 2. Nastavíme příznak zápisu dat ( P/V=1) a hodnoty SCLK=0 a STB=1 do neaktivního stavu. 3. Na vývod SDIN vystavíme hodnotu, kterou chceme zapsat do PISO registru. 4. Nastavení signálu SCLK=1 a opětovné nastavení SCLK=0 zapíše hodnotu z vývodu SDIN do registru PISO. Kroky 2 a 3 opakujeme, dokud nejsou v registru PISO zapsaná všechna potřebná data. 5. Na vývody RA 0 -RA 5 nastavíme adresu odpovídajícího řádku konfigurační EEPROM. 6. Nastavením signálu STB=0 a opětovným nastavením STB=1 potvrdíme vystavenou adresu řádku a obsah registru PISO je zapsán na tento řádek. Vracíme se k bodu 2 a celý postup opakujeme postupně pro všechny potřebné řádky (0-32 a 60). 7. Změníme příznak zápisu dat opět na příznak čtení dat (P/V=0) Ověření správnosti zapsaných dat Ověření správnosti zapsaných dat lze provést jejich přečtením a porovnáním se zapisovanými daty: 1. Nastavíme příznak pro čtení dat (P/V=0) a hodnoty SCLK=0 a STB=1 do neaktivního stavu. 2. Na vývody RA 0 -RA 5 nastavíme adresu požadovaného řádku konfigurační EEPROM. 3. Nastavením signálu STB=0 a opětovným nastavením STB=1 potvrdíme vystavenou adresu řádku a obsah požadovaného řádku se načte do registru PISO. 17
18 4. Nastavení signálu SCLK=1 a opětovné nastavení SCLK=0 vystaví hodnotu 1 bitu registru PISO na vývod SDOUT, odkud ji načteme do paměti ovládacího programu programátoru. Toto opakujeme, dokud nejsou postupně získány všechny bity z registru PISO. Vracíme se k bodu 2 a celý postup opakujeme postupně pro všechny potřebné řádky (0-32 a 60) Nastavení zabezpečovacího bitu Pokud chceme ochránit naprogramovaný obvod GAL16V8 před přečtením (a případným zkopírováním), nastavíme zabezpečovací bit tak, že zapíšeme do konfigurační EEPROM na řádek 61 hodnotu 1. Postup je totožný s postupem při mazání obvodu GAL16V8 (viz výše) Odpojení napětí ze všech vývodů patice a vyjmutí obvodu GAL16V8 Nejprve odpojíme napětí ze všech datových vývodů patice, tzn. RA 0 -RA 5 =0, SCLK=0, SDIN=0, STB=0, P/V=0. Potom odpojíme napájení na vývodu EDIT. Nakonec odpojíme napájení na vývodu VCC. Nyní je na všech vývodech patice nulové napětí, takže můžeme obvod GAL16V8 vyjmout a použít v aplikaci, pro kterou jsme jej programovali. 18
19 2.3. Zvolený způsob řešení Při návrhu programátoru jsem vycházel z materiálů k předmětu Návrh plošných spojů a z [1] str , , [2], [6] a [10] str 76-92, , Návrh plošného spoje programátoru V průběhu studia jsem se seznámil s programováním 8 bitového mikroprocesoru Atmega16, jehož pracovní napětí 0V a 5V odpovídá pracovním parametrům obvodu GAL16V8. Proto jsem se rozhodl použít pro konstrukci programátoru tento mikroprocesor, který bude nastavovat piny adresy, piny řídící a bude ovládat přívod napájecího a programovacího napětí. V obvodu programátoru je potřeba získat 3 úrovně napájecího napětí. 5V pro napájení obvodu GAL16V8 a pro napájení samotného mikroprocesoru, dále 12V programovací napětí pro čtení dat z obvodu GAL16V8 a 14V programovací napětí pro zápis dat do obvodu GAL16V8. Pro přívod napájecího napětí do obvodu programátoru jsem se rozhodl použít starší napájecí adaptér od laptopu s výkonem 65W a úrovní napájecího napětí 20V. Pro získání napájecího napětí V CC =5V, resp. programovacího napětí EDIT=12V jsem do obvodu programátoru zapojil stabilizátor napětí 5V, resp. 12V. Přívod obou úrovní napětí k obvodu GAL16V8 je otevírán a uzavírán bipolárním tranzistorem, který je ovládán pomocí 2 vývodů mikroprocesoru. Problémem bylo získání programovacího napětí 14V. Toto jsem vyřešil zapojením diody s úbytkem 2V mezi nulovou úroveň obvodu programátoru a nulovou úroveň stabilizátoru napětí 12V a paralelním zapojením bipolárního tranzistoru k této diodě, který je ovládán jedním vývodem mikroprocesoru. Při uzavřeném tranzistoru prot0k8 proud tranzistorem, dioda je zkratována, k úbytku napětí na ní nedochází a na výstupu stabilizátoru napětí 12V je vzhledem k nulové úrovni programátoru napětí 12V. Pokud je tranzistor otevřen, protéká proud diodou, na které dojde k úbytku napětí 2V, takže na výstupu stabilizátoru napětí 12V je vzhledem k nulové úrovni programátoru napětí 14V. Kromě 3 vývodů mikroprocesoru ovládajících přívod napájecího napětí V CC =5V a programovacích napětí EDIT=12V, resp. EDIT=14V, je pro programování obvodu 19
20 GAL16V8 třeba 6 vývodů pro nastavení adresy, 4 vývody řídící SCLK, SDIN, P/V, STB a 1 vývod pro čtení výstupu obvodu GAL16V8 SDOUT. Kvůli co nejsnadnější výrobě základní desky pro programátor jsem u mikroprocesoru využil 7. pin portu D pro čtení dat z obvodu GAL16V8, všechny piny portu C a dva nejvyšší piny portu A pro nastavení adresy a řídících vývodů obvodu GAL16V8, 5. pin portu A pro volbu úrovně programovacího napětí (12V, resp. 14V) a piny 3 a 4 portu A pro ovládání přívodu programovacího napětí EDIT, resp. Napájecího napětí V CC. Komunikace se sériovým portem počítače je řešena klasicky pomocí integrovaného obvodu MAX232 propojeným na RxD/TxD vývody mikroprocesoru. Pro mikroprocesor Atmega16 je potřeba napsat program, který bude přijímat data z počítače prostřednictvím sériového portu, přijatá data zpracuje a na jejich základě nastaví příslušné vývody patice s vloženým obvodem GAL16V8. Dále bude odečítat stav na vývodu SDOUT obvodu GAL16V8 a na základě přijatých dat z počítače a stavu vývodu SDOUT obvodu GAL16V8 bude prostřednictvím sériového portu odesílat příslušná hlášení do počítače. Plošný spoj programátoru byl navržen v programu Eagle. Po vyrobení plošného spoje jsem jej osadil příslušnými součástkami, zapájel a následně pomocí multimetru proměřil, že spoje, které mají být vodivé opravdu vodivé jsou, body, které nemají být vodivě propojeny opravdu propojeny nejsou a že všechny pájené spoje funkční. 20
21 Schéma zapojení programátoru Obrázek 3: Schéma zapojení programátoru GAL16V8 21
22 Výkres plošného spoje Plánek osazení Obázek 4: Výkres plošného spoje Obrázek 5: Plánek osazení plošného spoje 22
23 Seznam součástek Part Value Device Package Library C1 E470M/25V CPOL-EUE5-13 E5-13 rcl C2 E22V/16V CPOL-EUE2.5-5 E2,5-5 rcl C3 E22V/16V CPOL-EUE2.5-5 E2,5-5 rcl C4 CK 100N C-EU X075 C X075 rcl C5 CK 100N C-EU X075 C X075 rcl C6 CK 100N C-EU X075 C X075 rcl C7 CK 100N C-EU X075 C X075 rcl C8 E22V/16V CPOL-EUE2.5-5 E2,5-5 rcl C9 E22V/16V CPOL-EUE2.5-5 E2,5-5 rcl C10 E22M/16V CPOL-EUE2.5-5 E2,5-5 rcl C11 CK 100N C-EU X075 C X075 rcl C12 CK 100N C-EU X075 C X075 rcl C13 CK 100N C-EU X075 C X075 rcl D1 1N4007 1N4004 DO41-10 diode D2 1N4148 1N4148DO35-7 DO35-7 diode IC XXL 78XXL v-reg IC XXL 78XXL v-reg IC3 MAX232 MAX220CPE DIL16 maxim IC4 ATMEGA16-16PU ATMEGA644-10PU DIL40 atmel IC5 DIL20 DIL20 ic-package LED1 LED5MM LED5MM led Q1 BC548 BC548 TO92-EBC transistor-npn Q2 11,059MHz CRYSTALHC18U-V HC18U-V crystal Q3 BC558A BC558A TO92-EBC transistor-pnp Q4 BC548 BC548 TO92-EBC transistor-npn Q5 BC548 BC548 TO92-EBC transistor-npn Q6 BC558A BC558A TO92-EBC transistor-pnp R1 RR 100K R-EU_0207/ /10 rcl R2 RR 1K R-EU_0207/ /10 rcl R3 RR 1K R-EU_0207/ /10 rcl R4 RR 10K R-EU_0207/ /10 rcl R5 RR 100K R-EU_0207/ /10 rcl R6 RR 1K R-EU_0207/ /10 rcl R7 RR 100K R-EU_0207/ /10 rcl R8 RR 1K R-EU_0207/ /10 rcl R9 RR 1K R-EU_0207/ /10 rcl R10 RR 10K R-EU_0207/ /10 rcl R11 RR 10K R-EU_0207/ /10 rcl R12 RR 100K R-EU_0207/ /10 rcl R13 RR 1K R-EU_0207/ /10 rcl R14 RR 100K R-EU_0207/ /10 rcl R15 RR 10K R-EU_0207/ /10 rcl R16 RR 10K R-EU_0207/ /10 rcl R17 RR 10K R-EU_0207/ /10 rcl R18 RR 10K R-EU_0207/ /10 rcl R19 RR 10K R-EU_0207/ /10 rcl R20 RR 10K R-EU_0207/ /10 rcl R21 RR 10K R-EU_0207/ /10 rcl X1 ARK500/2 AK500/2 AK500/2 con-ptr500 X2 CAN9Z90 F09H F09H con-subd 23
24 Návrh programu pro mikroprocesor Atmega16 Při návrhu programu pro mikroprocesor Atmega16 se nabízely 2 možnosti, jak postupovat. První možnost byla vytvořit komplexní program, který by v sobě obsahoval veškeré potřebné algoritmy pro programování obvodu GAL16V8 a z počítače by přijímal pouze základní požadavky a data. Tato možnost se mi zpočátku jevila jako výhodná, neboť minimalizuje komunikaci s počítačem prostřednictvím sériového portu a umožňuje využít potenciál mikroprocesoru Atmega16. Brzy jsem však tuto možnost zavrhl, neboť bylo obtížné takový program účinně otestovat a jakákoliv úprava kódu programu vyžadovala vyjmutí mikroprocesoru Atmega16 z obvodu programátoru, jeho vložení do zařízení pro programování mikroprocesorů Atmega, zapsání nového kódu programu, opětovné vyjmutí mikroprocesoru z programovacího zařízení a vložení do obvodu programátoru GAL16V8. Rozhodl jsem se tedy jít druhou cestou, a to cestou co nejjednodušího programu pro mikroprocesor Atmega16. Tento program jsem navrhl tak, abych přímo z počítače dokázal nastavovat jednotlivé vývody prostřednicvím komunikace po sériovém portu. Tento způsob sice zvyšuje potřebu komunikace mezi programátorem GAL16V8 a počítačem prostřednictvím sériového portu a poněkud degraduje funkci mikroprocesoru Atmega16 v obvodu programátoru GAL16V8, je však jednoduchý na otestování funkčnosti a po zavedení do mikroprocesoru Atmega16 nevyžaduje žádné další úpravy kódu programu. Nejprve jsem se musel rozhodnout, jakým způsobem bude komunikovat počítač s mikroprocesorem Atmega16. Jelikož mikroprocesor Atmega16 dokáže komunikovat buď po osmi, nebo po devíti bitech, zatímco vývodů pro ovládání je dohromady 13, musel jsem pro komunikaci použít 2x8 bitů, tedy 2 bajty. Prvních 8 bitů jsem vyhradil pro posílání adresy, která má pro obvod GAL16V8 6 bitů, druhých 8 bitů jsem vyhradil pro ovládání 4 vývodů řídících (P/V, SCLK, SDIN a STB) a 3 vývodů pro ovládání přívodu napětí (V CC, EDIT 12V a EDIT 14V). Nejvyšší bit jsem použil pro rozlišení, 24
25 zda zasílaná data jsou bitem nesoucím informaci o adrese (0), nebo o nastavení řídících vývodů (1). Protože při nejvyšším bitu nastaveném na 0 využívá adresa pouze nejnižších 6 bitů v komunikačním bajtu, zůstává nevyužitý 7. bit, který jsem se rozhodl použít pro identifikaci programátoru GAL16V8. Pokud tedy mikroprocesor obdrzí z počítače v komunikačním bajtu číslo větší než 127, nastaví řídící vývody, přečte stav vývodu SDOUT a pošle přečtený bit do počítače. Pokud mikroprocesor obdrzí z počítače v komunikačním bajtu číslo menší než 64, použije toto jako adresu. Pokud mikroprocesor obdrzí z počítače v komunikačním bajtu číslo z intervalu , pošle zpět do počítače identifikační bajt Výpis programu pro mikroprocesor Atmega16 #define AVR_ATmega16 1 #include <avr/io.h> int main() { unsigned char data; // konfigurace portu mikroprocesoru DDRA = 0b ; DDRC = 0b ; DDRD = 0b ; // povoleni přijímání a vysílání dat UCSRB = (1<<RXEN) (1<<TXEN); // povolení zápisu do registru UCSRS a nastavení 8 bitového přenosu UCSRC = (1<<URSEL) (1<<UCSZ1) (1<<UCSZ0); // nastavení rychlosti přenosu na 9600 UBRRL = 64; UBRRH = 0; 25
26 // tělo programu while(1) { if(ucsra&(1<<rxc)) // pokud je příjem dat dokončen... { data=udr; //... načtu přijatá data do proměnné data if(data&128) // pokud nejvyšší bit je 1... { A... port C... PORTA=(PORTA&0b ) (data&0b ); //... nastavím port PORTC=(PORTC&0b ) (data&0b ); //... nastavím UDR=PIND>>7; //... pošlu nazpět hodnotu přečtenou na SDOUT } else if(data==127) { } PORTA=0b ; PORTC=0b ; UDR=PORTC; else if(data&64) UDR=2; hodnotu 2 // pokud 2 nejvyšší bity jsou 01, pošlu nazpět else // pokud 2 nejvyšší bity jsou 00, jedná se o adresu { if(data&32) PORTC=PORTC 0b ; zbytek PC neměnit // pokud RAG5=1 nastav PC3=1, else PORTC=PORTC&0b ; // pokud RAG5=0 nastav PC3=0, zbytek PC neměnit if(data&16) PORTC=PORTC 0b ; zbytek PC neměnit 26 // pokud RAG4=1 nastav PC4=1,
27 else PORTC=PORTC&0b ; // pokud RAG4=0 nastav PC4=0, zbytek PC neměnit if(data&8) PORTC=PORTC 0b ; zbytek PC neměnit // pokud RAG3=1 nastav PC5=1, else PORTC=PORTC&0b ; // pokud RAG3=0 nastav PC5=0, zbytek PC neměnit if(data&4) PORTC=PORTC 0b ; zbytek PC neměnit // pokud RAG2=1 nastav PC6=1, else PORTC=PORTC&0b ; // pokud RAG2=0 nastav PC6=0, zbytek PC neměnit if(data&2) PORTC=PORTC 0b ; zbytek PC neměnit // pokud RAG1=1 nastav PC7=1, else PORTC=PORTC&0b ; // pokud RAG1=0 nastav PC7=0, zbytek PC neměnit if(data&1) PORTA=PORTA 0b ; zbytek PC neměnit // pokud RAG0=1 nastav PA7=1, else PORTA=PORTA&0b ; // pokud RAG0=0 nastav PA7=0, zbytek PC neměnit UDR=(data<<1) (PIND>>7); // tady je v podstatě jedno, co pošlu zpátky, tak posílám adresa*2+sdout } } if(ucsra&(1<<txc)) // pokud je vysilani dat dokonceno... { UCSRA =(1<<TXC); //... vynuluji priznak dokonceneho vysilani } } } 27
28 3. Návrh ovládacího programu pro počítač Základem ovládacího programu je správné nastavení komunikace s programátorem GAL16V8 pomocí sériového portu a korektní ukončení všech činností při ukončení programu. Nastavení komunikace se provádí hned při startu programu, kdy je načten seznam všech dostupných sériových portů počítače, provede se kontrola zda a na kterém sériovém portu je programátor GAL16V8 připojen a tato informace je zobrazena pro uživatele. Pokud je programátor GAL16V8 na některém sériovém portu detekován, tento port je automaticky nastaven pro komunikaci. Při ukončení programu jsou automaticky provedeny kroky ke korektnímu odpojení programátoru GAL16V8. V první řadě jsou deaktivovány řídící a adresové vývody patice GAL16V8. Dále je odpojeno napájení EDIT od patice GAL16V8. Naposledy je odpojeno pracovní napájení V CC od patice GAL16V8. Tím dojde ke koretnímu odpojení patice GAL16V8. Nakonec je uzavřen sériový port počítače a ovládací program je ukončen. Při návrhu ovládacího programu jsem dále postupoval v několika krocích, které podrobněji rozepíši v následujících odstavcích. Nejprve jsem ovládací program použil pro otestování správné funkce programátoru GAL16V8 bez připojeného obvodu GAL16V8. Následně jsem do ovládacího programu přidal proceduru, která načte soubor ve formátu JEDEC a převede jej na data vhodná pro přenos do programátoru GAL16V8. V dalším kroku jsem do ovládacího programu přidal základní algoritmy pro práci s obvodem GAL16V8. Nakonec jsem doprogramoval část, které vezme data, získaná z JEDEC souboru a pomocí příslušných algoritmů je zapíše do programovaného obvodu GAL16V Testování programátoru GAL16V8 pomocí multimetru Po úspěšném vyrobení, osazení a proměření obvodu programátoru GAL16V8 a po instalaci řídícího programu pro mikroprocesor Atmega16, bylo třeba ověřit, že vše funguje dle předpokladů. Rozhodl jsem se ověřit funkčnost nejprve pomocí multimetru bez připojeného obvodu GAL16V8, aby v případě špatné funkce neyl obvod GAL16V8 28
29 zničen. V ovládacím programu jsem vytvořil 2 pole, jedno pro zadání čísla dekadicky a druhé pro zadání čísla ve dvojkové soustavě a ke každému poli jsem vytvořil tlačítko, pomocí kterého bylo číslo z příslušného pole odesláno pomocí sériového portu do programátoru GAL16V8. Dále jsem vytvořil okno pro zobrazování informací, kde lze zjistit aktuální stav, data posílaná do programátoru GAL16V8 a data z tohoto programátoru přijímaná. Tímto způsobem jsem byl schopen ovládat jednotlivé řídící i adresové vývody patice obvodu GAL16V8 a ověřit, že reálné napětí na jednotlivých vývodech zcela odpovídá napětí, které na vývodech mělo být teoreticky Načtení dat ze souboru JEDEC Textový tvar JEDEC souboru vychází z implementace JEDEC Standard No.3: Stadard Data Transfer Format Between Data Preparation System and Programmable Logic Devoce Programmer a má následující strukturu: 1. Příznak začátku souboru znak {0x02} toto pole je povinné 2. Identifikační pole libovolný text ukončený znakem {0x2A} (hvězdička) 3. Pole přiřazení názvů pinů - text s příslušnou strukturou ukončený znakem {0x2A} 4. Pole názvu typu PLD - text s příslušnou strukturou ukončený znakem {0x2A} toto pole je povinné 5. Pole bezpečnostního bitu - "G1*" (nastaven) / "G0*" (nenastaven) 6. Pole velikosti programovatelné paměti - "QF" + počet bitů (dekadicky) + "*" 7. Pole počtu pinů - "QP" + počet pinů (dekadicky) + "*" 8. Pole hodnot prog. paměti - "L" + adresa (4 čísla dekadicky) + " " + posloupnost znaků 0/1, které budou do uvedené adresy zapsány (implicitní hodnoty jsou 1) + "*" toto pole je povinné 9. Ukončující pole - {03H} + celková kontrolní suma (4 čísla hexadecimálně) toto pole je povinné 29
30 V závislosti na vývojovém systému mohou být v generovaném JEDEC souboru implementovány různé modifikace. [10] [11] Pro převod textového JEDEC souboru do formátu dat vhodného pro odeslání do programátoru GAL16V8 je nejprve vytvořena příslušná matice implicitních hodnot (pokud není některá hodnota v JEDEC souboru uvedena, bere se jako log1), odpovídající příslušným řádkům EEPROM obvodu GAL16V8 (32 řádků po 64 bitech a jeden řádek obsahující 80 bitů). Potom jsou čteny znaky ze souboru JEDEC a pokud je mezi daty nalezen znak 0, je zapsán na příslušné místo do matice implicitních hodnot. Tím jsou získána kompletní data pro zápis do obvodu GAL16V8. Pro kontrolu převáděných dat jsem do ovládacího programu přidal dvě textová pole, do jednoho je vypsán obsah JEDEC souboru, do druhého je vypsána aktualizovaná matice implicitních hodnot Aplikace algoritmů pro práci s obvodem GAL16V8 Detailní popis algoritmů pro práci s obvodem GAL16V8 jsem již uvedl dříve, zde se tedy zaměřím pouze na popis aplikace příslušných algoritmů do ovládacího programu. Nejprve jsem vytvořil 3 tlačítka pro korektní připojení a odpojení programátoru obvodu GAL16V8 a programovaného obvodu GAL16V8. Tlačítko nazvané Zapnout otevře sériový port pro komunikaci mezi počítačem a programátorem obvodu GAL16V8, nastaví všechny řídící a adresové vývody patice GAL16V8 do neaktivního stavu a odpojí napájecí napětí EDIT a V CC od patice GAL16V8, aby bylo možné vložit programovaný obvod GAL16V8 do patice programátoru. Tlačítko nazvané Inicializace přivede na vývod patice GAL16V8 pracovní napětí V CC, poté přivede na vývod patice GAL16V8 programovací napětí EDIT 12V. Tlačítko nazvané Konec nejprve nastaví všechny řídící a adresové vývody patice GAL16V8 do neaktivního stavu a odpojí od patice GAL16V8 programovací napětí EDIT. Poté odpojí od patice GAL16V8 i pracovní napětí VCC a uzavře Sériový port počítače. Dalším krokem bylo zajistit čtení dat z obvodu GAL16V8 a zápis dat do tohoto obvodu.jelikož zápis i čtení probíhá po řádcích, rozhodl jsem se vytvořit funkci pro přečtení jednoho řádku dat z EEPROM matice obvodu GAL16V8 a funkci pro zápis jednoho řádku dat do EEPROM matice obvodu GAL16V8. Funkce pro čtení má jeden 30
31 parametr, kterým je adresa čteného řádku a návratová hodnota funkce je řetězec nul a jedniček obsahující přečtená data. Funkce pro zápis má parametry dva, jedním je adresa řádku, kam budou data zapsána a druhým parametrem je řetězec nul a jedniček obsahující zapisovaná data. V obou funkcích je aplikován příslušný algoritmus pro čtení, resp. zápis Výpis funkce pro čtení řádku EEPROM matice obvodu GAL16V8 UnicodeString TForm1::Precti_radek(int Adresa) { unsigned char Delka=82, x, OVLADANI=128, PV=64, VCC=16, EDIT12V=32+8, EDIT14V=8, SCLK=4, SDIN=2, STB=1; UnicodeString Data=""; if(adresa < 60) Delka=64; else if(adresa > 60) Delka=1; // 12V + STB - příprava ke čtení x=ovladani+vcc+edit12v+stb; WriteFile(Port,&x,1,&p,NULL); ReadFile(Port,&x,1,&p,NULL); // Adresa - vystavím adresu řádku WriteFile(Port,&Adresa,1,&p,NULL); ReadFile(Port,&x,1,&p,NULL); // 12V - vypnutím a zapnutím bitu STB potvrdím vystavenou adresu // 12V + STB x=ovladani+vcc+edit12v; WriteFile(Port,&x,1,&p,NULL); ReadFile(Port,&x,1,&p,NULL); x=ovladani+vcc+edit12v+stb; WriteFile(Port,&x,1,&p,NULL); ReadFile(Port,&x,1,&p,NULL); // smyčka pro přečtení bitů z celého řádku 31
32 while (Delka-- > 0) { // 12V + SCLK + STB - zapnutím a vypnutím bitu SCLK přečtu 1 bit z STDOUT // 12V + STB } } return Data; x=ovladani+vcc+edit12v+sclk+stb; WriteFile(Port,&x,1,&p,NULL); ReadFile(Port,&x,1,&p,NULL); x=ovladani+vcc+edit12v+stb; WriteFile(Port,&x,1,&p,NULL); ReadFile(Port,&x,1,&p,NULL); Data=Data+String(x); Výpis funkce pro zápis dat do řádku EEPROM matice obvodu GAL16V8 void TForm1::Zapis_radek(int Adresa, UnicodeString Data) { unsigned char Delka=82, n=0, x, y, OVLADANI=128, PV=64, VCC=16, EDIT12V=32+8, EDIT14V=8, SCLK=4, SDIN=2, STB=1; if(adresa < 60) Delka=64; else if(adresa > 60) Delka=1; ListBox2->Items->Add("Zapisuji: Adresa="+String(Adresa)+" Data="+Data); // připojím napájení Vcc a programovací napětí EDIT 14V x=ovladani+vcc+edit14v; WriteFile(Port,&x,1,&p,NULL); ReadFile(Port,&x,1,&p,NULL); // nastavím piny P/V a STB x=ovladani+vcc+edit14v+pv+stb; WriteFile(Port,&x,1,&p,NULL); 32
33 ReadFile(Port,&x,1,&p,NULL); // smyčka pro přenesení datových bitů celého řádku do registru PISO while (n < Delka) { // 14V + P/V + SDIN + STB - vystavím jeden bit dat pro přesun do redistru PISO if (Data[++n] == '0') y=0; else y=sdin; x=ovladani+vcc+edit14v+pv+stb+y; WriteFile(Port,&x,1,&p,NULL); ReadFile(Port,&x,1,&p,NULL); // 14V + P/V + SCLK + SDIN + STB - zapnutím a vypnutím bitu SCLK přesunu bit do registru PISO // 14V + P/V + SDIN + STB } x=ovladani+vcc+edit14v+pv+sclk+stb+y; WriteFile(Port,&x,1,&p,NULL); ReadFile(Port,&x,1,&p,NULL); x=ovladani+vcc+edit14v+pv+stb+y; WriteFile(Port,&x,1,&p,NULL); ReadFile(Port,&x,1,&p,NULL); // Adresa - vystavím adresu řádku WriteFile(Port,&Adresa,1,&p,NULL); ReadFile(Port,&x,1,&p,NULL); // 14V + P/V - vypnutím a zapnutím bitu STB potvrdím vystavenou adresu x=ovladani+vcc+edit14v+pv; WriteFile(Port,&x,1,&p,NULL); ReadFile(Port,&x,1,&p,NULL); // 14V + P/V + STB x=ovladani+vcc+edit14v+pv+stb; 33
34 WriteFile(Port,&x,1,&p,NULL); ReadFile(Port,&x,1,&p,NULL); } 3.4. Dokončení ovládacího programu Pro účely testování jsem do programu přidal tlačítka Přečíst řádek a Zapsat řádek a k nim příslušná pole pro zadání adresy řádku a testovacích dat pro zápis. Dále jsem přidal tlačítko Vypsat EEPROM, které postupně přečte a zobrazí všechny řádky EEPROM matice obvodu GAL16V8, které jsou zajímavé z hlediska programování obvodu. Pro funkci ovládacího programu jsem vytvořil ještě tlačítko Vymazat, které zapíše hodnotu 1 do řádku 63 EEPROM matice obvodu GAL16V8, čímž dojde k nastavení defaultních hodnot pro všechny prvky této matice. Obrázek 6: Rozhraní ovládacího programu Posledním ovládacím prvkem, který jsem vytvořil je tlačítko Načíst data z JEDEC souboru a zapsat do obvodu GAL, které otevře soubor JEDEC, informace z něj převede 34
35 na data vhodná pro zápis do EEPROM matice obvodu GAL16V8, tato data po řádcích zapíše do EEPROM matice obvodu GAL16V8 a opětovným přečtením dat z EEPROM matice obvodu GAL16V8 a jejich porovnáním s daty zapisovanými ověří správnost zapsaných dat. Nakonec jsem upravil tlačítka ovládacího programu tak, aby v každé chvíli byla aktivní pouze ta tlačítka, která mohou být v daném okamžiku použita (například nelze použít tlačítko pro zápis dat ve chvíli, kdy ještě neproběhla inicializace) Ovření funkčnosti Při ověřování správné funkce programátoru GAL16V8 a ovládacího programu jsem nejprve zkontroloval statické nastavení vývodů patice GAL16V8 (tzn. stav jednotlivých vývodů po zapnutí, inicializaci a vypnutí) pomocí multimetru. Tento test dopadl úspěšně a na všech vývodech patice GAL16V8 se objevilo předpokládané napětí. Další z testů byl zaměřen na správné převedení obsahu souboru JEDEC na data pro programátor GAL16V8. K tomuto ověření jsem použil textových polí ovládacího programu, kdy jsem vizuálně porovnával obsah souboru JEDEC zobrazeného v jednom textovém poli a data pro zápis do obvodu GAL16V8 zobrazená v druhém textovém poli. Při porovnávání si vždy obě textová pole odpovídala. Dalším krokem bylo testování funkce čtení z EEPROM matice obvodu GAL16V8. Funkci čtení jsem aplikoval na různé řádky EEPROM matice obvodu GAL16V8, včetně řádku obsahujícího data programovací značky (PES) a přečtená data odpovídala předpokládaným hodnotám. Pro otestování zápisu dat do EEPROM matice obvodu GAL16V8 jsem si nejprve navolil testovací data tak, aby obsahovala obě hodnoty, jak 0 tak 1, aby nebyla symetrická a aby bylo možné odhalit případné ztracené hodnoty. Tato data jsem pomocí funkce pro zápis zapsal na zvolený řádek EEPROM matice obvodu GAL16V8, potom jsem je opět přečetl a výsledky porovnal. Zjistil jsem, že přečtená data odpovídají zapisovaným datům, pouze jsou posunuta o jeden znak doleva, takže první znak zapisovaných dat se ztratil a na prvním místě přečtených dat se nachází druhý znak zapisovaných dat, atd. Na zjištění příčin tohoto jevu zatím stále pracuji. 35
36 Posledním testem byla funkce vymazání obvodu GAL16V8 zápisem hodnoty 1 na 63. řádek EEPROM matice obvodu GAL16V8. Předpokládaný výsledek je naplnění programovatelných řádků EEPROM matice obvodu GAL16V8 implicitními hodnotami 1 a další možnost zápisu dat na tyto řádky EEPROM matice. Tento test nedopadl dobře, neboť po zapsání hodnoty 1 na 63. řádek EEPROM matice obvodu GAL16V8 doslo k naplnění všech programovatelných řádků EEPROM matice obvodu GAL16V8 hodnotami 0 a dále se mi nepodařilo do EEPROM matice obvodu GAL16V8 zapsat žádné další hodnoty. Tento stav obvodu GAL16V8 se mi zatím nepodařilo opravit a obvod GAL16V8 zůstává tedy pro další testování zápisu nepoužitelný. Při dalším testování zápisu na náhradním obvodu GAL16V8 jsem bohužel dospěl ke stejnému výsledku a i tento náhradni obvod GAL16V8 je v současnosti zablokován. 36
37 4. Závěr Při tvoření této bakalářské práce jsem se více či méně úspěšně potýkal s několika problémy. Prvním problémem byla moje nedostatečná předchozí zkušenost s elektrickými obvody vůbec a s jejich navrhováním a ovládáním zvlášť. S tímto problémem mi velice pomáhal vedoucí mé práce a díky němu jsem byl nakonec schopen navrhnout fyzické zařízení a programové vybavení. Dalším problémem byl naprostý nedostatek volného času. S tímto problémem mi naprosto neuvěřitelným způsobem pomohla má skvělá manželka, která na sebe vzala veškerou starost o domácnost a o naše 3 malé děti a umožnila mi trávit nezbytný čas prací na vytvoření programátoru a této práce. Třetím problémem, se kterým jsem se snažil vypořádat byla nedostatečná vybavenost mojí dílny. Sice jsem si pořídil mikropájku a multimetr, ale chybělo mi zařízení na testování a programování obvodu GAL16V8, se kterým bych mohl porovnávat výsledky svého snažení. Díky podpoře jsem dokázal vyrobit, naprogramovat a otestovat zadané zařízení, na konci testování jsem však narazil na problém, se kterým jsem si zatím nedokázal poradit. Kvůli 2 zablokovaným obvodům GAL16V8 jsem nedokázal dokončit testování zápisu dat do obvodu GAL16V8 a tedy jsem zatím nedokázal plně zprovoznit vyrobené zařízení. 37
38 Seznam použité literatury [1] MATOUŠEK, David: Udělejte si z PC 1. díl generátor, čítač, převodník, programátor... BEN technická literatura, Praha ISBN [2] MATOUŠEK, David: Práce s mikrokontroléry ATMEL AVR - ATmega 16 BEN technická literatura, Praha ISBN [3] [4] [5] [6] Programator-GALu.html [7] [8] [9] [10] LÍŠKA, Miroslav; ŠULO, Vladimír; STRELEC Josef: Programovatelná logická pole Grada, Praha ISBN [11] [12] [13] MATOUŠEK, David: Číslicová technika BEN technická literatura, Praha ISBN [14] [15] 38
39 Seznam obrázků Obrázek 1: Vnitřní schéma obvodu GAL16V8 [15]...11 Obrázek 2: Schéma obvodu GAL16V8D [14]...13 Obrázek 3: Schéma zapojení programátoru GAL16V Obázek 4: Výkres plošného spoje...22 Obrázek 5: Plánek osazení plošného spoje...22 Obrázek 6: Rozhraní ovládacího programu
40 Obsah přiloženého CD Na přiloženém CD se v kořenovém adresáři v souboru Programator_GAL16V8.pdf nachází tato bakalářská práce a v souboru GAL16V8.exe se nachází ovládací program k programátoru GAL16V8. Dále se ve složce Prilohy nachází v souboru GAL16V8D_datasheet.pdf datasheet k obvodu GAL16V8D a v souboru jesd3c.pdf specifikace souborů JEDEC. V další složce Atmega16 se nachází v souboru Atmega16.c zdrojový kód programu pro mikroprocesor Atmega16. V poslední složce CPPbuilder je umístěn zdrojový kód ovládacího programu. 40
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ícePaměť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ícePK 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íceELEKTRONICKÁ ČASOMÍRA
Středoškolská technika 2011 Setkání a prezentace prací středoškolských studentů na ČVUT ELEKTRONICKÁ ČASOMÍRA Šárka Vávrová SPŠ elektrotechniky, informatiky a řemesel, Frenštát pod Radhoštěm, p. o. Křižíkova
VíceLED_007.c Strana: 1/5 C:\Michal\AVR\Výukové programy\archiv\ Poslední změna: 4.10.2011 8:01:48
LED_007.c Strana: 1/5 Nyní již umíme používat příkazy k větvení programu (podmínky) "if" a "switch". Umíme také rozložit program na jednoduché funkce a používat cyklus "for". Co se týče cyklů, zbývá nám
VíceZpůsoby realizace paměťových prvků
Způsoby realizace paměťových prvků Interní paměti jsou zapojeny jako matice paměťových buněk. Každá buňka má kapacitu jeden bit. Takováto buňka tedy může uchovávat pouze hodnotu logická jedna nebo logická
VíceObor: počítačové systémy
VYSOKÁ ŠKOLA POLYTECHNICKÁ V JIHLAVĚ Katedra elektrotechniky a informatiky Obor: počítačové systémy Univerzální tester logických integrovaných obvodů bakalářská práce Autor: Tomáš Kučera Vedoucí práce:
VícePK Design. MB-ATmega16/32 v2.0. Uživatelský manuál. Základová deska modulárního vývojového systému MVS. Verze dokumentu 1.0 (21.12.
MB-ATmega16/32 v2.0 Základová deska modulárního vývojového systému MVS Uživatelský manuál Verze dokumentu 1.0 (21.12.2004) Obsah 1 Upozornění... 3 2 Úvod... 4 2.1 Vlastnosti základové desky...4 2.2 Vlastnosti
VíceIntegrované obvody. Obvody malé, střední a velké integrace Programovatelné obvody
Integrované obvody Obvody malé, střední a velké integrace Programovatelné obvody Integrovaný obvod zkratka: IO anglický termín: integrated circuit = IC Co to je? elekrotechnická součástka na malé ploše
VícePROGRAMOVATELNÉ 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íceUniverzální jednočipový modul pro řízení krokových motorů
Středoškolská odborná činnost 2005/2006 Obor 10 elektrotechnika, elektronika, telekomunikace a technická informatika Univerzální jednočipový modul pro řízení krokových motorů Autor: Jan Fíla SPŠ Trutnov,
VíceInformační a komunikační technologie
Informační a komunikační technologie 7. www.isspolygr.cz Vytvořil: Ing. David Adamovský Strana: 1 Škola Integrovaná střední škola polygrafická Ročník Název projektu 1. ročník SOŠ Interaktivní metody zdokonalující
VíceRegistrační teploměr
Popis zapojení: Registrační teploměr ukládá aktuální teplotu do paměti EEPROM v intervalu jedné hodiny. Zařízení je vybaveno zdrojem reálného času (RTC), který zároveň probouzí mikroprocesor ze stavu spánku.
Více3. REALIZACE KOMBINAČNÍCH LOGICKÝCH FUNKCÍ
3. REALIZACE KOMBINAČNÍCH LOGICKÝCH FUNKCÍ Realizace kombinační logické funkce = sestavení zapojení obvodu, který ze vstupních proměnných vytvoří výstupní proměnné v souhlasu se zadanou logickou funkcí.
VícePaměti a jejich organizace
Kapitola 5 Paměti a jejich organizace 5.1 Vnitřní a vnější paměti, vlastnosti jednotlivých typů Vnější paměti Jsou umístěny mimo základní jednotku. Lze je zařadit mezi periferní zařízení. Zápis a čtení
Více2 Základní funkce a operátory V této kapitole se seznámíme s použitím funkce printf, probereme základní operátory a uvedeme nejdůležitější funkce.
Vážení zákazníci, dovolujeme si Vás upozornit, že na tuto ukázku knihy se vztahují autorská práva, tzv copyright To znamená, že ukázka má sloužit výhradnì pro osobní potøebu potenciálního kupujícího (aby
VícePamě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íceElektronická stavebnice: Deska s jednočipovým počítačem
Elektronická stavebnice: Deska s jednočipovým počítačem Modul s jednočipovým počítačem Modul s řídícím jednočipovým počítačem je centrálním prvkem stavebnice. Jeho konstrukce umožňuje přímé připojení do
VíceStřední odborná škola a Střední odborné učiliště, Dubno Ing. Miroslav Krýdl Tematická oblast ELEKTRONIKA
Číslo projektu Číslo materiálu CZ.1.07/1.5.00/34.0581 VY_32_INOVACE_ENI_2.MA_17_Číslicový obvod Název školy Střední odborná škola a Střední odborné učiliště, Dubno Autor Ing. Miroslav Krýdl Tematická oblast
Více1 Podrobná specifikace Yunifly Datasheet
1 Podrobná specifikace Yunifly Datasheet OBRAZEK fotky Yunifly obe desky zvlast + dohromady + top view - merge to one 1.1 Hmotnost a rozměry Elektronika Yunifly je složena ze dvou samostatných částí, které
Víceevodníky Univerzita Tomáše Bati ve Zlíně Ústav elektrotechniky a měření Přednáška č. 14 Milan Adámek adamek@fai.utb.cz U5 A711 +420576035251
Univerzita Tomáše Bati ve Zlíně Ústav elektrotechniky a měření A/D a D/A převodnp evodníky Přednáška č. 14 Milan Adámek adamek@fai.utb.cz U5 A711 +420576035251 A/D a D/A převodníky 1 Důvody převodu signálů
VíceNabíječ NiCd a NiMh článků řízený mikroprocesorem
Nabíječ NiCd a NiMh článků řízený mikroprocesorem Bc. Michal Brázda Univerzita Tomáše Bati ve Zlíně Fakulta Aplikované informatiky 1. Obsah 1. Obsah... 2 2. Úvod... 3 3. NiCd a NiMh baterie... 3 3.1. Metoda
VíceVYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ
VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ Stanislav Flígl Katedra elektrických pohonů a trakce (K13114),
VíceMěřič krevního tlaku. 1 Měření krevního tlaku. 1.1 Princip oscilometrické metody 2007/19 30.5.2007
Měřič krevního tlaku Ing. Martin Švrček martin.svrcek@phd.feec.vutbr.cz Ústav biomedicínckého inženýrství Fakulta elektrotechniky a komunikačních technologií VUT v Brně Kolejní 4, 61200 Brno Tento článek
VíceL A B O R A T O R N Í C V I Č E N Í
Univerzita Pardubice Ústav elektrotechniky a informatiky Pardubice, Studentská 95 L A B O R A T O R N Í C V I Č E N Í Příjmení Paar Číslo úlohy: 2 Jméno: Jiří Datum měření: 15. 5. 2007 Školní rok: 2006
VíceTechnické 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íceSTŘEDOŠKOLSKÁ TECHNIKA 2013
STŘEDOŠKOLSKÁ TECHNIKA 2013 Setkání a prezentace prací středoškolských studentů na ČVUT Návrh systému inteligentního domu Pavel Mikšík Brno 2013 Setkání a prezentace prací středoškolských studentů na ČVUT
Více24 bitový AD USB modul AD24USB. Návod k použití
24 bitový AD USB modul AD24USB Návod k použití Obsah Obsah...2 1. Úvod...3 2. Technické parametry...3 A/D převodník:...3 Zdroj proudu:...4 Digitální vstupy/výstupy:...4 3. Instalace modulu...4 3.1. Zapojení
VíceLaboratorní zdroj - 6. část
Laboratorní zdroj - 6. část Publikované: 20.05.2016, Kategória: Silové časti www.svetelektro.com V tomto článku popíšu způsob, jak dojít k rovnicím (regresní funkce), které budou přepočítávat milivolty
VíceArchitektury CISC a RISC, uplatnění v personálních počítačích
Architektury CISC a RISC, uplatnění v personálních počítačích 1 Cíl přednášky Vysvětlit, jak pracují architektury CISC a RISC, upozornit na rozdíly. Zdůraznit, jak se typické rysy obou typů architektur
VíceUniverzita Pardubice. Fakulta Elektrotechniky a Informatiky. Monitoring rozhraní I2C Autor práce: Radek Šplíchal. Vedoucí práce: Ing.
Univerzita Pardubice Fakulta Elektrotechniky a Informatiky Monitoring rozhraní I2C Autor práce: Radek Šplíchal Vedoucí práce: Ing. Martin Hájek Bakalářská práce 2009 University of Pardubice Faculty of
VíceXXXIII Celostátní olympiáda znalostí elektriky a elektroniky Krosno 25. března 2010 TEST PRO ELEKTRONICKOU SKUPINU
XXXIII elostátní olympiáda znalostí elektriky a elektroniky Krosno. března TEST PO ELEKTONIKO SKPIN Vysvětlení: Než odpovíš na otázku, pečlivě přečti níže uvedený text. Test obsahuje otázek. Odpovědi musejí
VíceSbě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íceNávrh a realizace počítače skóre. Počítače skóre. Michal Černý. VOŠ a SŠSE Novovysočanská 48/280 Praha 9
Středoškolská technika 2014 Setkání a prezentace prací středoškolských studentů na ČVUT Počítače skóre Michal Černý VOŠ a SŠSE Novovysočanská 48/280 Praha 9 Úvod Počítač skóre slouží divákům k lepší orientaci
VícePOKLADNÍ DISPLEJ LCD. www.virtuos.cz virtuos@virtuos.cz. hotline: 493 544 400. strana 1
POKLADNÍ DISPLEJ LCD VLASTNOSTI Podsvícený displej LCD s vysokým kontrastem umožňuje čtení z velkého bočního úhlu K ovládání displeje je použit standardní seriový port RS-232 (9600bps) Snadné programování
Víceenos dat rnici inicializaci adresování adresu enosu zprávy start bit átek zprávy paritními bity Ukon ení zprávy stop bitu ijíma potvrzuje p
Přenos dat Ing. Jiří Vlček Následující text je určen pro výuku předmětu Číslicová technika a doplňuje publikaci Moderní elektronika. Je vhodný i pro výuku předmětu Elektronická měření. Přenos digitálních
VíceMODERNÍ TRENDY V PROGRAMOVATELNÉ LOGICE, APLIKACE V AUTOMATIZAČNÍ A MĚŘICÍ TECHNICE
MODERNÍ TRENDY V PROGRAMOVATELNÉ LOGICE, APLIKACE V AUTOMATIZAČNÍ A MĚŘICÍ TECHNICE Soběslav Valach UAMT FEEC VUT Brno, Kolejní 2906/4, 612 00 Brno, valach@feec.vutbr.cz Abstract: Článek popisuje základní
VícePopis zapojení a návod k osazení desky plošných spojů STN-A varianta Tower
Popis zapojení a návod k osazení desky plošných spojů STN-A varianta Tower Desku plošných spojů (DPS) STN-A je možné osadit více způsoby. Na tomto místě se budeme zabývat variantou Tower, která je určena
VíceSTAVEBNÍ NÁVODY 1 pro činnost v elektro a radio kroužcích a klubech
STAVEBNÍ NÁVODY 1 pro činnost v elektro a radio kroužcích a klubech Nejjednodušší stavební návody Verze V.4, stav k 5. prosinci 2014. Byl upraven Stavební návod na Cvrčka. Víte o dalších zajímavých návodech?
VícePopis zapojení: < 27 dbµv. < 33 dbµv LW. S/N ratio (60 dbµv): > 57 db FM mono > 52 db AM
Tuner FM pro Raspberry Pi Malina pro kterou nebude problém generovat řídicí signály pro I2C. Na internetu najdeme velké množství příkladů jak ovládat I2C. Popis zapojení: Základem je profesionální tuner,
VíceUDAQ-1216A UDAQ-1416A. multifunkèní modul pro rozhraní USB
UDAQ-1216A UDAQ-1416A multifunkèní modul pro rozhraní USB Záruèní a pozáruèní servis, technická podpora: adresa: TEDIA spol. s r. o., Zábìlská 12, 31211 Plzeò telefon: +420 377 478 168 fax: +420 377 478
VíceProgramátor AVRProg USB v3 MK II Eco Manuál
Programátor AVRProg USB v3 MK II Eco Manuál Pozor! Programátor je kompatibilní s prostředími BASCOM a AVR DUDE. Pokud chcete použít tento programátor s AVR Studio, musíte přepnout jumper číslo 2. 1. Programování
VícePROGRAMÁTOR "WinProg-1" Návod k obsluze
PROGRAMÁTOR "WinProg-1" Návod k obsluze 1 1.Úvod. Programátor "WinProg-1" slouží k programování 8-bitových mikrořadičů Winbond řady W78... i W77... (s vyjímkou obvodů typu ISP). Programátor "WinProg-1",
VícePAMĚTI ROM, RAM, EPROM, EEPROM
Elektronická paměť je součástka, zařízení nebo materiál, který umožní uložit obsah informace (zápis do paměti), uchovat ji po požadovanou dobu a znovu ji získat pro další použití (čtení paměti). Informace
VíceFLOOR TALKER. Uživatelský návod verze 1.0. TELSYCO s.r.o. Prostřední 627/14 141 00 Praha 4. www.telsyco.cz
FLOOR TALKER Uživatelský návod verze 1.0 TELSYCO s.r.o. Prostřední 627/14 141 00 Praha 4 e-mail: info@telsyco.cz Tel.: +420 272 103 217 Fax: +420 244 460 394 www.telsyco.cz Obsah 1. Úvod... 3 2. Základní
VíceRozšiřující modul s protokolem MODBUS
Rozšiřující modul s protokolem MODBUS Návod na obsluhu Verze 1.00 dmm-ui8do8_g_cz_100 AMiT, spol. s r. o. nepřejímá žádné záruky, pokud se týče obsahu této publikace a vyhrazuje si právo měnit obsah dokumentace
VíceMaturitní témata - PRT 4M
Maturitní témata - PRT 4M ústní zkouška profilové části Maturita - školní rok 2015/2016 1. Architektura mikrořadičů a PC 2. Popis mikrořadičů řady 51 3. Zobrazovací jednotky 4. Řadiče Atmel 5. Hradlová
VícePříloha A - Obvodové schéma základní desky
Přílohy Příloha A - Obvodové schéma základní desky Příloha B - Naznačení funkce dvou spínacích polí o velikosti 8 x 4 Legenda: Konektor 1 Spínací pole 1 TxD RxD Konektor 2 TxD RxD - rozepnutý spínací prvek
VíceSignálové a mezisystémové převodníky
Signálové a mezisystémové převodníky Tyto převodníky slouží pro generování jednotného nebo unifikovaného signálu z přirozených signálů vznikajících v čidlech. Často jsou nazývány vysílači příslušné fyzikální
VícePamě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íceIntervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti.
Intervalové stromy Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme průběžně provádět tyto dvě operace: 1. Změna jednoho čísla v posloupnosti. 2. Zjištění součtu čísel
VíceMultimetr: METEX M386OD (použití jako voltmetr V) METEX M389OD (použití jako voltmetr V nebo ampérmetr A)
2.10 Logické Obvody 2.10.1 Úkol měření: 1. Na hradle NAND změřte tyto charakteristiky: Převodní charakteristiku Vstupní charakteristiku Výstupní charakteristiku Jednotlivá zapojení nakreslete do protokolu
VícePRESTO. USB programátor. Uživatelská příručka
PRESTO USB programátor Uživatelská příručka OBSAH 1. PRESTO 3 1.1. Použití 3 2. Obsah dodávky 3 3. Instalace 3 3.1. Instalace ovladačů 3 3.2. Instalace programu UP 4 4. Popis programovacího konektoru 5
VíceSA-GSMALL. Instalační manuál
SA-GSMALL Instalační manuál SA-GSMALL 2 Popis funkce zařízení... 3 Popis konektorů... 3 Pokyny k instalaci... 3 LED ukazatele... 4 Ovládání pomocí Caller ID... 4 Nastavení Výstupu... 5 Nastavení Vstupu...
VícePES lib (C + PASCAL) KNIHOVNY KOMUNIKAÈNÍCH FUNKCÍ 03/2000. 1 PESlib KOMUNIKAČNÍ KNIHOVNY C, PASCAL 03/2000 13 stran 1
PES lib (C + PASCAL) KNIHOVNY KOMUNIKAÈNÍCH FUNKCÍ 03/2000 1 PESlib KOMUNIKAČNÍ KNIHOVNY C, PASCAL 03/2000 13 stran 1 PESlib Popis knihoven PASCAL a C 03.2000 2. verze dokumentu Zmìny a doplòky proti 1.
VíceALFIS 2014 komplexní ekonomický systém verze 2014.5
ALFIS 2014 komplexní ekonomický systém verze 2014.5 Návod na instalaci Fuksa Ladislav Sedlčanská 1327/65 140 00 Praha 4 Tel. 223 010 785, 603 463 137 E-mail alfis@fksoft.cz Web www.alfis.cz, www.fksoft.cz
VíceMiroslav 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íceElektronická stavebnice: Generátor frekvence s optickým a akustickým výstupem
Elektronická stavebnice: Generátor frekvence s optickým a akustickým výstupem Generátor se skládá z několika samostatných modulů stavebnice pro zvýšení modulárnosti celého systému a možnosti širšího využití.
VíceStřední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT
Škola Číslo projektu Číslo a název šablony klíčové aktivity Tematická oblast Název sady Téma Anotace Autor Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram CZ.1.07/1.5.00/34.0556
VíceZákladní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard
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íceI/O řídící/měřící deska pro PC VELLEMAN K8055N
I/O řídící/měřící deska pro PC VELLEMAN K8055N Propojte svůj počítač se světem pomocí 5 digitálních vstupů a 8 digitálních výstupů a 2 analogových vstupů a výstupů. Celkem bodů k pájení: 313 Obtížnost:
VíceDalší aspekty architektur CISC a RISC Aktuálnost obsahu registru
Cíl přednášky: Vysvětlit principy práce s registry v architekturách RISC a CISC, upozornit na rozdíly. Vysvětlit možnosti využívání sad registrů. Zabývat se principy využívanými v procesorech Intel. Zabývat
VíceHardware. Z čeho se skládá počítač
Hardware Z čeho se skládá počítač Základní jednotka (někdy také stanice) obsahuje: výstupní zobrazovací zařízení CRT nebo LCD monitor počítačová myš vlastní počítač obsahující všechny základní i přídavné
VícePROCESOR. Typy procesorů
PROCESOR Procesor je ústřední výkonnou jednotkou počítače, která čte z paměti instrukce a na jejich základě vykonává program. Primárním úkolem procesoru je řídit činnost ostatních částí počítače včetně
VíceFirmware USBasp pro modul AVRUSB. Milan Horkel. Parametr Hodnota Poznámka. Rozhraní USB Low Speed. Procesor ATmega8 ATmega88 Varianty překladu
Firmware USBasp pro modul AVRUSB Milan Horkel Firmware USBasp umožňuje použít modul AVRUSB jako ISP programátor procesorů řady AVR pod všemi běžnými operačními systémy. 1. Technické parametry Parametr
VíceLOGIC. Stavebnice PROMOS Line 2. Technický manuál
ELSO, Jaselská 177 28000 KOLÍN, Z tel/fax +420-321-727753 http://www.elsaco.cz mail: elsaco@elsaco.cz Stavebnice PROMOS Line 2 LOGI Technický manuál 17. 04. 2014 2005 sdružení ELSO Účelová publikace ELSO
VíceJednoduchý digitální osciloskop pro PC Dušan Doležal Osciloskop je pøístroj, který by urèitì ráda vlastnila vìtšina elektronikù, ale pro mnoho amatérù je kvùli pomìrnì vysoké cenì nedostupný. Právì pro
VíceULTRAZVUKOVÝ DÁLKOMĚR
Středoškolská technika 2010 Setkání a prezentace prací středoškolských studentů na ČVUT ULTRAZVUKOVÝ DÁLKOMĚR Tomáš Pelikán, Václav Vejvoda Střední průmyslová škola dopravní, a.s. Plzeňská 102/219, 150
VíceDIGITÁLNÍ UČEBNÍ MATERIÁL
DIGITÁLNÍ UČEBNÍ MATERIÁL škola Střední škola F. D. Roosevelta pro tělesně postižené, Brno, Křižíkova 11 číslo projektu číslo učebního materiálu předmět, tematický celek ročník CZ.1.07/1.5.00/34.1037 VY_32_INOVACE_ZIL_VEL_123_20
VíceDM4.3 odmagnetovací modul
DM4.3 odmagnetovací modul Význam kontrolek (LED ) na desce LD1 zelená LED svítí při magnetování. LD2 červená LED bliká při odmagnetování. LD3 modrá LED po celou dobu magnetování od okamžiku plného zamagnetování.
VíceAplikovaná informatika
Vysoká škola polytechnická Jihlava Katedra elektrotechniky a informatiky Tematické okruhy pro státní závěrečné zkoušky oboru Aplikovaná informatika Tyto okruhy jsou platné pro studenty, kteří započali
VíceNástroj Project Loader TXV 003 10.01 Šesté vydání Září 2013 změny vyhrazeny
Nástroj Project Loader TXV 003 10.01 Šesté vydání Září 2013 změny vyhrazeny 1 TXV 003 10.01 Historie změn Datum Vydání Popis změn Červen 2011 1 První verze (odpovídá stavu nástroje ve verzi 2.0.8) Srpen
VíceGymnázium, Praha 6, Arabská 14. Loydova patnáctka. Dokumentace ročníkového projektu. Předmět: Programování Vyučující: Ing. Tomáš Obdržálek Třída: 1.
Gymnázium, Praha 6, Arabská 14 Loydova patnáctka Dokumentace ročníkového projektu Předmět: Programování Vyučující: Ing. Tomáš Obdržálek Třída: 1.E Jan Zaoral květen 2014 1. Úvod 1.1. Anotace Česky Cílem
VíceČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
Vzorový příklad pro práci v prostředí MPLAB Zadání: Vytvořte program, který v intervalu 200ms točí doleva obsah registru reg, a který při stisku tlačítka RB0 nastaví bit 0 v registru reg na hodnotu 1.
Více4.2 Paměti PROM - 87 - NiCr. NiCr. Obr.140 Proudy v naprogramovaném stavu buňky. Obr.141 Princip PROM. ADRESOVÝ DEKODÉR n / 1 z 2 n
Vážení zákazníci, dovolujeme si Vás upozornit, že na tuto ukázku knihy se vztahují autorská práva, tzv. copyright. To znamená, že ukázka má sloužit výhradnì pro osobní potøebu potenciálního kupujícího
VíceArduino digitální multimetr
Arduino digitální multimetr aneb jak to dopadne, když softwarový architekt navrhuje hardware... Petr Stehlík www.pstehlik.cz Osnova Idea a motivace Návrh a plán Teorie a implementace Problémy a chyby USB
VíceÚvod do mobilní robotiky AIL028
md at robotika.cz http://robotika.cz/guide/umor07/cs 11. října 2007 1 Definice Historie Charakteristiky 2 MCU (microcontroller unit) ATmega8 Programování Blikání LEDkou 3 Kdo s kým Seriový port (UART)
VíceCHARAKTERISTIKY MODELŮ PC
CHARAKTERISTIKY MODELŮ PC Historie: červenec 1980 skupina 12 pracovníků firmy IBM byla pověřena vývojem osobního počítače 12. srpna 1981 byl počítač veřejně prezentován do konce r. 1983 400 000 prodaných
VíceÚloha- Systém sběru dat, A4B38NVS, ČVUT - FEL, 2015 1
Úloha Sběr dat (v. 2015) Výklad pojmu systém sběru dat - Systém sběru dat (Data Acquisition System - DAQ) je možno pro účely této úlohy velmi zjednodušeně popsat jako zařízení, které sbírá a vyhodnocuje
VíceVánoční hvězda 2. Publikované: , Kategória: Blikače a optika.
Vánoční hvězda 2 Publikované: 10.12.2015, Kategória: Blikače a optika www.svetelektro.com Blíží se vánoce a tak by se hodila nějaká vánoční ozdoba do okna. Chtěl jsem vymyslet něco, s čím se zabavím na
VíceRozhraní 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íceVážení zákazníci, dovolujeme si Vás upozornit, že na tuto ukázku knihy se vztahují autorská práva, tzv. copyright. To znamená, že ukázka má sloužit výhradnì pro osobní potøebu potenciálního kupujícího
VíceČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická BAKALÁŘSKÁ PRÁCE. 2008 Ondřej Chytra
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická BAKALÁŘSKÁ PRÁCE 2008 Ondřej Chytra ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Katedra měření BAKALÁŘSKÁ PRÁCE Řídící jednotka
VíceGENEROVÁNÍ ZVUKŮ POMOCÍ MIKROKONTROLÉRŮ
David Matoušek GENEROVÁNÍ ZVUKÙ POMOCÍ MIKROKONTROLÉRÙ PIC16F628A + ATMEGA8 Praha 2015 David Matoušek Generování zvukù pomocí mikrokontrolérù Recenzent Bohumil Brtník Bez pøedchozího písemného svolení
VícePOLOHOVÁNÍ ULTRAZVUKOVÉHO SENZORU
1 VŠB - Technická Univerzita Ostrava, Katedra automatizační techniky a řízení Příspěvek popisuje zařízení realizující lineární posuv ultrazvukového snímače. Mechanismem realizujícím lineární posuv je kuličkový
VíceTranzistor polopatě. Tranzistor jako spínač
Tranzistor polopatě Ing. Jiří Bezstarosti Úlohou toho článku není vysvětlit fyzikální činnost tranzistoru, ale spíše naznačit způsoby jeho použití. Zároveň se tento článek bude snažit vysvětlit problematiku
VíceVyšší odborná škola a Střední průmyslová škola, Šumperk, Gen. Krátkého 1, 787 29 Šumperk
Středoškolská technika 2013 Setkání a prezentace prací středoškolských studentů na ČVUT Řídicí jednotka hodin s DCF David Uherko E4 Vyšší odborná škola a Střední průmyslová škola, Šumperk, Gen. Krátkého
VíceFASTPort. 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íceMicrochip. PICmicro Microcontrollers
Microchip PICmicro Microcontrollers 8-bit 16-bit dspic Digital Signal Controllers Analog & Interface Products Serial EEPROMS Battery Management Radio Frequency Device KEELOQ Authentication Products Návrh
VícePřipojení systému A3600 k aplikaci DDS2000
" Uživatelský manuál Připojení systému A3600 k aplikaci DDS2000 Aplikace :! Přenos a archivace dat naměřených systémem A3600 z COMPACT FLASH karty! Formátování nebo mazání dat z COMPACT FLASH karty! Tvorba
VíceLaboratorní zdroj - 1. část
Laboratorní zdroj - 1. část Publikované: 12.02.2016, Kategória: Silové časti www.svetelektro.com V sérii článků, se spolu s kolegou Michalem OK2HAZ, budeme věnovat popisu naší práce při stavbě laboratorního
Víceuz80 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ícev Praze Senzorové systémy Sledování polohy slunce na obloze Ondřej Drbal 5. ročník, stud. sk. 9
České vysoké učení technické v Praze Senzorové systémy Sledování polohy slunce na obloze Ondřej Drbal 5. ročník, stud. sk. 9 22. ledna 2003 1 Zadání Cílem práce je navrhnout zařízení pro sledování polohy
VíceVYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV RADIOELEKTRONIKY FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF
VíceVysoká škola chemicko-technologická v Praze Fakulta chemicko-inženýrská Ústav počítačové a řídicí techniky. Aplikace mikroprocesorů.
Vysoká škola chemicko-technologická v Praze Fakulta chemicko-inženýrská Ústav počítačové a řídicí techniky Aplikace mikroprocesorů Deska Evb IO Návod k použití Lukáš Lahoda 2010 Obsah 1 DESKA EVB IO...
VíceKlíčové pojmy: Cyklus, řídící proměnná, inicializace, test podmínky, přerušení cyklu, vnořování cyklů.
Příkazy cyklu v C# Kapitola vysvětluje použití tří typů cyklů for, while a -while a plňuje jejich použití řau příkladů programů v jazyku C#. V jazyku C by šlo pouze k záměně funkcí pro vstup a výstup.
VíceBakalářská práce. Programovatelný termostat k bojleru
České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačů Bakalářská práce Programovatelný termostat k bojleru Jan Šesták Vedoucí práce: Ing. Martin Novotný Studijní program: Elektrotechnika
VíceElektronická časomíra SH3
Elektronická časomíra SH3 Základní parametry sestavy spínaný napájecí zdroj 230V / 60W, výstup 12V / 5A zobrazování na numerických zobrazovačích, výška číslic 380mm multiplexní zobrazování času / datumu
VíceSupertex MOSFET. Typy. MOSFET s vodivým kanálem. MOSFET s indukovaným kanálem N. Pro vypnutí je nutné záporné napětí V. napětí VGS zvýší vodivost
Supertex MOSFET Napěťové stabilizátory Budiče LED Vícekanálové budiče pro velké napětí Budiče elektroluminisenčních svítidel Ultrazvukové IO Speciální IO Supertex MOSFET Typy MOSFET s vodivým kanálem Normálně
VíceNá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