NIDEEV, A. Rozšiřující periferie pro mikrokontroléry MC9S08LH [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2019.

Posudky

Posudek vedoucího

Macho, Tomáš

Úkolem pana Adana Nideeva bylo navrhnout a realizovat připojení externích periferních zařízení (rotační enkodér, maticová klávesnice, LCD displej) k vývojové desce TWR-S08LH64 s mikrokontrolérem MC9S08LH. Dále měl navrhnout a realizovat minimálně dvě laboratorní úlohy demonstrující použití uvedených periferií. Pro laboratorní úlohy měl vytvořit srozumitelné návody. Bakalářská práce pana Nideeva je členěna do 8 kapitol a obsahuje cca 38 stran vlastního textu. Práce je sestavena v logickém sledu, ale obsahuje značné množství zkomolených vět, po jazykové stránce je na velmi nízké úrovni. Bakalářská práce nenavazovala na předcházející semestrální práci. Pan Nideev měl proto pouze omezené množství času na realizaci zadaného úkolu. Pan Niedeev disponoval podprůměrnými znalostmi z oblasti mikroprocesorové techniky a programování embedded aplikací, své znalosti se snažil postupně prohlubovat. Řešení zadaného úkolu věnoval nemalé úsilí i čas. Pravidelně konzultoval postup prací a dosažené výsledky s vedoucím práce. Zadání práce splnil, i když na minimální úrovni. Odbornou úroveň práce však považuji za dosti nízkou. Jako vedoucí navrhuji hodnotit práci pana Adana Nideeva známkou E/58 bodů.

Navrhovaná známka
E
Body
58

Posudek oponenta

Petyovský, Petr

Zadání bakalářské práce studenta Adana Nideeva lze označit za snazší, neboť defakto přímo rozvíjel znalosti a aplikoval zkušenosti získané v kurzu Mikroprocesory z druhého ročníku bakalářského studia. Požadovaným cílem práce byl navrhnout, realizovat a odladit alespoň dvě nové laboratorní úlohy pro výše uvedený kurz. Dalším úkolem bylo vytvořit srozumitelné návody k těmto navrženým úlohám pro budoucí studenty. Student prokázal zcela zřejmé znalosti z oblasti návrhu a vývoje embedded systémů. Zvolenou koncepci řešení lze označit s výhradami za správnou. Zadání dle mého názoru sice bylo splněno, ale k samotnému textu práce mám tyto výhrady: Práce je psána v logickém sledu, ale rozsahy jednotlivých kapitol jsou nedostatečné. Rozsah celé práce je, od úvodní kapitoly po závěrečnou, jen 36 stran, čímž se práce blíží spíše spodnímu povinnému limitu kladenému na rozsah bakalářských prací. Úvodní kapitoly 1 až 3 (str. 11 - 20) prezentují počáteční rozbor zadání. Dále se věnují popisu vlastností osmibitového mikrokontroleru řady S08 a komponentám příslušné vývojové desky Tower S08LH64. V další části jsou popsány principy fungování I2C sběrnice a HW podpora pro komunikace po této sběrnici, obsažená ve zvoleném MCU. Student měl pravděpodobně snahu popsat v těchto úvodních kapitolách jen ty nejpodstatnější informace, proto zde prezentované informace mají ryze kompilační charakter a nejsou vzájemně zcela konzistentní (např. označení veličin ve vztahu na straně 18 oproti označení stejných veličin v textu kapitoly). V závěru těchto kapitol postrádám závěrečné shrnutí východisek pro další realizaci práce. V kapitole 4 jsou popsány konkrétní vlastnosti studentem zvolených rozšiřujících periferií, které požaduje zadání. Tato kapitola má dostatečný rozsah, pouze by bylo vhodné, aby student navýšil rozlišení prezentovaných schémat zapojení tak, aby byly lépe čitelné. Další kapitoly jsou již jednoznačně dílem studenta. Kapitola 5 se věnuje návrhu připojení periferií po I2C sběrnici: kalendářový obvod, sériová paměť, LCD displej. A také popisu ostatních požadovaných periferií ovládaných pomocí GPIO: rotační enkodér s tlačítkem a maticová klávesnice. Je navrženo rozložení zapojení periferií na jednotlivé porty MCU, dle jejich možností. Zde bych měl první vážnou výtku ohledně připojení rotačního enkodéru k MCU, kde měl student zvážit připojení této periferie buď ke vstupům s funkcí: input-capture, nebo alespoň ke vstupům, které umožňují generovat přerušení při změně úrovně na některém ze vstupních pinů. Neboť softwarová obsluha rotačního enkodéru, by mohla s výhodou využívat právě tyto vlastnosti, které již MCU obsahuje. Navržené programové ovladače této periferie by následně nemusely využívat periodickým přerušením generované dotazování na stav této periferie, aby zajistily správné fungování tohoto ovladače. Kapitola 6 se snaží o popis jednotlivých softwarových komponent pro ovládání jednotlivých periferií. Tato kapitola má jednoznačně nedostatečný rozsah, přiložené obrázky vývojových diagramů jsou prakticky nečitelné a navíc zde zcela postrádám, rozdělení na jednotlivé podkapitoly věnované jednotlivým periferiím. Z celé této kapitoly jsou tedy jedinými výsledky seznamy studentem realizovaných obslužných funkci pro jednotlivé periferie. Ovšem bez hlubšího popisu, jak jsou uvnitř implementovány. Při pohledu do přiložených zdrojových textu realizovaných knihoven funkcí na CD je patrné, že jsou realizovány vždy jako funkce blokující a také jako funkce nepředpokládající, že může nastat například problém při odesílání dat na I2C sběrnici. Samotná realizace knihoven představuje spíše úroveň prvotní funkční implementace (studenta prvního ročníku), než úroveň laboratorních úloh vhodných pro výuku dalších studentů. Mezi realizovanými knihovnami již navíc zcela postrádám knihovnu pro práci se sériovou pamětí, prezentovanou v kapitole 5. Kapitola 7 (str. 43 – 46) prezentující alespoň dva srozumitelné návody je zpracována na naprosto podprůměrné úrovni. Student zpracování této kapitoly naprosto nezvládl, zadání úloh postrádá jakýkoliv rozbor problému, obsahuje pouze zadání a doporučený postup řešení, což rozhodně není dostatečné. Návody na realizaci obou úloh nejenže, nemají dostatečný rozsah, ale také jsou zatíženy takovým množstvím chyb, že je prakticky nemožné sledovat myšlenky autora textu. Jako oponent jsem se rozhodl komisi v této kapitole bakalářské práce označit všechny překlepy a chybná spojení, aby bylo patrné, jak nekvalitně je jeden z hlavních výstupů této bakalářské práce realizován. Osobně bych přál studentovi okusit, podle jím zpracovaných návodů, implementovat definované úlohy. Závěrečná kapitola 8 o rozsahu jen třetina strany je věnována závěrečnému shrnutí dosažených výsledků. Je zde uvedena informace o realizaci další úlohy kombinující ovládání všech periferií v jedné komplexnější demonstrační úloze. Proč ovšem není popis této úlohy součástí výstupů kapitoly 7, mi uniká? Formální zpracování práce je na naprosto podprůměrné úrovni. Práce je psána v českém jazyce, ale postrádá jakoukoliv jazykovou korekturu. Prakticky na každé straně lze nalézt několik překlepů či chybných slovních spojení. Český jazyk pravděpodobně není mateřským jazykem studenta, proto lze částečně tolerovat neobratnou slovní skladbu textu, ovšem úroveň chyb obsažených v textu je za hranicí akceptovatelnosti. V práci navíc postrádám obrázky 31 a 32. V textu je na ně sice odkazováno, ale v práci nejsou nikde prezentovány. Na straně 41 je uveden odkaz na neexistující kapitolu 2.5.4. Skutečnost, že si student nezajistil kontrolu textu například ve spolupráci s vedoucím práce je zarážející. V práci ani na přiloženém CD není jediná foto či video dokumentace prezentující výsledné kompletní zařízení v provozu, proto nemohu spolehlivě potvrdit funkčnost výsledného zařízení. Obě tyto skutečnosti mě vedou k zamyšlení, zda si student uvědomil časovou náročnost řešení bakalářské práce a zvažuji, zda se nedostal při řešení do časové tísně, neboť chybně předpokládal, že k realizaci bakalářské práce bude stačit úroveň úsilí a času, kterou vynakládal na běžné ročníkové projekty. Z úrovně zpracování textu práce odhaduji, že se student pravděpodobně nevěnoval řešení práce v rozsahu, který dané zadání požadovalo. Charakter textu bakalářské práce a úroveň dokumentace celého řešení bohužel svědčí o minimálních bakalářských schopnostech student, a práci tak doporučuji k obhajobě s velkými výhradami. Student přesto do určité míry úspěšně zrealizoval požadované úlohy, ale naprosto nezvládl své výsledky smysluplně zdokumentovat v textu práce, proto ho hodnotím stupněm E (56b).

Navrhovaná známka
E
Body
56

Otázky

eVSKP id 119305