ŘÃ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ů
Kapitola 5. Návrh softwaru• Řízení agregátu – Tento modul se stará o chod klimatizační jednotky a topení(rozběhy kompresoru, rozběhy ventilátorů výparníku, kontrola tlaků v okruhuchladiva, spínání topných těles).• Řízení tepelné pohody – Zastřešení všech ostatních modulů, vlastní algoritmypro celkovou regulaci teploty vzduchu ve voze.V našem softwarovém týmu jsem měl kompletně na starosti modul komunikacea to jak na hlavní řídící jednotce, tak na jednotkách v kupé, včetně možnosti jejichtestování přímo z PC (požadavek z oddělení zkušebny ve firmě). Při vývoji na ostatníchmodulech jsem se podílel v rámci týmu. Samozřejmě, ne všechen software se vyvíjelod začátku. Ovladače periferií tvoří základ, který ve firmě již existuje.5.1.2 Modul komunikaceModul komunikace zajišťuje výměnu dat mezi hlavní jednotkou (master)a jednotkami v kupé (slave). Je navržen tak, aby kompletně zastřešoval celoukomunikaci, tzn. ostatní moduly se nemusí starat o včasné a správné doručení paketů.Celá komunikace byla nejprve napsána pro platformu PC (z důvodu pohodlnějšíhotestování). Po důkladném otestování na PC se zdrojové kódy přeložily pro procesor DSPa MSP. Blokové schéma na obr. 5.2 znázorňuje rozdělení modulu do jednotlivýchvrstev.Obr. 5.2: Blokové schéma software pro komunikaci na straněmasteru52
Kapitola 5. Návrh softwaruUartDriverTento blok obsahuje jak ovladač hardwarového UART pro procesory MSPi DSP, tak i kruhový buffer. Do vyšších vrstev poskytuje rozhraní receiveByte(),sendByte(), receiveData(), sendData().Při příjmu byte je v procesoru vygenerováno přerušení. V obsluze tohoto přerušení jebyte vybrán z hardwarového bufferu procesoru a je vložen do kruhového bufferupro příjem dat. Odtud si aplikace může žádat o přijatý byte.Při odesílání jsou data z aplikace vkládány do kruhového bufferu. Pokud právěneprobíhá odesílání, vyzvedne se odtud jeden byte, vloží se do hardwarovéhobufferu a následně se povolí přerušení od vysíláni. Při ukončení odeslání byte do sériovélinky je vyvoláno přerušení. Zde se opět vyzvedne další byte z kruhového bufferua vloží se do hardwarového. Tento cyklus se opakuje, dokud není kruhový bufferprázdný. Výhoda tohoto řešení je, že příjem i odesílání probíhá automaticky jenz přerušení procesoru. Aplikace proto nemusí nikde čekat na dokončení příjmu,ani odesíláni.PacketRx, PacketTxTato vrstva zajišťuje správné parsování a kompozici paketů. Její interface jenapojen na ovladač sériového rozhraní a do aplikace poskytuje metody pro aplikačnívrstvu komunikace. Při příjmu jsou data nejprve zpracována přes vrstvu DLE,která obsahuje stavový automat pro parsování paketů z proudu přijímaných dat a potompřes vrstvu Content, která kontroluje správnost přijatého paketu.53
- Page 10 and 11: Kapitola 2. Popis řešeného probl
- Page 12 and 13: Kapitola 2. Popis řešeného probl
- Page 14 and 15: Kapitola 2. Popis řešeného probl
- Page 16 and 17: Kapitola 2. Popis řešeného probl
- Page 18 and 19: Kapitola 2. Popis řešeného probl
- Page 20 and 21: Kapitola 3. Návrh hardwaru• Dohl
- Page 22 and 23: Kapitola 3. Návrh hardwaruTeplota
- Page 24 and 25: Kapitola 3. Návrh hardwaru3.2 Hlav
- Page 26 and 27: Kapitola 3. Návrh hardwaruProcesor
- Page 28 and 29: Kapitola 3. Návrh hardwarunapěťo
- Page 30 and 31: Kapitola 3. Návrh hardwaruse prov
- Page 32 and 33: Kapitola 3. Návrh hardwaruLogické
- Page 34 and 35: Kapitola 3. Návrh hardwaruAnalogov
- Page 36 and 37: Kapitola 3. Návrh hardwaruObr. 3.1
- Page 38 and 39: Kapitola 3. Návrh hardwaruRS485Pos
- Page 40 and 41: Kapitola 3. Návrh hardwaru• Tepl
- Page 42 and 43: Kapitola 4. Komunikace4.2 Sběrnice
- Page 44 and 45: Kapitola 4. Komunikace4.2.3 Formát
- Page 46 and 47: Kapitola 4. Komunikace4.4.1 Fyzick
- Page 48 and 49: Kapitola 4. Komunikace4.5 Sběrnice
- Page 50 and 51: Kapitola 4. Komunikaceže master ne
- Page 52 and 53: Kapitola 4. Komunikace• Čtyřvod
- Page 54 and 55: Kapitola 4. KomunikaceKřídlová z
- Page 56 and 57: Kapitola 4. KomunikaceAdresa (1 byt
- Page 58 and 59: Kapitola 4. Komunikace• Teplota v
- Page 62 and 63: Kapitola 5. Návrh softwaruStavový
- Page 64 and 65: Kapitola 5. Návrh softwaruCommVrst
- Page 66 and 67: Kapitola 5. Návrh softwaruneexistu
- Page 68 and 69: Kapitola 5. Návrh softwarubool get
- Page 70 and 71: Kapitola 5. Návrh softwaruModul re
- Page 72 and 73: Kapitola 5. Návrh softwaru5.2 Jedn
- Page 74 and 75: Kapitola 5. Návrh softwarujiž nen
- Page 76 and 77: Kapitola 5. Návrh softwaruInterfac
- Page 78 and 79: Kapitola 6. TestováníTestování
- Page 80 and 81: Kapitola 7. Závěr7 ZávěrCílem
- Page 82 and 83: Kapitola 8. Seznam použité litera
- Page 84 and 85: Kapitola 9. PřílohyObr. 9.2: Kont
Kapitola 5. Návrh softwaruUartDriverTento blok obsahuje jak ovladač hardwarového UART <strong>pro</strong> <strong>pro</strong>cesory MSPi DSP, tak i kruhový buffer. Do vyšších vrstev poskytuje rozhraní receiveByte(),sendByte(), receiveData(), sendData().Při příjmu byte je v <strong>pro</strong>cesoru vygenerováno přerušení. V obsluze tohoto přerušení jebyte vybrán z hardwarového bufferu <strong>pro</strong>cesoru a je vložen do kruhového bufferu<strong>pro</strong> příjem dat. Odtud si aplikace může žádat o přijatý byte.Při odesílání jsou data z aplikace vkládány do kruhového bufferu. Pokud právěne<strong>pro</strong>bíhá odesílání, vyzvedne se odtud jeden byte, vloží se do hardwarovéhobufferu a následně se povolí přerušení od vysíláni. Při ukončení odeslání byte do sériovélinky je vyvoláno přerušení. Zde se opět vyzvedne další byte z kruhového bufferua vloží se do hardwarového. Tento cyklus se opakuje, dokud není kruhový bufferprázdný. Výhoda tohoto řešení je, že příjem i odesílání <strong>pro</strong>bíhá automaticky jenz přerušení <strong>pro</strong>cesoru. Aplikace <strong>pro</strong>to nemusí nikde čekat na dokončení příjmu,ani odesíláni.PacketRx, PacketTxTato vrstva zajišťuje správné parsování a kompozici paketů. Její interface jenapojen na ovladač sériového rozhraní a do aplikace poskytuje metody <strong>pro</strong> aplikačnívrstvu komunikace. Při příjmu jsou data nejprve zpracována přes vrstvu DLE,která obsahuje stavový automat <strong>pro</strong> parsování paketů z <strong>pro</strong>udu přijímaných dat a potompřes vrstvu Content, která kontroluje správnost přijatého paketu.53