spacer.png, 0 kB

Torna indietro   Roboitalia.com - Il primo portale in Italia sulla robotica amatoriale > Robotica di base > Elettronica > E. Digitale

Rispondi
 
Strumenti discussione Modalità  visualizzazioe
  #1  
Vecchio 02-11-2008, 17.29.44
Automa-MK105J Automa-MK105J non è collegato
Nuovo robottaro
 
Data registrazione: 02-11-2008
Residenza: Genova
Messaggi: 6
Potenza reputazione: 0
Automa-MK105J E' per ora ancora un mistero
Predefinito Implementare macchine a stati finiti

Buongiorno a tutti.

Forse non è un argomento attinente a questo forum... però ho visto che si parla di elettronica digitale...

Un po' di tempo fa avevo studiato come progettare le macchine a stati finiti mediante un diagramma di flusso, creato con un programma fornito dall'università a cui appartengo. Adesso mi piacerebbe capire come poter implementare realmente le macchine a stati finiti, con reti combinatorie e sequenziali, sia col metodo di Moore sia con quello di Mealy, partendo dal semplice diagramma di flusso. Ho cercato vari appunti su internet, in cui venivano utilizzate prevalentemente delle tabelle di verità, ma non ne ho capito molto.

Per entrare nel particolare, vorrei proporvi questa macchina a stati finiti:

Citazione:
La macchina a stati finiti riceve in ingresso una linea seriale IN, sulla quale sono trasmesse delle sequenze di bit, sincrone con il clock CLK del dispositivo. La MSF genera le uscite RDY ed ERR, e controlla (mediante i segnali S1, R1, S2 e R2) due FF-SR asincroni, che generano le uscite U1 e U2.

Le sequenze sono costituite da pacchetti seriali di cinque bit. Ciascun pacchetto inizia sempre con il primo bit a "1" (bit di start) e termina normalmente con il quarto e il quinto bit a "0" (bit di stop). In assenza di trasmissione la linea si trova al valore logico zero. I due bit ricevuti dopo il bit di start e prima dei due bit di stop rappresentano l’informazione trasmessa: il dispositivo deve ricopiare i due bit, nell’ordine di ricezione, sulle uscite U1 e U2, mantenendoli fino alla ricezione del successivo pacchetto. Se la sequenza ricevuta si conclude correttamente con il quarto e il quinto bit a "0", la MSF attiva l’uscita RDY, altrimenti l’uscita ERR. Sia RDY che ERR saranno mantenute attive fino all’inizio della ricezione della prossima sequenza.
Il diagramma di flusso che ho scritto per tale MSF è il seguente:



Prima ho creato un blocco di stato vuoto, poi ho eseguito il controllo del bit di start e ho resettato i due FF, in modo da non aver brutte sorprese durante l'esecuzione della macchina. In tutto sono 9 blocchi di stato.

Il programma con cui ho scritto il diagramma di flusso mi suggerisce di implementare questi 9 blocchi di stato con 4 registri a scorrimento. Come posso implementare tale macchina? Quali tipi di FF sarebbe meglio utilizzare?

Ringrazio in anticipo per le risposte.

Ultima modifica di Automa-MK105J : 02-11-2008 alle ore 17.39.04
Rispondi citando
  #2  
Vecchio 02-11-2008, 22.43.09
flameman flameman non è collegato
Robottaro gold
 
Data registrazione: 01-06-2008
Residenza: milano
Messaggi: 167
Potenza reputazione: 54
flameman E' per ora ancora un mistero
Predefinito

Io devo implementare macchine a stati finiti (fsm) in linguaggio VHDL
di qui potro' sintetizzarmi la fsm su silicio tramite fpga/cpld (di Altera o Xilinx).

Se ti studi VHDL dovresti imbatterti immediatamente nelle fsm, e con i tutorial vedrai fin da subito come si implementano sulle moderne tecnologie a "logica programmabile" (CPLD e FPGA)

Per esempio io ho scelto le cpld di altera e le fpga di xilinx ... con le prime (cpld) mi sono posto l'obiettivo di realzziare una fsm per gesitire un periferico di un bus molto complicato della motorola semiconduttori (oggi freescale).



p.s.
Se non dovesse piacerti il VHDL, esiste anche il systemC ... ed eventualmente altri ... VHDL e systemC sono i + diffusi.

Ultima modifica di flameman : 02-11-2008 alle ore 22.45.53
Rispondi citando
  #3  
Vecchio 03-11-2008, 05.57.38
Automa-MK105J Automa-MK105J non è collegato
Nuovo robottaro
 
Data registrazione: 02-11-2008
Residenza: Genova
Messaggi: 6
Potenza reputazione: 0
Automa-MK105J E' per ora ancora un mistero
Predefinito

Ti ringrazio per la risposta, ma il VHDL da te consigliato è un linguaggio di programmazione. A me non interessa un linguaggio di programmazione (per descrivere le MSF utilizzo già un diagramma di flusso), ma volevo sapere come tale diagramma di flusso può essere trasformato in reti di porte logiche.

Il compilatore VHDL ti scrive da quali porte logiche è composto e come sono collegate?

Comunque, io non voglio usare linguaggi di programmazione, solo capire come posso trasformare il diagramma in porte logiche usando una tabella degli stati e capire con quali e con quanti FF è meglio creare la MSF.

Ultima modifica di Automa-MK105J : 03-11-2008 alle ore 06.13.16
Rispondi citando
  #4  
Vecchio 03-11-2008, 09.39.23
flameman flameman non è collegato
Robottaro gold
 
Data registrazione: 01-06-2008
Residenza: milano
Messaggi: 167
Potenza reputazione: 54
flameman E' per ora ancora un mistero
Predefinito

ah, non hai in mente una applicazione pratica ma e' diciamo un voler capire come funzionano le cose

il VHDL produce in uscita un bit stream, il quale e' un collegamento funzionale delle varie celle (e del loro comportamento) che compongono il dispositivo a logica programmabile ...

... il problema (a parte il fatto che un compilatore VHDL si preoccupa lui di fare coverage test, di minimizzare, ecc ecc) il problema e' che in uscita produce un bit stream e questo e' terribilmente complesso da decodificare per quello che vorresti sapere tu (ovvero ricostruire il circuito in modo esatto, con componenti "base", a partira dalla sua descrizione)

a questo punto, la cosa che chiedi si riduce al capire come giostare una macchina composta da una parte sequenziale ed una parte con memoria (dello stato passato) ... il tutto implementabile o tramite flipflop + un tot di circuiti logici sequenziali (sintetizzati in vari modi .. o per meglio dire con vari metodi) ... o addirittura si potrebbe pensare di implementare una tiniFSM (tini=8 stati, 4 ingressi, 8 uscite ...) con una memoria (per esempio una fastram, si quelle presenti come cache sui vecchi 486 ... sono statiche, lineari, e hanno 15nesc di accesso), mappandone opportunatamente tutto lo spazio combinazioni (compresi gli stati) ...


in definitiva sono cose di cui mi sono accupato molto (forse anche troppo) tempo fa ai corsi di "calcolatori" tenuti al politecnico di milano febbraio-maggio 2003


F. Fummi, M. Sami, C. Silvano, "Progettazione Digitale", Collana di Istruzione Scientifica, Serie di Informatica, McGraw-Hill, Febbraio 2002 (sito web: www.ateneonline.it/fummi).

Cap.5 e 6:

Macchine a stati finiti (FSM) sincrone:
Macchine di Mealy e Macchine di Moore
Modello di Huffman di un circuito sequenziale
Introduzione alla sintesi di FSM sincrone

Sintesi di FSM sincrone
Minimizzazione degli stati per FSM sincrone completamente specificate

Bistabili sincroni e asincroni
Registri a scorrimento; bistabili master-slave
Progetto di contatori sincroni e asincroni

Esempi sulla minimizzazione degli stati per FSM sincrone completamente specificate
Assegnamento degli stati nelle FSM sincrone

Minimizzazione di FSM sincrone non completamente specificate
Esempi Sintesi di FSM sincrone non completamente specificate

Macchine sequenziali asincrone in modo impulsivo con uscite impulsive.
Macchine sequenziali asincrone in modo impulsivo con uscite a livelli.

Macchine sequenziali asincrone in modo fondamentale

Ultima modifica di flameman : 03-11-2008 alle ore 09.53.14
Rispondi citando
  #5  
Vecchio 03-11-2008, 10.09.05
Automa-MK105J Automa-MK105J non è collegato
Nuovo robottaro
 
Data registrazione: 02-11-2008
Residenza: Genova
Messaggi: 6
Potenza reputazione: 0
Automa-MK105J E' per ora ancora un mistero
Predefinito

La ringrazio per avermi suggerito un libro da cui potrò ricavare le informazioni che mi interessano. Lo andrò a comprare appena potrò. Scusi per essermi permesso di darle del tu, pensavo fosse uno studente come me.

Buona giornata.
Rispondi citando
  #6  
Vecchio 03-11-2008, 11.08.07
flameman flameman non è collegato
Robottaro gold
 
Data registrazione: 01-06-2008
Residenza: milano
Messaggi: 167
Potenza reputazione: 54
flameman E' per ora ancora un mistero
Predefinito

Citazione:
Orginalmente inviato da Automa-MK105J Visualizza messaggio
La ringrazio per avermi suggerito un libro da cui potrò ricavare le informazioni che mi interessano. Lo andrò a comprare appena potrò. Scusi per essermi permesso di darle del tu, pensavo fosse uno studente come me.

Buona giornata.

ahahahah ma lo sono: oddio, a dire il vero "ex" studente, cmq da poco
ergo dammi pure del tu
Rispondi citando
  #7  
Vecchio 18-11-2008, 19.08.03
flameman flameman non è collegato
Robottaro gold
 
Data registrazione: 01-06-2008
Residenza: milano
Messaggi: 167
Potenza reputazione: 54
flameman E' per ora ancora un mistero
Predefinito

Progettazione di una macchina a stati finiti (Mealy)
1 Il metodo
2 Un semplice esempio di applicazione
3 La simulazione
4 Considerazioni


here it is: http://www.electroportal.net/g.schgor/wiki/articolo6
Rispondi citando
  #8  
Vecchio 18-11-2008, 20.16.33
Automa-MK105J Automa-MK105J non è collegato
Nuovo robottaro
 
Data registrazione: 02-11-2008
Residenza: Genova
Messaggi: 6
Potenza reputazione: 0
Automa-MK105J E' per ora ancora un mistero
Predefinito

Citazione:
Orginalmente inviato da flameman Visualizza messaggio
Progettazione di una macchina a stati finiti (Mealy)
1 Il metodo
2 Un semplice esempio di applicazione
3 La simulazione
4 Considerazioni


here it is: http://www.electroportal.net/g.schgor/wiki/articolo6
Ti ringrazio per il link, ma la persona che ha movimentato tutti sulle macchine a stati finiti, in tutti i siti possibili e immaginabili, sono stato io... il metodo delle tabelle non lo capivo... infine ho chiesto su Roboitalia e mi è arrivata la risposta che desideravo: un buon libro (la cosa migliore), che per altro è fatto molto bene.
Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione
Modalità  visualizzazioe

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code è Attivato
Le smilies sono Attivato
[IMG] è Attivato
Il codice HTML è Disattivato

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
come utilizzare macchine cnc andreaing Meccanica e materiali 5 16-09-2010 19.24.19
Analizzatore stati logici blair E. Digitale 1 17-07-2010 17.58.22
macchine da corsa icehat Forum generale 7 03-01-2010 19.38.53
Implementare Fotocamera cellulare Kerkam Elettronica 5 09-11-2009 13.51.07
Inversione di stati fuzzy Elettronica 26 03-09-2003 12.13.20


Tutti gli orari sono GMT. Adesso sono le: 06.34.28.


Basato su: vBulletin Versione 3.8.8
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Realizzazione siti web Cobaltica Foligno
spacer.png, 0 kB