SESTA LEZIONE: TRASMISSIONE DI DATI E COMANDI NEL SISTEMA IEEE-488

Documenti analoghi
SETTIMA LEZIONE: TRASMISSIONE DI DATI E COMANDI NEL SISTEMA IEEE-488

Dialogo tra strumentazione elettronica e calcolatore mediante protocollo IEEE-488

Strumentazione tradizionale vs. strumentazione virtuale

Il problema dello I/O e gli Interrupt. Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano

LabVIEW. Introduzione. Laboratory Virtual Instrument Engineering Workbench. Esempio di pannello frontale. Misure Elettroniche 1

Bus RS-232. Ing. Gianfranco Miele April 28, 2011

Laboratorio di metodi di acquisizione dati. Giorgio Maggi

Componenti e connessioni. Capitolo 3

Componenti principali

Interfacciamento di periferiche I/O al μp 8088

Periferiche CPU. Misure e Sistemi Microelettronici Sistemi 6-1 SREG. Data Bus Address Bus Control Bus

Gateway KNX/DALI 64/16 - da guida DIN GW Manuale Tecnico

Fondamenti sugli standard di interfaccia RS-232 e IEEE-488

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

Specifiche del protocollo di comunicazione semplificato per il modulo seriale di I/O

ISA Input / Output (I/O) Data register Controller

COMUNICAZIONE SERIALE a cura dell' Ing. Buttolo Marco

Input/Output (Cap. 7, Stallings)

Manuale tecnico. Rivelatore movimento IR con crepuscolare Easy GW GW GW

Università degli Studi di Cassino

Manuale tecnico. Remotizzatore GSM Easy GW

Modi di esecuzione user / kernel

Manuale tecnico. Attuatore comando motore 1 canale 8A Easy GW GW GW 14767

Area FA AE Specifica tecnica STM015 Cliente: FA AE

UNITA PERIFERICA DI TIPO PARALLELO - PIA MC 6821

OPEN DRIVE OPEN DRIVE

ELETTRONICA II. Prof. Dante Del Corso - Politecnico di Torino

Corso di Calcolatori Elettronici I

PROGRAMMAZIONE DELL ACE

LA GESTIONE DELLA I/O

Manuale tecnico. Pannello di comando e visualizzazione Easy GW TB - GW VT - GW VA

I dispositivi di input/output

Interfaccia KNX per contatore d energia - da guida DIN GW Manuale Tecnico

EFA Automazione S.r.l. Serial Bridge 3 - Modbus RTU slave to PICnet (01 ITA).doc pag. 1 / 8

Sistemi Operativi SISTEMI DI INPUT/OUTPUT. D. Talia - UNICAL. Sistemi Operativi 10.1

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

Lezione XII: La gestione delle eccezioni in MINIX

Tutorial: Configurazione scenario Commutazione dispositivi associati. Configurazioni svolte tramite controllore Z-Wave.Me customized by WiDom

Lab. Sistemi - Classe 5Bn A. S. 2000/2001 ITIS Primo Levi - Torino AA.AA. STANDARD SERIALE DI COMUNICAZIONE: RS232 Lo standard seriale di

Concetti base di acquisizione dati

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2

I seguenti luicidi sono tratti da: Paolo Corsini, Dalle porte AND OR NOT al sistema calcolatore, Edizioni ETS

Tipi di Bus. Bus sincrono. Comunicazioni nell elaboratore (e oltre) Bus sincroni e asincroni Standard commerciali (PCI,SCSI,USB)

La gestione dell I/O (Cap. 5, Tanenbaum)

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI

Corso di MODI DI INTERCONNESSIONE NEI SISTEMI

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!

EFA Automazione S.r.l. SB3Conf Help V1.00 (01 ITA).doc pag. 1 / 10

ESEMPIO DI SISTEMA AUTOMATICO DI MISURA

Sensore di temperatura/umidità KNX/Easy - da incasso. GW 1x762H. Manuale tecnico

Il multimetro HP 34401A (1)

La macchina di Von Neumann

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO:

Sistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel

Attuatore dimmer universale 1 canale KNX - da guida DIN GW Manuale tecnico

I circuiti dei calcolatori, le memorie, i bus. I fondamenti della rappresentazione dell informazione e della sua trasmissione ed elaborazione.

Generalità sui protocolli Tecniche di multiplazione Tecniche di accesso Tecniche di commutazione

Nicola Amoroso. Corso introduttivo sui microcontrollori A. S Il Bus I 2 C.

3.3 COLLEGAMENTO DEGLI STRUMENTI AL PC

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Docente Prof. Claudio De Capua Ing. Antonella Meduri

Università degli Studi di Bergamo

Il protocollo RS Introduzione. 1.2 Lo Standard RS-232

Sottosistemi ed Architetture Memorie

Il Sottosistema di Memoria

Attuatore 4 canali 10A Easy DIN GW Manuale tecnico

CALCOLATORI ELETTRONICI II

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi

Architettura dei Calcolatori Interfacce

CONTATORE DI ENERGIA TRIFASE INSERZIONE DIRETTA PM30D01KNX. Manuale D Uso

Interfaccia contatti in modulo DIN F428

Pulsantiera 6 canali Easy KNX. GW1x753. Manuale Tecnico

Architettura di un calcolatore

Lezione 15. L elaboratore Elettronico

Vincenzo Eramo. Wireless LAN (WLAN) INFOCOM Dept. WLAN: lo standard IEEE

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI

GW GW GW MANUALE TECNICO

Creazione di un flusso audio base tra dispositivi Barix

Architettura hardware

Capitolo 2: Strutture dei sistemi di calcolo

Il Microprocessore. Modello di Von Neumann

Manuale d uso e manutenzione

DIAGRAMMI TEMPORALI relativi all'esecuzione di una istruzione e agli accessi alla memoria:

L interfaccia più comune fra il computer (DTE) ed il modem (DCE) è la RS232,

Manuale istruzioni. art Manuale per l'installatore

Sono tipicamente causati da dispositivi hardware. normale flusso di esecuzione viene interrotto, e la CPU passa a gestire l interrupt

Buffer IR Ritardo trasmis. Buffer. processo SmartSwitch PCL Dimens. finestra SmartSwitch PS Modo NPA Veloc. baud max.

la trasmissione è regolata solamente dall algoritmo per il controllo del flusso prima di inviare l ACK.

Sistemi Operativi. La gestione delle risorse

Ciclo del Processore. Memoria

EEPROM SERIALI IN I2C BUS.

Elementi di informatica

Operazioni di I/O. Schema di collegamento fra dispositivi periferici e CPU

Il polling consiste nella scansione ciclica, da parte della CPU, di tutte le periferiche per verificare la disponibilità o meno alla comunicazione.

Il Sottosistema di Memoria

Interfacce parallele

17. Indirizzamento Multicast (IGMP)

Manuale operativo Multi azienda

Area FA AE Specifica tecnica STM009 Cliente: DATALOGIC

I dispositivi di input/output

Transcript:

Corso di Sistemi Automatici di Misura SESTA LEZIONE: TRASMISSIONE DI DATI E COMANDI NEL SISTEMA IEEE-488

Trasmissione di dati e comandi PROTOCOLLO DI TRASMISSIONE Lo scambio di dati tra le periferiche o l invio di comandi indirizzati da parte del controller, avvengono attraverso una procedura fissata dallo standard IEEE- 488, che prevede il succedersi di alcune fasi caratteristiche A seconda che la trasmissione avvenga tra periferiche talker e listener o tra controller e listener, il protocollo di trasmissione prevede fasi diverse CASO 1: TRASMISSIONE DI COMANDI INDIRIZZATI AD OPERA DEL CONTROLLER CASO 2: TRASFERIMENTO DI DATI FORNITI DA UN TALKER

Trasmissione di dati e comandi PROTOCOLLO DI TRASMISSIONE CASO 1: TRASMISSIONE DI COMANDI INDIRIZZATI AD OPERA DEL CONTROLLER Fase 1: selezione delle interfacce che dovranno ricevere la comunicazione (indirizzamento per funzionamento listener) In modalità ATN = TRUE (mod. command) il controller invia un comando di deselezione UNL che disattiva le periferiche che erano state indirizzate come listener in una operazione precedente In modalità ATN = TRUE (mod. command) il controller provvede a selezionare ed attivare le periferiche che prenderanno parte alla successiva operazione, trasmettendo i corrispondenti listen address

Trasmissione di dati e comandi PROTOCOLLO DI TRASMISSIONE CASO 1: TRASMISSIONE DI COMANDI INDIRIZZATI AD OPERA DEL CONTROLLER Fase 2: invio del comando multilinea indirizzato ai listener selezionati In modalità ATN = TRUE (mod. command) il controller pone il comando sulle linee DIO1-8 e successivamente pone fine alla trasmissione

Trasmissione di dati e comandi PROTOCOLLO DI TRASMISSIONE CASO 1: TRASMISSIONE DI COMANDI INDIRIZZATI AD OPERA DEL CONTROLLER ATN COMMAND MODE DIO UNL LAD1 LADn Comando DAV NRFD NDAC

Trasmissione di dati e comandi PROTOCOLLO DI TRASMISSIONE CASO 2: TRASMISSIONE DI DATI FORNITI DA UN TALKER Fase 1: selezione delle interfacce che dovranno ricevere la comunicazione (indirizzamento per funzionamento listener) e di quella che sarà sorgente della comunicazione (indirizzata come talker) In modalità ATN = TRUE (mod. command) il controller invia un comando di deselezione UNL che disattiva le periferiche che erano state indirizzate come listener in una operazione precedente In modalità ATN = TRUE (mod. command) il controller provvede a selezionare ed attivare le periferiche che prenderanno parte alla successiva operazione, trasmettendo i corrispondenti listen address In modalità ATN = TRUE (mod. command) il controller provvede a indirizzare la periferica che sarà sorgente di dati, trasmettendo il corrispondente talken address

Trasmissione di dati e comandi PROTOCOLLO DI TRASMISSIONE CASO 2: TRASMISSIONE DI DATI FORNITI DA UN TALKER Fase 2: il controller cede la trasmissione alla interfaccia indirizzata come talker nella fase 1 Questa fase ha inizio quando il controller impone ATN = FALSE (mod. data) Il talker porta sulle linee del data-bus il primo carattere da trasmettere ed inizia ad operare come sorgente di handshake Le sole periferiche indirizzate come listener (fase 1) partecipano alla temporizzazione della comunicazione operando come ricevitori di handshake La trasmissione dei caratteri costituenti il messaggio ha luogo in maniera analoga al caso precedente fino a quando il talker ha trasmesso l ultimo carattere

Trasmissione di dati e comandi PROTOCOLLO DI TRASMISSIONE CASO 2: TRASMISSIONE DI DATI FORNITI DA UN TALKER Fase 3: una volta terminata la trasmissione di dati da parte del talker, questo deve segnalare la terminazione dell operazione di trasmissione per consentire al controller di riprende la propria attività La segnalazione di fine trasmissione può essere fatta in due modi: 1)Il talker può fare uso della linea EOI: non è necessario che il controller si sia indirizzato come listener e pertanto non partecipa all handshake, potendosi dedicare ad altre attività. Esso riprenderà il controllo del sistema in conseguenza della segnalazione inviata dal talker tramite l EOI 2)Il talker può segnalare la fine trasmissione aggiungendo in coda al messaggio trasmesso una sequenza di caratteri prestabiliti che fungano da terminatore (solitamente LF+CR). In tal modo, per accorgersi della fine della trasmissione, il controller deve essersi indirizzato come listener, partecipando all handshake

Trasmissione di dati e comandi PROTOCOLLO DI TRASMISSIONE CASO 2: TRASMISSIONE DI DATI FORNITI DA UN TALKER ATN COMMAND MODE DATA MODE EOI DIO UNL LAD1 TADx Dato1 Dato2 CR LF DAV NRFD NDAC

Trasmissione di dati e comandi STRUTTURA DEI MESSAGGI I messaggi che vengono trasmessi tramite il bus hanno una struttura che è solo parzialmente definita dallo standard IEEE-488 Interface Message: Comandi per le interfacce, codificati dallo standard Device Message: Comandi e dati scambiati fra le periferiche, dipendenti dai progettisti delle periferiche. L IEEE-488 si limita a consigliare l uso dei caratteri ASCII per la trasmissione di dati alfanumerici, e nel caso di trasmissione dati in forma diversa (ad es. binaria a 8 bit), a prescrivere che il bit più significativo venga trasmesso mediante la linea DIO8

Trasmissione di dati e comandi Risultati di misura STRUTTURA DEI MESSAGGI La comunicazione dei risultati di misura può avvenire in due modi, a seconda del tipo di codifica che può essere binaria o decimale ONEROSA Il risultato di misura viene discretizzato su un certo numero di livelli dipendenti dal numero di bit utilizzato per la codifica Ad ogni carattere trasmesso (ad es. 8 bit) è associato un livello di tensione e quindi un risultato di misura (oscillosopi) Il risultato di misura viene inviato attraverso una sequenza di caratteri ASCII che compone un numero decimale Ad una sequenza di caratteri trasmessi (ad es. 1.356V) è associato un risultato di misura (multimetri, contatori, ecc.)

Trasmissione di dati e comandi Risultati di misura STRUTTURA DEI MESSAGGI Quando la trasmissione avviene secondo la codifica decimale, il talker può segnalare al controller la fine della propria attività facendo uso, indifferentemente, della commutazione della linea EOI oppure della sequenza dei caratteri terminatori prestabiliti Se la trasmissione avviene secondo la codifica binaria, la terminazione della trasmissione da parte del talker non può avvenire tramite caratteri terminatori. In tal caso infatti ad una sequenza di caratteri (ad es. CR LF) non è associata la terminazione del messaggio ma due livelli di tensione (risultati di misura).

Richiesta di servizio e procedure di interrogazione RICHIESTA DI SERVIZIO Le interfacce di alcune periferiche hanno la capacità di effettuare una richiesta di servizio attraverso la linea SRQ che viene monitorata dal controller La possibilità di generare una richiesta di servizio da parte di una periferica consente di interrompere l attività del controller in maniera asincrona, anche quando l interfaccia non è stata abilitata a comunicare mediante il data bus Le cause che possono provocare una richiesta di servizio sono molteplici: 1)alcune sono legate al verificarsi di condizioni anormali che, se ignorate, potrebbero ostacolare il corretto funzionamento del sistema: acquisizione di una misura fuori scala da parte di uno strumento 2)altre invece potrebbero derivare dal verificarsi di particolari condizioni del sistema: l ampiezza del segnale misurato supera una soglia predeterminata provocando la necessità di una immediata azione correttrice da parte del controller

Richiesta di servizio e procedure di interrogazione RICHIESTA DI SERVIZIO Quando una periferica di misura viene comandata per eseguire una misura, non si conosce in generale il tempo necessario per ottenere il risultato di misura. Pertanto, il bus verrebbe bloccato per tutto il tempo necessario allo strumento per eseguire e restituire la misura al controller Se invece si ricorre alla procedura di richiesta di servizio, il controller può dare inizio alla misura e, immediatamente dopo, ad altre attività sul bus (senza bloccarlo); lo strumento nel frattempo prosegue nelle misure e non appena il risultato sarà disponibile, lo segnala al controller attraverso la linea SRQ. A questo punto, alla prima occasione, il controller si farà restituire il dato indirizzando la periferica di misura come talker

Richiesta di servizio e procedure di interrogazione PROCEDURE DI INTERROGAZIONE Tutte le periferiche in grado di operare una richiesta di servizio agiscono sulla stessa linea SRQ (struttura party-line) Quindi il controller non può direttamente individuare quale periferica ha effettuato la richiesta Si rende necessaria una procedura di poll: 1)Sequenziale (serial poll): privilegia la capacità diagnostica del sistema 2)Contemporanea (parallel poll): privilegia la velocità

Richiesta di servizio e procedure di interrogazione SERIAL POLL Il controller si rivolge in maniera sequenziale alle diverse interfacce connesse al bus ricevendo da ciascuna il byte di status che ne riassume la condizione operativa Il serial poll è attivato dal controller mediante il comando (universale multilinea) SPE. A seguito di tale comando e fino all invio dell SPD, ogni periferica in grado di operare come talker risponde alla trasmissione del proprio TAD con un carattere che è il byte di status Lo standard IEEE-488 prevede che il carattere trasmesso dalla periferica che ha attivato la linea SRQ abbia il settimo bit allo stato logico vero. Tale bit, indicato con il nome di RSQ (Request), viene trasmesso sulla linea DIO7. Gli altri bit delle linee DIO, descrivono il motivo della richiesta di servizio mediante codifiche dipendenti dal tipo di periferica

Richiesta di servizio e procedure di interrogazione SERIAL POLL Il controller definisce la priorità da associare alle richieste, semplicemente stabilendo l ordine con cui indirizzare come talker le periferiche connesse al bus Principali caratteristiche del serial poll: 1)possibilità di interrogare tutte le periferiche collegate al sistema; 2)possibilità di capire (una volta individuata la periferica) le cause della richiesta di servizio (potente funzione diagnostica) 3)lenta se le periferiche da interrogare sono molte

Richiesta di servizio e procedure di interrogazione PARALLEL POLL La procedura di interrogazione è contemporanea per al massimo 8 periferiche Durante il parallel poll ogni interfaccia risponde alla interrogazione del controller riportando il proprio bit di status (RQS) su di una linea del data bus (ogni periferica può essere associata ad una data linea) Il controller, esaminando il data bus e conoscendo la corrispondenza fra le linee e le periferiche, individua l interfaccia che ha attivato la richiesta di servizio

Richiesta di servizio e procedure di interrogazione PARALLEL POLL I passi da svolgere per attivare il parallel poll: 1) Il controller deve trasmettere ad ogni periferica da configurare il comando indirizzato PPC seguito dal comando secondario PPE In tal modo per ogni interfaccia viene assegnata la linea e il corrispondente livello logico da assegnarle in caso si richiesta di servizio 2) Con ATN=True il controller porta la linea EOI allo stato logico vero Le interfacce precedentemente configurate rispondono in un tempo < 200 ns e il controller dopo 2 μs va a leggere il data-bus

Richiesta di servizio e procedure di interrogazione PARALLEL POLL Fino a quando il comando indirizzato PPD non disabiliterà singolarmente le interfacce, queste risponderanno al parallel poll in base alla configurazione ricevuta nella fase di abilitazione La trasmissione del comando universale PPU provoca la perdita della configurazione di tutte le periferiche precedentemente abilitate

Lo standard IEEE-488.2 Colma alcune lacune presenti nello standard IEEE-488.1: 1) Mancanza della definizione dello stato in cui viene a trovarsi uno strumento in caso di interruzione della trasmissione 2) Non definisce la condizione del buffer 3) Non definisce il comportamento che deve avere un dispositivo nel caso di carattere terminatore errato o mancante 4) Non definisce completamente la codifica dei dati ma consiglia solamente l utilizzo del codice ASCII 5) Non codifica gli interface capability code 6) Non codifica il contenuto dello status byte, ovvero la risposta della periferica al serial poll è lasciata al costruttore 7) Non specifica lo stato in cui deve portarsi un dispositivo in seguito ad un DCL. Inoltre il comando DCL nella IEEE-488.1 non è indirizzato

Lo standard IEEE-488.2 REQUISITI DELLA IEEE-488.2 1) Inclusione della standard IEEE-488.1 2) Obbligo di documentazione su ogni funzionalità del dispositivo 3) Introduzione di nuovi comandi, intermedi tra i comandi di interfaccia e i comandi di misura 4) Codifica dello status byte 5) Codifica completo del protocollo di trasmissione 6) Piena compatibilità anche hardware con la 488.1 (bus e connettore sono gli stessi)

Lo standard IEEE-488.2 REQUISITI DELLA IEEE-488.2.uno strumento 488.2 deve essere: 1) Source handshake 2) Acceptor handshake 3) Basic listener 4) Basic talker 5) Capace di generare un SRQ 6) Deve potere riconoscere il DCL e a seguito di tale comando portarsi in uno standard predefinito dallo standard

Lo standard IEEE-488.2 REQUISITI DELLA IEEE-488.2.un controller 488.2 deve avere le seguenti caratteristiche: 1) Monitoraggio e risposta agli SRQ 2) Invio di Interface Message 3) Controllo della comunicazione, ovvero piena capacità di: inviare il REN, gestire il parallel poll, inviare il GET

Lo standard IEEE-488.2 REQUISITI DELLA IEEE-488.2 Lo standard IEEE-488.2 definisce alcuni stati in cui si può trovare un dispositivo durante la comunicazione (codificati nello status byte): 1)IDLE: in attesa di mandare o ricevere un messaggio 2)READ: quando sta leggendo o eseguendo un messaggio 3)QUERY: mentre sta immagazzinando una risposta in seguito ad una domanda (ad es. meas?) 4)RESPONSE: è lo stato successivo a quello di QUERY. Indica che la risposta è pronta, e quindi lo strumento può essere indirizzato come parlatore 5)SEND: mentre sta inviando la risposta alla QUERY precedentemente ricevuta 6)DONE: dopo avere terminato l invio della risposta 7)DEAD LOCK: quando non può immagazzinare ulteriori misure a causa del buffer pieno 8)UNTERMINATED: quando riceve un comando incompleto (mancanza del carattere terminatore) 9)INTERRUPTED: quando per un qualunque motivo la trasmissione si è interrotta

Lo standard IEEE-488.2 REGISTRO DI STATO DEGLI EVENTI STANDARD Nel registro di stato degli eventi standard sono codificati 8 possibili eventi ad ognuno dei quali è associato un bit: se tale bit assume valore uguale a 1, il corrispondente evento si è verificato 7 6 5 4 3 2 1 0 Se si è interessati solo ad alcuni degli eventi standard si può pensare di mascherare alcuni eventi tramite il Register Event Status Enable 7 6 5 4 3 2 1 0

Lo standard IEEE-488.2 REGISTRO DI STATO DEGLI EVENTI STANDARD 7 6 5 4 3 2 1 0 AND EVENT STATUS BIT OR AND AND AND AND AND bit 5 dello status byte EVENT STATUS ENABLE AND AND 7 6 5 4 3 2 1 0 Leggendo il bit 5 dello status byte si può evitare di leggere il registro degli eventi standard

Lo standard IEEE-488.2 REGISTRO DI STATO DEGLI EVENTI STANDARD BIT 0: Operation complete, tutti i comandi inviati prima di un *OPC sono stati eseguiti BIT 1: Request control, nonusato BIT 2: Query Error, problemi col buffer BIT 3: Device Dependent Error, dipendente dalla parte strumentale BIT 4: Execution Error, lo strumento ha ricevuto il comando ma non lo ha riconosciuto BIT 5: Command Error, errore di sintassi BIT 6: User Request, non usato BIT 7: Power On, registro di stato letto prima o dopo uno spegnimento

Lo standard IEEE-488.2 Inviati in modalità ATN=False COMANDI OBBLIGATORI COMANDI DI FUNZIONE COMANDI OPZIONALI I DEVICE COMMANDS Tutti i comandi sono preceduti da un * e le query sono terminate con un?

Lo standard IEEE-488.2 I DEVICE COMMANDS *IDN (Identification): comando inviato al dispositivo per identificarlo *WAI (Wait to continue): pone in attesa un dispositivo in modo da ottenere una sincronizzazione con gli altri dispositivi, qualora si voglia mandare un GET a tutti *ESR? (Event Status Read): query per la lettura del registro degli eventi standard *IST? (Individual Status Query): parallel poll indirizzato *PCB (Pass Control Back): permette ad un controller che non sia System Controller di riprendere il controllo dopo averlo ceduto *DLF (Disable Listener Function): è un UNL indirizzato e può essere inviato oltre che da un controller, anche da un talker *SAV (Save): salva lo stato corrente del dispositivo