Konstrukce a realizace řídicí jednotky malého proudovéhomotoru

Konstrukce a realizace řídicí jednotky malého proudovéhomotoru Konstrukce a realizace řídicí jednotky malého proudovéhomotoru

support.dce.felk.cvut.cz
from support.dce.felk.cvut.cz More from this publisher
13.07.2015 Views

38 KAPITOLA 6.NÁVRH STAVOVÝCH AUTOMATŮ ŘÍDICÍ JEDNOTKY6.2 Hlavní stavový automatNa obrázku 6.1 je znázorněna nekonečná smyčka hlavního stavového automatu, kteráslouží pro odběr měřených dat z jednotlivých periferií (poloha plynové páky, měřeníotáček, měření teploty) a zároveň jako smyčka pro volání jednotlivých stavových automatů:• načítání zprávy• dekódování zprávy• koncové stavy (dle přijaté zprávy)Na začátku se provádí inicializace všech potřebných periferií (čítač timer0, timer1,A/D převodník, vstupy/výstupy), poté se čeká na vypršení časovače, který řídí časověsynchronizaci hlavní programové smyčky. Hodnota vzorkování se nastavuje ve vizualizačnímSW, zasláním zprávy (tabulka 4.3) s hodnotou násobku základní vzorkovacíperiody (základní vzorkovací perioda je 16ms). Dále následuje sběr aktuálních měřenýchtelemetrických dat, sestavení zprávy telemetrických dat (tabulka 4.3) a odeslání do vizualizačníhoSW. Následně se kontroluje periferie UART0 zda nepřišla po sériové lincenějaká data. Pokud ano, spustí se volání stavového automatu pro načítání zprávy. Pokudsetaknestalo,pokračujesedálevkontrolovánízdanenínějakázprávakompletněnačtena.Pokud se tak stane, spustí se volání stavového automatu pro dekódování načtené zprávy.Následně se volá stavový automat pro vykonávání koncového stavu řízení, dle zvolenéhoaktivního režimu ve vizualizačním SW.6.3 Stavový automat pro příjem zprávyNa obrázku 6.2 je znázorněn stavový automat pro načítání zprávy. Automat je navrhovántak, aby byl nezávislý na příchodu počtu jednotlivých znaků. Pokud tedy dojde běhemkomunikace k nějakému uváznutí, stavový automat zůstává ve stavu, dokud není načtenadaná posloupnost a počet znaků.Příchod nového nepřečteného znaku na periferii UART0 se kontroluje v hlavní programovésmyčce. Poté se spustí automat pro načítání zprávy. Počáteční stav, funkceread char(), čeká dokud nepřijde znak @“, který je na začátku každé nové zprávy.”

6.3. STAVOVÝ AUTOMAT PRO PŘÍJEM ZPRÁVY 39Obrázek 6.1: Hlavní smyčka stavového automatu

6.3. STAVOVÝ AUTOMAT PRO PŘÍJEM ZPRÁVY 39Obrázek 6.1: Hlavní smyčka stavového automatu

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!