User Tools

Site Tools


project:eaton:proj_eaton

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
project:eaton:proj_eaton [2018/08/20 13:09]
xkubalik [Knihovní funkce pro mikroprocesor]
project:eaton:proj_eaton [2018/10/25 10:43] (current)
xkubalik
Line 2: Line 2:
  
 ===== Knihovní funkce pro mikroprocesor ===== ===== Knihovní funkce pro mikroprocesor =====
 +**Cíle:**
 +• Prozkoumejte,​ jak je naimplementován blok kontrolního součtu, časovače, I2C komunikační sběrnice, pulzně šířkové modulace na zadaném mikrokontroléru.
 +• Zjistěte,​ které části jsou již implementovány (Hardware Abstract Layer) .
 +• Navrhněte seznam knihovních funkcí (Application Programming Interface), které jsou potřeba naimplementovat.
 +• Navržené knihovní funkce naimplementujte v jazyku C.
 +• Výsledné řešení otestujte.
 +• Pro veškeré navržené funkce vytvořte dokumentaci v dOxygen formátu.
  
-**Cíle** +**Výstupy:** Knihovní funkce a dokumentace v dOxygen formátu pro: 
- +blok kontrolního součtu (CRC) 
-  * Prozkoumejte,​ jak je naimplementován blok kontrolního součtu, časovače, I2C komunikační sběrnice, pulzně šířkové modulace na zadaném mikrokontroléru. +časovače (CCTIMER, SWTIMER) 
-  * Zjistěte, které části jsou již implementovány (Hardware Abstract Layer) . +I2C komunikační sběrnice (I2C) 
-  * Navrhněte seznam knihovních funkcí (Application Programming Interface), které jsou potřeba naimplementovat. +pulzně šířkové modulace (PWM)
-  * Navržené knihovní funkce naimplementujte v jazyku C. +
-  * Výsledné řešení otestujte. +
-  * Pro veškeré navržené funkce vytvořte dokumentaci v dOxygen formátu. +
- +
-**Výstupy** +
- +
-Knihovní funkce a dokumentace v dOxygen formátu pro: +
- +
-  * blok kontrolního součtu (CRC) +
-  ​* ​časovače (CCTIMER, SWTIMER) +
-  ​* ​I2C komunikační sběrnice (I2C) +
-  ​* ​pulzně šířkové modulace (PWM)+
  
 **Otestovat tyto knihovní funkce :** **Otestovat tyto knihovní funkce :**
- +Spočítat kontrolní součet celé paměti a porovnat jej s očekávaným výsledkem. 
-  * Spočítat kontrolní součet celé paměti a porovnat jej s očekávaným výsledkem. +S použitím čítače a sensoru zjistit rychlost a směr otáčení hřídele motoru. 
-  ​* ​S použitím čítače a sensoru zjistit rychlost a směr otáčení hřídele motoru. +Otestovat komunikaci po sběrnici s obvodem reálného času připojeného přes Arduino shield. 
-  ​* ​Otestovat komunikaci po sběrnici s obvodem reálného času připojeného přes Arduino shield. +Otestovat řízení motoru pomocí H-můstku připojeného přes Arduino shield. 
-  ​* ​Otestovat řízení motoru pomocí H-můstku připojeného přes Arduino shield. +Otestovat funkčnost dostupných led diod.
-  ​* ​Otestovat funkčnost dostupných led diod.+
  
 ===== Knihovna logovacích funkcí pro zachycení chyb ===== ===== Knihovna logovacích funkcí pro zachycení chyb =====
  
-**Cíle**+**Cíle:**
 • Prostudujte způsob řešení pro zpracování chybových výstupu periferií procesoru. • Prostudujte způsob řešení pro zpracování chybových výstupu periferií procesoru.
 • Navrhněte knihovní funkce, které budou obstarávat obsluhu chyb a chybový výstup. • Navrhněte knihovní funkce, které budou obstarávat obsluhu chyb a chybový výstup.
Line 41: Line 35:
 • Výsledné řešení otestujte. • Výsledné řešení otestujte.
  
-**Výstupy**+**Výstupy:**
 • Knihovní funkce, které budou obstarávat obsluhu chyb a chybový výstup. • Knihovní funkce, které budou obstarávat obsluhu chyb a chybový výstup.
 • Script v jazyce Python pro následné dekódování logu. • Script v jazyce Python pro následné dekódování logu.
 • Test logovacího systému s pomocí RaspberyPi, které bude řídit testovaný mikrokontrolér. • Test logovacího systému s pomocí RaspberyPi, které bude řídit testovaný mikrokontrolér.
- 
  
 ===== Reálný model pásového dopravníku řízený uC ===== ===== Reálný model pásového dopravníku řízený uC =====
  
-**Cíle**+**Cíle:**
 • Prozkoumejte,​ jak jsou naimplementované časovače a pulzně šířková modulace na zadaném mikrokontroléru (nastudovat dané části ve specifikaci mikrokontroléru). • Prozkoumejte,​ jak jsou naimplementované časovače a pulzně šířková modulace na zadaném mikrokontroléru (nastudovat dané části ve specifikaci mikrokontroléru).
 • Zjistěte,​ které části jsou již naimplementovány (Hardware Abstract Layer). • Zjistěte,​ které části jsou již naimplementovány (Hardware Abstract Layer).
Line 61: Line 54:
 • Výsledné řešení otestujte. • Výsledné řešení otestujte.
  
-**Výstupy**+**Výstupy:**
 • Funkční model pásového dopravníku sestaveného ze stavebnice merkur. • Funkční model pásového dopravníku sestaveného ze stavebnice merkur.
 • Knihovní funkce a dokumentace v dOxygen formátu k řízení motoru a optimalizace k omezení času, kdy oba tranzistory v H-můstku jsou aktivní. • Knihovní funkce a dokumentace v dOxygen formátu k řízení motoru a optimalizace k omezení času, kdy oba tranzistory v H-můstku jsou aktivní.
Line 67: Line 60:
 • Knihovní funkce a dokumentace v dOxygen formátu k PID regulaci. • Knihovní funkce a dokumentace v dOxygen formátu k PID regulaci.
 • Test - vstupem bude pozice dopravníku a dopravník musí dané pozice dosáhnout co nejrychleji s danou přesností. • Test - vstupem bude pozice dopravníku a dopravník musí dané pozice dosáhnout co nejrychleji s danou přesností.
- 
  
 ===== Grafické uživatelské rozhraní (GUI) pro definování funkcionality vývodů mikrokontroléru a generování kostry kódu v jazyku C ===== ===== Grafické uživatelské rozhraní (GUI) pro definování funkcionality vývodů mikrokontroléru a generování kostry kódu v jazyku C =====
-**Cíle **+ 
 +**Cíle:**
 • Prozkoumejte,​ jak je implementován blok přiřazení funkce k vývodům mikrokontroléru (nastudovat specifikaci IO_CTRL bloku) pozn.: IO_CTRL - ovládá propojení mezi vývodem na ASICu a periferií uvnitř obvodu (například přiřadí funkci I2C.SDA nebo I2C.SCL k vývodům). • Prozkoumejte,​ jak je implementován blok přiřazení funkce k vývodům mikrokontroléru (nastudovat specifikaci IO_CTRL bloku) pozn.: IO_CTRL - ovládá propojení mezi vývodem na ASICu a periferií uvnitř obvodu (například přiřadí funkci I2C.SDA nebo I2C.SCL k vývodům).
 • Zjistěte,​ které části jsou již naimplementovány (Hardware Abstract Layer). • Zjistěte,​ které části jsou již naimplementovány (Hardware Abstract Layer).
Line 78: Line 71:
 • Uživatelské rozhraní umožní vygenerovat kostru v jazyku C, která bude implementovat funkcionalitu (přiřazení funkce k vývodu obvodu), která byla nastavena uživatelem v uživatelském rozhraní. • Uživatelské rozhraní umožní vygenerovat kostru v jazyku C, která bude implementovat funkcionalitu (přiřazení funkce k vývodu obvodu), která byla nastavena uživatelem v uživatelském rozhraní.
 • Navržené řešení implementujte a následně otestujte. • Navržené řešení implementujte a následně otestujte.
-**Výstupy**+ 
 +**Výstupy:**
 • Grafické rozhraní v jazyce Python včetně dokumentace. • Grafické rozhraní v jazyce Python včetně dokumentace.
 • Možnost generování C kódu z grafického rozhraní. • Možnost generování C kódu z grafického rozhraní.
Line 85: Line 79:
  
 ===== Grafické uživatelské rozhraní (GUI) pro nastavení hodinových stromů v mikrokontroléru a generování kostry kódu v jazyku C ===== ===== Grafické uživatelské rozhraní (GUI) pro nastavení hodinových stromů v mikrokontroléru a generování kostry kódu v jazyku C =====
 +
 **Cíle:** **Cíle:**
 • Prozkoumat jak je implementován blok přiřazení hodinových stromů v mikrokontroléru (nastudovat specifikaci CLK_NRES bloku) pozn.: CLK_NRES - ovládá propojení hodinových stromů mezi vstupním hodinovým signálem a periferií, dále umožňuje nastavení hodinového závěsu (PLL) a různé hodinové děličky. • Prozkoumat jak je implementován blok přiřazení hodinových stromů v mikrokontroléru (nastudovat specifikaci CLK_NRES bloku) pozn.: CLK_NRES - ovládá propojení hodinových stromů mezi vstupním hodinovým signálem a periferií, dále umožňuje nastavení hodinového závěsu (PLL) a různé hodinové děličky.
Line 96: Line 91:
 • Uživatelské rozhraní kontroluje nastavení, zda-li dává smysl a respektuje pravidla definovaná specifikací (např. že max. výstupní frekvence PLL je 100MHz). • Uživatelské rozhraní kontroluje nastavení, zda-li dává smysl a respektuje pravidla definovaná specifikací (např. že max. výstupní frekvence PLL je 100MHz).
 • Navržené řešení zrealizujte a řádně otestujte. • Navržené řešení zrealizujte a řádně otestujte.
 +
 **Výstupy:​** **Výstupy:​**
 • Grafické rozhraní v Python včetně dokumentace. • Grafické rozhraní v Python včetně dokumentace.
Line 102: Line 98:
 • Možnost načíst omezující podmínky pro konfiguraci hodinových stromů v grafickém rozhraní. • Možnost načíst omezující podmínky pro konfiguraci hodinových stromů v grafickém rozhraní.
 • Možnost načíst definici (topologii) hodinových stromů v grafickém rozhraní • Možnost načíst definici (topologii) hodinových stromů v grafickém rozhraní
 +
 +===== Sběr dat z elektroměrů pomocí RaspberryPI =====
 +
 +**Cíle:**
 +• Proveďte průzkum trhu elektroměrů používaných pro datová centra.
 +• Nainstalujte a nakonfigurujte NUT (Network UPS Tools) na RaspberryPi.
 +• Navrhněte a naimplementujte podporu Eaton zařízení (resp. zařízení od našich konkurentů) do NUTu.
 +• Při návrhu zohledněte návrhové vzory projektu NUT.
 +• Výsledné zařízení otestujte na reálném hardware a vytvořte několik ukázkových příkladu použití.
 +• Pro výsledné řešení vytvořte dokumentaci.
 +
 +**Výstupy:​**
 +• Předpokládaný výstup práce zahrnuje zprovoznění NUTu na RaspberryPi a rozšíření jeho současné implementace o nová zařízení,​ a to o elektroměry používající SNMP protokol: přidáním SNMP objektů, nezbytné rozšíření kódu NUTu (přidání nového ovladače, popř. nového namespace).
 +• RaspberryPi by mělo být schopné číst data z vybraných zařízení.
 +• Kód bude dokumentován a testován.
 +• Dokumentace k vytvořenému řešení.
 +
 +===== Monitorování dieselového generátoru pomocí RaspberryPI =====
 +
 +**Cíle:**
 +• Proveďte průzkum trhu dieselgenerátorů se zaměřením na jejich dostupné komunikační rozhraní.
 +• Navrhněte a implementujte Modbus TCP a RTU ovladače do NUTu na platformě RaspberryPi.
 +• Implementovanou podporu sběrnice Modbus použijte ke komunikaci s dieselovým generátorem (bude poskytnuta specifikace ke konkrétnímu zařízení) a sběru dat.
 +• Pro výsledné řešení vytvořte několik přikladu pro ověření správné funkce komunikace s dieselagregatem.
 +• Pro realizované řešení vytvořte dokumentaci.
 +
 +
 +**Výstupy:​**
 +Předpokládaný výstup práce zahrnuje zprovoznění NUTu na RaspberryPi a rozšíření jeho současné implementace o nový ovladač Modbusu TCP/RTU.
 +RaspberryPi by mělo být schopné použít Modbus TCP/RTU převodník ke komunikaci s dieselovým generátorem.
 +Výsledné řešení bude dokumentováno a testováno s reálným dieselgeneratorem.
  
project/eaton/proj_eaton.1534763363.txt.gz · Last modified: 2018/08/20 13:09 by xkubalik