Documente Academic
Documente Profesional
Documente Cultură
3/20/2023
Contents
1 Specificații...............................................................................................................................3
2 Proiectare.................................................................................................................................4
2.1 Schema Bloc........................................................................................................................4
2.2 Unitatea de Control și Unitatea de Execuție........................................................................4
1.2.1 Maparea intrărilor și ieșirilor cutiei mari pe cele două componente UC și UE...............5
1.2.2 Determinarea resurselor (UE).........................................................................................5
2.2.3 Schema bloc a primei descompuneri...........................................................................7
2.2.4 Reprezentarea UC prin diagrama de stări (organigrama)............................................8
2.2.5 Schema de detaliu a proiectului...................................................................................9
3 Manual de utilizare și întreținere.............................................................................................9
4 Justificarea soluției alese..........................................................................................................9
5 Posibilități de dezvoltări ulterioare..........................................................................................9
6 Bibliografie..............................................................................................................................9
1|Page
COMANDA UNDEI MASINI DE SPALAT
1 Specificații
Automat simplu pentru comanda unei maşini de spălat, cu un mod manual şi câteva moduri
automate.
Iniţial automatul este într-o stare inactivă, cu uşa maşinii de spălat deschisă. Utilizatorul
poate seta parametrii de funcţionare manual (modul manual) sau poate selecta unul din modurile
pre-programate.
În modul manual, se pot seta: temperatura (30°C, 40°C, 60°C sau 90°C); viteza (800,
1000, 1200 rotaţii/minut); selectare / anulare prespălare, clătire suplimentară. Timpul rulării
programului depinde de temperatura selectată (apa vine cu o temperatură de 15°C şi se încălzeşte
1°C în 2 secunde) şi de funcţia selectată (prespălare – aceeaşi metodă ca şi spălarea principală,
clătire suplimentară – clătire de două ori; aceste funcţii sunt descrise în detaliu mai jos).
1. Spălare rapidă - 30°C, viteza de 1200, fără prespălare, fără clătire suplimentară
Fiecare program conţine etapele următoare: spălare principală (se alimentează maşina cu apă, se
încălzeşte apa, se roteşte cu o viteză de 60 rotaţii / minut timp de 20 minute, se evacuează apa),
clătire (se alimentează cu apă, se roteşte cu o viteză de 120 rotaţii / minut timp de 10 minute, se
evacuează apa) şi centrifugare (se roteşte cu viteza selectată pentru 10 minute). Dacă este
selectată prespălarea, are aceeaşi metodă ca şi la spălarea principală, cu excepţia faptului că se
roteşte pentru 10 minute.
În timp ce se selectează modul dorit (manual sau unul din modurile automate) se afişează durata
programului şi după ce se porneşte este afişat timpul rămas (afişarea timpului se realizează pe
afişoare cu 7 segmente).
2|Page
2 Proiectare
Pentru realizarea black-box- ului comenzii masini de spalat am ales urmatoarele intrari:
Resetul – pentru a aduce automatul in stare initiala, facand clear elementelor care au nevoie din
constructie (ex. Numaratoare, Unitati aritmetico- logice etc.)
Start – Este folosit ca un enable pentru pornirea programului ales. De asemenea, daca cerintele
pentru pornirea programului nu sunt indeplinite, acesta va ramane in aceasi stare.
Usa deschisa/inchisa – este un swich prin care semnalizam starea usii inchisa sau deschisa.
Manual/Automat – este un swich de pe care selecectam ce mod vrem sa alegem pentru spalare.
Selectare Program Automat – aceasta comanda este formata din 3 swichuri, de pe acestea
selectam 1 dintre cele 5 programe prestabilite de catre producator.
Selectare Program Manual – comanda aceasta este formata din 4 butoane, unul pentru
selectarea sau deselectarea pre-spalare, unul pentru clatire extra, unul pentru temperaturile puse
la dispozitie de catre producator si unul pentru rotatii.
Iar ca iesiri:
Timp program/Timp ramas – aceste semnal va afisa initial (dupa selectarea programului)
timpul lui, iar dupa apasarea butonului start, cat timp a mai ramas pana la terminarea
programului
Terminare Program – un led care semnalizeaza suplimentar terminarea programului.
Usa Deschisa/Inchisa – un led care semnalizea deschiderea usii dupa 1 min. de la terminarea
programului.
3|Page
2.2 Unitatea de Control și Unitatea de Execuție
Cutia neagră a sistemului trebuie descompusă mai departe pentru a putea găsi componente
implementabile. Am facut o descompunere top-down a problemei pana cand ajungem la circuite
cunoscute, iar apoi vom implementa bottom-up.
Prima descompunere a oricărui sistem este una în care vom diferenția între logica de
control din sistem și resursele sistemului. Logica de control este reprezentată de Unitatea de
Control iar resursele sunt reprezentate de Unitatea de Execuție.
1.2.1 Maparea intrărilor și ieșirilor cutiei mari pe cele două componente UC și UE.
Figura 2Maparea intrărilor și ieșisilor cutiei negre pe intrările și ieșirile componentelor din prima descompunere
Putem împărți atât intrările cât și ieșirile în 2 categorii: de date si de control. Aceasta
separare este esențială la început.
● intrări de date: valori pentru diferite lucruri(cost bilet, distanța de parcurs,nr pin card,
număr de bilete etc).
● Intrari de control: buton de confirmare, buton de selectare a unui program, buton de
anulare etc.
● Ieșiri de date: valori de afișat pentru utilizator (timpul rămas dintr-un program, restul
datorat, costul calculat al unui bilet etc.)
● Iesiri de control: semnale de avertizare sau atentionare a utilizatorului, prin care noi
putem sa controlam și indrumam utilizatorul prin funcționarea sistemului.(leduri, semnal
sonor)
4|Page
1.2.2 Determinarea resurselor (UE)
RESURSE:
1. Memorie ROM temperatura 3 bits
Ca intare, in memorii avem 3 swich-uri(vecor pe 3 beti), ca “adresa”, iar ca output,
avem un vector de 6 bits care, in functie de “adresa”, trasmite numerele 30,40,60,90(in binar)
care reprezinta temeperaturile in °C, la care functioneaza aottomatul. Output-ul v-a fi folosit
ulterior ca intrare intr-o alta componenta care va calcula durata programului.
5|Page
Aceasta componenta functioneaza ca un clock, in functie de intrarile date, in interiorul ei se
calculeaza timpul de incalzire al apei, iar cand aceasta s-a incalzit, outputul devine ‘1’ logic.
Aceasta componenta are ca intrare un semnal pe 8 biti care este numarul initial de la care incepe
numararea inversa.
6.7-segment afisor
Pentru afisarea duratii programului/ a timpului ramas din program avem nevoie ce o
componenta care traduce numarul de minute in 7-segment display. Aceasta primeste ca input un
semnal pe 8 biti. In interiorul componentei, semnalul se imparte in doua, un semnal reprezentand
numarul zecilor de minute celalt restul. Pentru a puutea fi afisate concomitent pe afisoare se va
realiza o iluzie optica: ochiul uman are rata de refresh in jur de 15 ns. Pe afisaore va aparea, pe
frontul ascendent al clock-ului va fi afisat numarul zecilor iar pe front descendent al 2 lea semal.
6|Page
7. Numarator 1 min usa inchisa.
Ca intrare avem “semnal Terminare program”, care este de tip std_logic, un semnal care
devine ‘1’ logic atunci cand programul de spalat se termina (numaratorul invers ajunge la 0),
functionand ca un enable pentru numarator. Dupa 60 se sec. semnalul de tip std_Logic “semnal
usa inchisa usa deschisa” se transforma in ‘1’ logic, acesta semnalizand printr un semnal led
deschiderea usii.
8.Divizor frecventa.
Clock-ul intern al placii pe care vom simula automatul este de 100Ghz avem nevoie de
un Divizor care primeste un clock la frecventa de 100ghz si o transforma la una de 1Ghz.Avem
nevoie de acesta componenta pentru a numara o sec. un min. real.
7|Page
2.2.1 schema bloc a primei descompuneri
8|Page
Figura 4 Organigrama unității de control
9|Page
2.2.3 Schema de detaliu a proiectul
1. Spălare rapidă - 30°C, viteza de 1200, fără prespălare, fără clătire suplimentară
10 | P a g e
Dupa selectarea programului, pe afisoarele 7- segment va fi afisata durata programului in
ore/minute.
Dupa pornirea programului, pe afisoare va fi asfisat programul ramas. Trebuie specificat
ca usa va ramane inchisa inca 1 min. dupa terminarea programului.
Automatul nu va incepe programul daca usa nu este inchisa, inchide usii se semnalizeaza
printr un swich.
6 Bibliografie
https://www.codeproject.com/Tips/444385/Frequency-Divider-with-VHDL-2
- Pentru divizorul de frecventa
https://surf-vhdl.com/how-to-implement-division-in-vhdl/
- Ajutor pentru impartirea sumei de minute care ajungea la decodificatorul si impatirea ei
in ore si minute.
https://didatec.sharepoint.com/sites/PSN2023-SeriaB/_layouts/15/stream.aspx?id=%2Fsites
%2FPSN2023-SeriaB%2FClass%20Materials%2FLucrari%20laborator%2FLucrarea
%206%20%28saptamana%2018.04.2023%20-%2021.04.2023%29%2FVideos
%2F3_Decodificator_Hex_la_7segmente.mp4&referrer=Teams.TEAMS-
ELECTRON&referrerScenario=teamsSdk-openFilePreview
https://www.electronicsforu.com/resources/7-segment-display-pinout-understanding
- Pentru intelegerea si implementare decodificatorului de la hexazecimal la 7-segment
display.
https://www.rapidtables.com/convert/number/decimal-to-binary.html
11 | P a g e
- Pentru transformarea numerelor din baza 10 in baza 2, in interiorul memoriilor dar si in
translatarea din hexa in 7 segment display.
https://app.diagrams.net/
- Pentru realizarea desenelor si ar organigramei.
12 | P a g e