Předmět Ústav Úloha č. 5 BDIO - Digitální obvody Ústav mikroelektroniky Řešení komplexního úkolu kombinační logikou Chemická nádrž Student Cíle Vyřešení slovného zadání úkolu. Karnaughovy mapy, minimalizace funkce a obvodu. Implementace návrhu do cílového obvodu FGPA Spartan3-200k na vývojové desce Spartan-3 Starter Board. Teoretický úvod V technické praxi je často zadání úkolů slovní. V tomto cvičení budete řešit právě takový úkol. Slovní popis systému Navrhněte řídicí logiku (žlutý blok na obrázku 1) pro řízení chemické nádrže. Úkolem řídicí logiky je udržovat optimální hladinu kapaliny v nádrži řízením vstupního ventilu pro přítok. Nadřazený systém může posílat požadavek k odčerpání kapaliny z chemické nádrže řízením výstupního ventilu (realizováno log. hradlem AND). Řídicí logika dále udržuje teplotu kapaliny v požadovaném rozsahu a spustí poplach, pokud bude teplota mimo rozsah definovaný teplotními senzory nebo pokud dojde k selhání teplotních senzorů. kapalina vstupní ventil senzor optimální hladiny Vin Poplach A Řídicí logika Chemická nádrž Vout Tmin Tmax O ohřev senzory teploty výstupní ventil kapalina požadavek na vypouštění nadřazeným systémem Obr. 1: Schéma systému
Funkce obvodu 1) Vstupy obvodu jsou připojeny k jednomu hladinovému senzoru a dvěma teplotním senzorům. Výstupy obvodu řídí přítok a odtok pomocí ventilů a teplotu vyhřívacím tělesem. 2) Řídicí logika udržuje vstupní ventil otevřen, pokud není hladina kapaliny pod úrovní senzoru optimální hladiny. Řídicí logika ventil uzavře poté, pokud je senzor optimální hladiny zaplaven kapalinou. 3) Teplota kapaliny v nádrži musí být udržována v rozsahu nastaveném dvěma teplotními senzory. Jeden indikuje příliš vysokou, druhý příliš nízkou teplotu kapaliny. Řídicí logika zapne ohřev, pokud senzor indikuje nízkou teplotu. 4) Výstupní ventil je otevřen je v případě, pokud je dán požadavek na vypouštění nadřazeným systémem a zároveň je senzor optimální hladiny ponořen. V případě, že hladina klesne pod optimální hladinu, řídicí logika uzavře výstupní ventil, i když trvá požadavek nadřazeným systémem pro vypouštění kapaliny. Specifikace jednotlivých vstupů a výstupů řídicí logiky 1) V případě že je senzor optimální hladiny ponořen, je vstupní signál řídicí logiky = 1. V případě že není senzor optimální hladiny ponořen, je vstupní signál řídicí logiky = 0. 2) Pokud není senzor optimální hladiny ponořen, pak musí být výstupní signál Vin = 1 a ventil se otevře. V opačném případě musí být vstupní signál Vin = 0 a ventil se uzavře. V případě nízké hladiny kapaliny v nádrži, není možné povolit odčerpávání. 3) Před vypuštěním kapaliny z nádrže pomocí výstupního ventilu musí být teplota kapaliny v definovaném rozsahu, který je hlídán dvěma teplotními senzory. Pokud teplota kapaliny přesáhne maximální dovolenou hodnotu (vyhodnoceno prvním teplotním senzorem), bude vstupní signál řídicí logiky Tmax = 1. Pokud teplota kapaliny klesne pod minimální dovolenou hodnotu (vyhodnoceno druhým teplotním senzorem), bude vstupní signál řídicí logiky Tmin = 1. Pokud bude teplota v definovaném rozmezí, budou vstupní signály Tmin = 0 a Tmax = 0. 4) V případě indikace příliš nízké teploty kapaliny (Tmin = 1) se musí zapnout ohřev kapaliny. Zapnutí ohřevu je reprezentováno výstupním signálem signál O = 1. V opačném případě musí být výstupní signál O = 0. Ohřev nesmí být spuštěn při nízké úrovni hladiny kapaliny. 5) V případě detekce selhání teplotních senzorů nebo při překročení maximální teploty kapaliny, musí být spuštěn poplach, oba ventily pak musí být také uzavřeny a nesmí být aktivní ohřev kapaliny. V tomto případe jsou výstupní signály nastaveny takto A = 1, Vin = 0, Vout = 0 a O = 0. Selhání teplotního senzoru je indikováno, když jsou aktivní oba teplotní senzory najednou (Tmin = 1 a Tmax = 1). Vstupy řídicí logiky Označení Popis Aktivní úroveň Funkce senzor optimální hladiny log. 1 senzor je ponořen Tmax senzor vysoké teploty log. 1 teplota je příliš vysoká Tmin senzor nízké teploty log. 1 teplota je příliš nízká
Výstupy řídicí logiky Označení Popis Aktivní úroveň Funkce Vin přítokový ventil log. 1 ventil je otevřen Vout odtokový ventil log. 1 ventil je otevřen O ohřívací těleso log. 1 ohřev kapaliny A poplach log. 1 vysoká teplota, selhání teplotních senzorů Při návrhu obvodu používejte označení vstupů a výstupů z tabulek. Vypracování laboratorní úlohy Úkol č. 1 (0,6 bodu) Doplňte pravdivostní tabulku obvodu a co nejvýstižněji popište jednotlivé stavy ve kterých se obvod nachází a co dělá. Vstupy Výstupy Tmax Tmin Vin Vout O A 0 0 0 Popis 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
Úkol č. 2 (0,4 bodu) Doplňte tabulky Karnaugových map a vyznačte všechny mapy eliminující případné hazardy. Výstup Vin Výstup Vout Výstup O Výstup A Úkol č. 3 (0,4 bodu) Napište rovnice popisující jednotlivé výstupy Vin = Vout = O = A =
Úkol č. 4 (0,8 bodu) Ve schematickém návrhu nakreslete úplné schéma výsledného řídícího obvodu podle úkolu č.3. Funkci obvodu otestujte na vývojové desce. Podívejte se na parametry výsledného obvodu po syntéze v procesu Design Summary/Reports a doplňte následující tabulku. Vstupy přiřaďte přepínačům podle obrázku. Výstupy přiřaďte jednotlivým LED podle tabulky. Logic Utilization Used Available Utilization Number of occupied slices Number of Slice LUTs Number of bonded IOBs Tmax Tmin Výstupy Vin Vout O A LED LED3 LED2 LED1 LED0 Úkol č. 5 (0,8 bodu) 1) Popište navržený řídicí obvod v jazyce VDL podle slovního zadání. Nerealizujte pomocí rovnic z úkolu č.3. Nepoužívejte signály v entitě s definicí směru INOUT. Funkci obvodu otestujte na vývojové desce. Podívejte se na parametry výsledného obvodu po syntéze v procesu Design Summary/Reports a doplňte následující tabulku. Parametry porovnejte s obvodem z předchozího úkolu. Vstupy a výstupy přiřaďte stejně jako v předchozím úkolu. Logic Utilization Used Available Utilization Number of occupied slices Number of Slice LUTs Number of bonded IOBs 2) Upravte VDL popis tak, aby byla splněna následující podmínka. V případě, že bude spuštěn POPLAC (A = 1), zobrazte na 7-segmentovém displeji Implementujte návrh do vývojové desky a otestujte jeho funkci.
Bonusový úkol č. 6 (0,6 bodu) Namalujte ekvivalentní schéma obvodu pro řízení ohřevu, k dispozici máte pouze hradla NAND.