Řídicí systém pro ovládání klimatizace a vytápění železničních vozů

Řídicí systém pro ovládání klimatizace a vytápění železničních vozů Řídicí systém pro ovládání klimatizace a vytápění železničních vozů

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

Kapitola 5. Návrh softwaruStavový automat pro příjem paketůNa obr. 5.3 jsou jednotlivé stavy automatu pro příjem datagramů. Vysvětlenífunkce automatu s jeho jednotlivými stavy je uvedeno níže.Obr. 5.3: Stavový automat pro příjemdatagramůSTART1 – automat je v počátečním stavu a očekává symbol DLE (začátek paketu).Po příjmu symbolu DLE se dostává do stavu START2, jinak skončí protože nejsousplněny náležitosti pro počáteční sekvenci paketu.START2 – pokud automat čte symbol STX, přechází do stavu READING (začátekpaketu je korektní), jinak skončí.READING – stav, ve kterém se čtou jednotlivé byte z proudu přijímaných data ukládají se do bufferu. Při čtení symbolu DLE přechází do stavu END_DBL_DLE.To může znamenat konec paketu, nebo jen zdvojení symbolů DLE v datech paketu.54

Kapitola 5. Návrh softwaruEND_DBL_DLE – při přečtení symbolu ETX automat skončí protože se jedná o konecpaketu a data z bufferu předá vyšší vrstvě. Pokud je přečten symbol DLE, vracíse automat do stavu READING (jednalo se o zdvojení symbolu DLE v datech).Jakýkoliv jiný symbol znamená chybu - nejedná se o korektní paket.Jestliže stavový automat vyhodnotí, že přijal kompletní paket, je přeposlándo vrstvy Content, která zkontroluje jeho správnost (maximální a minimální délka,kontrolní součet). Při porušení dovolené délky paketu, nebo nesouhlasu kontrolní sumyje tento paket zahozen. V opačném případě je jeho datový obsah předán do aplikačnívrstvy komunikace Comm (již bez symbolů DLE, STX, ETX, kontrolní sumy a typupaketu).Při odesílání paketů je situace jednodušší. Vrstva Content nejprve spočítákontrolní součet, přidá ho na konec pole dat a ta předá vrstvě DLE. Tato vrstva datazabalí do paketu (přidá symboly DLE, STX na začátek a DLE, ETX na konec) a pokudse někde v datech vyskytuje symbol DLE, je zdvojen. Takto připravená data se jižodesílají prostřednictvím ovladače sériové linky.55

Kapitola 5. Návrh softwaruEND_DBL_DLE – při přečtení symbolu ETX automat skončí <strong>pro</strong>tože se jedná o konecpaketu a data z bufferu předá vyšší vrstvě. Pokud je přečten symbol DLE, vracíse automat do stavu READING (jednalo se o zdvojení symbolu DLE v datech).Jakýkoliv jiný symbol znamená chybu - nejedná se o korektní paket.Jestliže stavový automat vyhodnotí, že přijal kompletní paket, je přeposlándo vrstvy Content, která zkontroluje jeho správnost (maximální a minimální délka,kontrolní součet). Při porušení dovolené délky paketu, nebo nesouhlasu kontrolní sumyje tento paket zahozen. V opačném případě je jeho datový obsah předán do aplikačnívrstvy komunikace Comm (již bez symbolů DLE, STX, ETX, kontrolní sumy a typupaketu).Při odesílání paketů je situace jednodušší. Vrstva Content nejprve spočítákontrolní součet, přidá ho na konec pole dat a ta předá vrstvě DLE. Tato vrstva datazabalí do paketu (přidá symboly DLE, STX na začátek a DLE, ETX na konec) a pokudse někde v datech vyskytuje symbol DLE, je zdvojen. Takto připravená data se jižodesílají <strong>pro</strong>střednictvím ovladače sériové linky.55

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

Saved successfully!

Ooh no, something went wrong!