Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Diagramma degli stati

Elettronica lineare e digitale: didattica ed applicazioni

Moderatori: Foto Utentecarloc, Foto Utenteg.schgor, Foto UtenteBrunoValente, Foto UtenteIsidoroKZ

0
voti

[1] Diagramma degli stati

Messaggioda Foto UtenteShika93 » 13 feb 2014, 16:17

Ho un dubbio sulla costruzione del diagramma degli stati (questo per intenderci)

E' una sciocchezza farli se si ha la tabella della verità con stato presente, input e stato futuro.
Ma se non mi viene data, come faccio a ricavarlo da un qualunque circuito?

Noi abbiamo fatto diversi esempi tipo con FF J-K, D ecc dove le tabelle le si hanno già; ma se non ho niente, mi viene chiesto di progettare un qualunque circuito sequenziale che deve fare un certo lavoro, non penso che mi venga data la tabella degli stati, ma solo qual è lo scopo del circuito che devo realizzare.
Avatar utente
Foto UtenteShika93
282 1 5 7
Expert
Expert
 
Messaggi: 848
Iscritto il: 30 dic 2013, 21:28

1
voti

[2] Re: Diagramma degli stati

Messaggioda Foto Utenteg.schgor » 13 feb 2014, 17:00

Il diagramma degli stati deve essere ricavato dalla descrizione dettagliata
delle sequenze da realizzare (chiamata in gergo " specifica" e redatta
in genere dal committente).
E' indubbiamente uno dei punti critici, in quanto una descrizione a parole
non è quasi mai interpretabile univocamente. Sta nell'esperienza del
progettista del dispositivo individuare eventuali alternative e giungere
ad una sequenza definita.
Avatar utente
Foto Utenteg.schgor
57,8k 9 12 13
G.Master EY
G.Master EY
 
Messaggi: 16971
Iscritto il: 25 ott 2005, 9:58
Località: MILANO

0
voti

[3] Re: Diagramma degli stati

Messaggioda Foto UtenteShika93 » 13 feb 2014, 18:35

Quindi mi viene sempre data sempre la tabella degli stati?
Per esempio, se mi si chiede di progettare un contatore modulo 8, la tabella degli stati me la posso ricavare io perché non devo fare altro che quando ho lo stato presente a 000 devo andare in 001; quando ho lo stato presente a 001 devo andare in 010 e così via; ma se mi si chiede qualcosa di più complessa chessò tipo progettare un ascensore, devo avere già la tabella o me la devo ricavare in qualche modo?
Avatar utente
Foto UtenteShika93
282 1 5 7
Expert
Expert
 
Messaggi: 848
Iscritto il: 30 dic 2013, 21:28

1
voti

[4] Re: Diagramma degli stati

Messaggioda Foto UtenteShika93 » 13 feb 2014, 20:41

Per esempio, ho trovato un esercizio d'esame.

Progettare una rete sequenziale che riveli la presenza delle sequenze 001 e 010, anche sovrapposte. La rete ha un solo ingresso I e una sola uscita U che vale 1 se rivela una delle due sequenze, e vale 0 altrimenti.

a)Costruire il diagramma degli stati
b)Minimizzare gli stati
c)Codificare gli stati e fare la sintesi della rete con FFT

esempio:
I=1101100100110100...
U=0000000110100010...

Io il punto a l'ho fatto così (non è completo)


Dove gli stati A=0; B=0; C=1; D=1; E=0

Non è completo nel senso che mancano i rimanenti stati ma non saprei come e dove metterli.
Avatar utente
Foto UtenteShika93
282 1 5 7
Expert
Expert
 
Messaggi: 848
Iscritto il: 30 dic 2013, 21:28

5
voti

[5] Re: Diagramma degli stati

Messaggioda Foto UtenteDanteCpp » 13 feb 2014, 23:14

Supponiamo di dover progettare un'ascensore per un palazzo di 3 piani [0:2], l'ascensore è dotato di 4 tasti. Il tasto "0" porta al piano terra o ci rimane se si è già la, cosi via per il tasto "1" e "2". In'oltre c'è un tasto speciale "E", emergency. Quest'ultimo stato porta l'ascensore al piano terra e impedisce ogni suo futuro movimento.

un ottimo strumento matematico, per definire il comportamento del nostro ascensore sono gli automi a stati finiti, di cui puoi trovare una definizione formale in quest' articolo: http://www.electroyou.it/dantecpp/wiki/automi-e-linguaggi-formali.

Il primo passo è identificare l'insieme degli stati dell'FSA (Finite State Automaton), quest'insieme ha un'elemento per ogni possibile configurazione in cui si può trovare l'ascensore.

Esso può:
1) essere al piano terra con la possibilità di muoversi (P0)
2) essere al primo piano con la possibilità di muoversi (P1)
3) essere al secondo terra con la possibilità di muoversi (P2)
4) essere bloccato al piano terra (EE)

Quindi definiamo l'insieme degli stati Q = {P0,P1,P2,EE}.

Il secondo passo della definizione dell'automa è identificare il suo alfabeto, esso coincide con le etichette dei tasti dell'ascensore.
Quindi \Sigma = {0,1,2,E}.

L'ultimo passo è definire la funzione di transizione \delta, ragionando in questo modo:

Se siamo al piano terra e premiamo il tasto 0, restiamo al piano terra; quindi P0 = \delta(P0,0).
Se siamo al piano terra e premiamo il tasto 1, finiamo al primo piano; quindi P1 = \delta(P0,1).
Se ci troviamo in \forall q \in \{ Q \setminus EE \} allora EE = \delta(q,E).

E cosi via!

In fine tracciamo il graffo dell'automa (Q,\Sigma,\delta):



In effetti si potrebbe anche disegnare direttamente il graffo a stati; ma se cerchi un'algoritmo, bé, tutti questi formalismi potrebbero aiutarti a costruirti un buon schema mentale.

Dante.
Avatar utente
Foto UtenteDanteCpp
4.730 3 9 13
Master EY
Master EY
 
Messaggi: 1106
Iscritto il: 15 dic 2011, 18:51

0
voti

[6] Re: Diagramma degli stati

Messaggioda Foto UtenteShika93 » 14 feb 2014, 0:31

Giusto una cosa sul grafo. Se sono in EE con ingresso E dovrei andare in P0 no?
perché è al contrario lì? Cioè da P0 con ingressoE vado in EE?

Tornando al mio esempio, mi mancherebbero quindi gli stati di "reset" che fanno tornare il sistema al punto di partenza una volta identificata la sequenza?

Che sarebbe cioè la freccia che da B va ad A, da C torna ad A (riconosciuta la prima sequenza, quindi resetto);
da B torna ad A (quando trovo un 1) e da A resto in A (quando trovo un 1)

Avatar utente
Foto UtenteShika93
282 1 5 7
Expert
Expert
 
Messaggi: 848
Iscritto il: 30 dic 2013, 21:28

0
voti

[7] Re: Diagramma degli stati

Messaggioda Foto UtenteDanteCpp » 14 feb 2014, 1:06

P0 non rappresenta il piano terra, bensì rappresenta l'ascensore che si trova al piano terra con la possibilità di muoversi. Mentre lo stato EE designa l'ascensore che si trova al piano terra senza possibilità di muoversi.

Per quanto riguarda il tuo esercizio avrei una domanda, l'esempio che hai postato faceva parte della specifica oppure l'hai aggiunto tu?
Avatar utente
Foto UtenteDanteCpp
4.730 3 9 13
Master EY
Master EY
 
Messaggi: 1106
Iscritto il: 15 dic 2011, 18:51

0
voti

[8] Re: Diagramma degli stati

Messaggioda Foto UtenteShika93 » 14 feb 2014, 1:12

Ah si ok, mi era sfuggita sta cosa.

No, l'esempio non l'ho fatto io. C'era scritto sotto i tre punti. L'ha messo il prof.
Il fatto è che non capisco che prosegue così in maniera periodica oppure cambia ogni volta. Neanche i tre puntini ho inventato io...

Alla fine le sequenze sono queste
Immagine
Avatar utente
Foto UtenteShika93
282 1 5 7
Expert
Expert
 
Messaggi: 848
Iscritto il: 30 dic 2013, 21:28

2
voti

[9] Re: Diagramma degli stati

Messaggioda Foto UtenteDanteCpp » 14 feb 2014, 1:48

Penso che i puntini indichino che la stringa possa essere arbitrariamente lunga, ma sempre costruita sull'alfabeto 0,1. Prova a vedere il seguente automa con output, che ho sintetizzato. Se non m'è sfuggito qualcosa dovrebbe rispettare la specifica!

Avatar utente
Foto UtenteDanteCpp
4.730 3 9 13
Master EY
Master EY
 
Messaggi: 1106
Iscritto il: 15 dic 2011, 18:51

1
voti

[10] Re: Diagramma degli stati

Messaggioda Foto Utentec1b8 » 14 feb 2014, 11:32

Potrei sbagliare, ma quando sono in D e ricevo uno '0' io sarei rimasto in D, non sarei tornato in A.
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

Prossimo

Torna a Elettronica generale

Chi c’è in linea

Visitano il forum: Nessuno e 46 ospiti