|
Kategorie: Diplomové, bakalářské práce |
Tento dokument chci!
Cílem této práce je seznámit čtenáře se základním principem a možnostmi řešení digitálního modulátoru pro vícestavové modulace s integrovaným obvodem AD9957 od firmy Analog Devices. Navrhnout blokové i konkrétní schéma modulátoru a celé zařízení zrealizovat. Dále se zabývá využitím standardního rozhraní USB ke komunikaci, ovládání a přenosu dat mezi modulátorem a ovládacím počítačem. Práce popisuje jednotlivé bloky navrženého zařízení, desku plošných spojů, vytvořený firmware a aplikační program pro snadné ovládání pomocí PC. V závěru práce jsou popsány některé výsledky měření a zhodnoceny dosažené výsledky.
13 povoleno globální přerušení.1 Firmware řídicího mikrokontroléru
Firmware pro řídicí mikrokontrolér ATmega32 byl napsán vývojovém prostředí
CodeVisionAVR Toto prostředí obsahuje nejen samotný překladač jazyka ale také
průvodce pro automatické generování zdrojového kódu knihovny pro ovládání
různých periférií (viz [9]).
Postup programu přijmutí znaku naznačen obrázku 2. Rychlost komunikace nastavena 9600 Baud. Pokud pin vstupní, zvoleno, zda být stavu
vysoké impedance nebo připojen pull-up rezistor.
Tento firmware lze nalézt přiloženém paměťovém médiu, které součástí této práce.7. Všechny tři čítače/časovače, analogový komparátor, integrovaný A/D
převodník, jednotka TWI (I2
C) WDT (WatchDog) jsou vypnuty. 2. Funkce instrukce()
rozhoduje tom jaký příkaz byl přijat, volá jednotlivé funkce pro ovládání, nastavování,
čtení výpis.7 Popis software
2. Celý příkaz rozdělen
na několik dílčích částí.
Vytvořený firmware verze 1.14.
Hlavní část programu (kostra) naznačena obrázku 2.
. Při rozeznání konkrétní instrukce kontroluje, zda jsou
v pořádku všechny vstupní parametry poté zavolána funkce pro její vykonání.
Nakonec povoleno přerušení tím měřicí jednotka připravena příjem dalšího
příkazu. Každý přijatý
znak ovládacího příkazu uložen stanovenou pozici. Znak ‘\n’ označuje konec ovládacího příkazu jeho přijmutí zakáže
přerušení jednotky USART zavolá funkce instrukce(). Program poté
vstoupí nekonečné smyčky while(1) čeká přerušení jednotky USART
při přijmu znaku. Jednotka USART
je nastavena příjem vysílání asynchronních rámců osmi datových bitech,
bez parity jedním stop bitem.
Zdrojový kód jazyce název „firmware. Její struktura zobrazena obrázku obr. Maximálně však čtyři. Dále nastavují jednotlivé periferie
mikrokontroléru. 2.28
2.13. Pokud pin nakonfigurován jako výstupní, nastavena
logická úroveň „0“ nebo „1“.13. Mikokontrolér
je taktován krystalem frekvenci MHz. Pokud přijatý příkaz
neshoduje žádným, který zařízením podporován, nazpět vyslán řetězec
„UNKNOWN_COMMAND“. SPI
sběrnice používána režimu znamená, mikrokontrolér konfigurován jako
Master, nejdříve přenáší nejvýznamnější bit MSB konec nejméně významný bit
LSB, neaktivní polarita hodinového signálu nízká čtení probíhá vzestupnou
hranu hodinového signálu.0 zabírá přibližně paměti mikrokontroléru.hex“.
Po vykonání instrukce volá funkce smaz(), která vymaže celý přijatý ovládací příkaz. zapnutí mikrokontroléru provede
inicializace globálních proměnných, poté nastavení jednotlivých pinů portů D
jako vstupní výstupní. inicializaci periférii volána funkce rst(), jejíž vývojový
diagram zobrazen obrázku obr. Jednotlivé části jsou odděleny
znakem ‘:’.c“ přeložený kód, vhodný
pro implementaci přímo mikrokontroléru, název „firmware. Frekvence hodinového signálu pomocí děličky fOSC/4
nastavena MHz