Progetto d Esame. Andrea Asta

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Progetto d Esame. Andrea Asta"

Transcript

1 Progetto d Esame Andrea Asta

2 Andrea Asta 5A INFO 2

3 Autore del fascicolo...2 Sommario Descrizione del progetto Descrizione generale Realtà di riferimento Formato delle statistiche Componenti del progetto Materiali per il progetto Software Microcontrollori e PIC 16F877A Microcontrollori in generali Descrizione generale PIC 16F877A Memoria RAM Registro STATUS (03h-83h) Registro OPTION Registro INTCON Alimentazione e Clock Configuration Word Code Protection PowerUp Timer WatchDog Timer Oscillator Type BrownOut Reset Circuito di Reset Gestione delle porte Programmazione delle porte Gestione dei Timer Timer Interrupt Modulo USART Programmazione del PIC Trasmissione Seriale Asincrona La trasmissione in generale La trasmissione seriale asincrona Standard RS232/C Trasmissione RS232 con PIC 16F877A Registro TXSTA Registro RCSTA Registro SPBRG Comunicazione asincrona con PIC 16F877A Programmazione RS232 in Windows Interrupt BIOS API Windows Interfacciamento PIC/PC Display LCD Hitachi HD Standard Hitachi HD Test a secco del display Interfacciamento con un microcontrollore

4 5. Circuito di alimentazione Alimentazione doppia Stabilizzatori Dissipazione Database MySQL e Interfaccia Web Database in generale Progettazione di una base di dati Database MySQL Linguaggio PHP Sviluppo del progetto Rilevazione delle statistiche Schema del sistema Circuito elettronico Protocollo di comunicazione PIC-PC Firmware del microcontrollore Software di salvataggio Progettazione della base di dati Formulazione del problema Diagramma E/R Modello Relazionale Creazione Tabelle in MySQL Amministrazione del sistema Accesso agli Scout Significato delle Statistiche Conclusioni Conclusioni Bibliografia English Description General Description Microcontrollers LCD Displays MySQL Databases The PHP Language Project Creation Conclusions

5 Scopo del progetto è la realizzazione di un sistema completo di rilevazioni statistiche relative ad una partita di pallavolo. Il sistema si compone di: Un dispositivo portatile per la rilevazione durante la partita Un software per calcolatori elettronici (PC) che permetta il download dei dati dal dispositivo Un software lato server che permetta l archiviazione e la consultazione online di tutti i dati archiviati sulla base di dati Sul mercato esistono molti software di rilevazione statistiche, anche di qualità molto elevata. Tuttavia, essi hanno nel complesso alcuni difetti: I software sono creati appositamente per essere utilizzati con un calcolatore, il che si traduce generalmente nell utilizzo di un computer portatile. Questo implica che il rilevatore (Scoutman) debba possedere un computer portatile (realtà non così scontata); inoltre, è necessaria una certa abilità nella pressione dei tasti (durante una partita, è bene non osservare la tastiera, per evitare di perdere delle azioni). Altri software utilizzano invece i palmari, posseduti in quantità ancora minore e più complessi da usare per la ridotta dimensione dei tasti. I software presenti sul mercato sono molto costosi (basi guardare e, pertanto, risultano inaccessibili per la maggior parte delle società sportive di medio basso livello. La continua evoluzione dello sport pallavolistico ha reso sempre più necessario l ausilio di un sistema coerente di valutazione della prestazione, ottenibile solamente attraverso un sistema di rilevazioni statistiche durante le gare. Infatti, senza uno strumento di rilevazione, l unico metodo per la valutazione della prestazione è l impressione dell allenatore, il quale, ovviamente, può compiere errori causati dall importanza soggettiva data a particolari azioni. Si pensi a questo esempio: un giocatore, nell arco di una partita, compie venti attacchi vincenti; tuttavia, nel punto decisivo della gara compie un errore grossolano (ad esempio, batte sotto la rete). L impressione più classica che rimane nella mente dei giocatori e, purtroppo, di molti allenatori, è abbiamo perso per colpa sua. Allo stesso modo, un giocatore che abbia effettuato venti attacchi a rete, ma, nel momento cruciale, abbia effettuato un importante recupero in tuffo, sarà visto come un eroe, salvatore della squadra. Una corretta rilevazione statistica, invece, porterebbe ad affermare che la prestazione del primo giocatore è stata ottima, quella del secondo pessima. Ogni giocatore deve essere valutato per la prestazione nel suo complesso, non solo per i momenti che rimangono più impressi nella mente umana. Mentre società importanti, con fondi molto elevati, possono disporre di software avanzati, le società di livello medio basso hanno necessità di rilevazioni statistiche a basso costo. La strategia 5

6 attualmente utilizzata è quella della rilevazione manuale: lo Scoutman si occupa della rilevazione con carta e penna e, una volta terminata la gara, rielaborerà manualmente tutti i dati. Questa operazione, per quanto economica, è comunque scomoda e rende il lavoro dello Scoutman troppo oneroso. Ci sono almeno due modifiche apportabili al sistema: Automatizzazione della paginazione dei dati, con salvataggio su una base di dati Automatizzazione della rilevazione dei dati, con eventuale possibilità di consultazioni al volo durante il match, per rilevare, ad esempio, quale giocatore sta andando meglio e quale sta andando peggio L idea alla base del progetto è, quindi, la realizzazione di un sistema automatizzato di rilevazione, dove la parola d ordine è contenere i costi. In linea generale, il progetto, nel suo complesso, non dovrebbe superare i 100 di costo. Chiaramente, per ridurre i costi, non si potrà pretendere una rilevazione troppo dettagliata. Come detto, i costi del progetto dovranno risultare ridotti, a scapito della profondità dell analisi statistica. In particolare, la prima decisione presa in merito al progetto è la seguente: si analizzeranno solamente quattro tipologie di azione: 1) Battuta 2) Ricezione 3) Attacco 4) Contrattacco La battuta è il mezzo per cui un azione prende il via. a ricezione è riferita alla battuta. I fondamentali di attacco e contrattacco, generalmente riassunti nell espressione generale schiacciata, partono in realtà da presupposti molto diversi (l attacco parte da una ricezione, pertanto da condizioni favorevoli; il contrattacco parte da una difesa, quindi da condizioni più scomode). Tutte le altre tipologie di azione saranno ignorate: del resto, questa restrizione non è troppo limitante per la maggior parte delle squadre di livello medio basso, che sono esattamente il target di individui a cui è rivolto il sistema. Per ognuno di questi fondamentali, si assegnerà una valutazione, da 1 a 4: 1) Esecuzione perfetta o Punto diretto 2) Esecuzione buona 3) Esecuzione scarsa 4) Errore diretto Ogni fondamentale ha una diversa interpretazione di ogni valutazione, anche se la linea guida è quella appena illustrata, ossia 1 equivale alla perfezione e 4 all errore. La tabella seguente riassume l interpretazione esatta di ogni valutazione, in relazione all azione in esame; va tuttavia precisato che il progetto non darà alcuna interpretazione diretta dei dati, quanto meno a livello di dispositivo. Questo implica che ogni allenatore avrà totale facoltà di ribaltare l interpretazione dei dati e fornirne una personale. 6

7 1 Punto diretto Ricezione perfetta Punto diretto Punto diretto 2 Ricezione Difesa complicata Difesa complicata Ricezione spostata ma avversaria da parte da parte comunque giocabile imprecisa dell avversario dell avversario 3 4 Ricezione agevole degli avversari Errore diretto o fallo Ricezione imprecisa o nel campo avverso Errore diretto Difesa agevole per l avversario Errore diretto o fallo Chiaramente, per ogni azione, è anche necessario memorizzare il giocatore che l ha eseguita. La statistica completa, quindi, assumerà una forma del tipo Giocatore Azione Valutazione Compito del dispositivo sarà quindi quello di interpretare le espressioni che riceve, memorizzarle su una memoria di massa (possibilmente non volatile, in modo da non perdere tutte le informazioni in caso di mancanza improvvisa ed accidentale di alimentazione) e provvedere a mandarle ad un computer quando richiesto. Il progetto si compone di questi elementi: Un dispositivo elettronico per la rilevazione durante la partita, che si compone di: o Un microcontrollore PIC 16F877A o Una tastiera per la lettura dei dati o Un display LCD per la visualizzazione dei dati o Un buzzer di segnalazione di errori o Un tasto di Reset o Alimentazione tramite Pila da 9V o corrente elettrica Un software per PC che compia queste operazioni o Riceva tramite porta COM (RS232/C) i dati del dispositivo o Invii al dispositivo un comando di svuotamento della memoria o Salvi i dati su una base di dati MySQL Un software lato server in PHP che permetta di: o Amministrare i dati della base di dati o Visualizzare tutte le statistiche disponibili I dati dovranno poter essere consultati durante il match e dovrà essere garantita la loro integrità anche in caso di mancanza improvvisa di alimentazione. Per questo è fondamentale che i dati siano salvati su una memoria non volatile. Difesa agevole per l avversario Errore diretto o fallo 7

8 Componentistica discreta utilizzata: 1 * PIC 16F877A 2 * Condensatori ceramici 100nF (alimentazione) 1 * Oscillatore al quarzo da 20MHz 2 * Condensatori ceramici 33pF (oscillatore) 1 * Resistore 4k7 (reset) 1 * Pulsante Toggle 1 * Tastierino esadecimale 4 * Resistore 4k7 (tastierino) 4 * Diodi Schotty 1A (tastierino) 1 * Display LCD modulo Hitachi TLC * Trimmer monogiro 5k (contrasto LCD) 1 * Buzzer da 5V 1 * Resistore 270 (led) 1 * Led rosso da 1.7V 1 * I.C. Maxim MAX232 4 * Condensatori al tantalio 10 F (MAX232) 1 * I.C in contenitore TO-220 (stabilizzatore) 2 * Condensatori ceramici 100nF (stabilizzatore) 1 * Condensatore al tantalio 10 F (alimentazione) 1 * Connettore seriale femmina DIP-9 1 * Connettore femmina per alimentatori 8 * Strip angolari maschi (keypad) 1 * Connettore maschio 14poli per cavo Flat (LCD) 1 * Portapila fisso per pila da 9V 1 * Diodo Schotty 1A (protezione pila) 1 * Interruttore switch (pila) Altra strumentazione necessaria: 1 * Cavo seriale dritto maschio femmina 9 contatti 1 * Cavo Flat 14 poli con connettori femmina (LCD) 1 * Cavo Flat 8 poli SIP (Keypad) Software utilizzato per lo sviluppo: Microchip MPLAB con Hi-Tech PICC PIC PGM Programmer EasyPHP 1.8 Notepad++ Software per il testing della parte software: Windows HyperTerminal Software per lo sviluppo del circuito integrato: Protel 99 SE Software per disegni, schematici e relazione: Microsoft Office Word XP RFFlow 8

9 Un microcontrollore è un dispositivo elettronico contenente: Un microprocessore Una memoria non volatile (ROM, EPROM, FLASH) per i programmi Una memoria volatile (RAM) per i registri e i dati Uno o più Timer Una serie di periferiche (variano da controllore a controllore, e riguardano convertitori, interfacce (come la seriale o l'usb) e altri dispositivi Memoria Programma Program Counter Stack RAM Registro Istruzioni MUX Indirizzi Registro FSR Registro di stato Timer Decodifica e Controllo Istruzioni Generatore di Clock PowerUp Timer Oscillator StartUp Timer WatchDog Timer Power on Reset ALU MUX Interfaccia I/O Linee I/O Accumulatore Figura 1: Schema a blocchi di un microcontrollore Generalmente i microcontrollori sono utilizzati per sistemi di controllo automatizzati, dove l'interfacciamento con un intero computer sarebbe superfluo. 9

10 Il PIC 16F877A, prodotto dalla MicroChip è un microcontrollore PIC con queste caratteristiche: Frequenza di clock del microprocessore fino a 20MHz Ridotto set di istruzioni (Processore RISC a 35 istruzioni) 8kB di memoria per il programma (parole da 14 bit) 368B di memoria RAM 256 locazioni di memoria di massa EEPROM da 8 bit ognuna 3 Timers Due moduli CCP (Capture/Compare/PWM) per la gestione di dispositivi esterni Tre moduli per l interfacciamente con l esterno (PSP, SSP, USART) Circuito integrato per la rilevazione della caduta di tensione all alimentazione (Brown Out) 8 canali per una ADC a 10 bit 2 Comparatori analogici Moduli di Voltage Reference 33 segnali digitali con direzione programmabile 15 fonti di interruzione abilitabili singolarmente Il microcontrollore è contenuto in un integrato a 40 pin, disponibile in commercio sviluppato in diverse tecnologie, tra cui la DIP. Figura 2: PIC 16F877A in contenitore DIP Affinché il microcontrollore entri in funzione, sono necessari almeno questi collegamenti: Le doppie coppie di alimentazioni (V DD e V SS ) Il segnale di clock (CLKI e CLKO) 10

11 Il segnale di MCLR opportunamente disattivato Molti pin dell integrato sono multiplexati, nel senso che possono svolgere, a seconda di come vengono programmati, funzioni diverse. Ad esempio, i pin RC6 e RC7, possono essere parte di una porta programmabile, oppure essere i segnali di ricezione e trasmissione per una comunicazione seriale sincrona od asincrona. Figura 3: Schema a blocchi del PIC 16F877A Il programma risiede dentro la memoria Flash, organizzata in parole da 14 bit. Al reset, verrà eseguita l'istruzione all'indirizzo 000h. All'arrivo di un interrupt, invece, l'esecuzione si sposterà all'istruzione di indirizzo 004h. 11

12 La memoria per i dati è invece divisa tra una memoria EEPROM ed una memoria RAM. La memoria EEPROM è generalmente utilizzata per i dati costanti (detti anche dati ritentivi). La memoria RAM contiene invece i dati del programma, più tutti i registri. Da questa caratteristica si deduce che, in questo microcontrollore, accedere ad una variabile oppure ad un registro impiega lo stesso tempo (in sistemi più complessi, invece, un accesso ad un registro è nettamente più veloce che un accesso in RAM). L'unico vero registro di questo microcontrollore è l'accumulatore, utilizzato per forza in quasi tutte le istruzioni logico - matematiche. E' disponibile inoltre uno stack a soli 8 livelli, quindi, ad esempio, non possono essere eseguite più di 8 funzioni nidificate. Una volta rilevato un interrupt, il microcontrollore eseguirà una routine predefinita, indipendentemente dalla fonte che l'ha generato: sarà quindi questa unica funzione a dover rilevare la fonte di interrupt (in polling) e agire di conseguenza. La memoria RAM è organizzata in 4 banchi da 128B ognuno, anche se non tutte le locazioni sono implementate e quindi effettivamente utilizzabili. Per maggiori dettagli, si farà riferimento al DataSheet del componente. La memoria RAM, oltre ai dati del programma, contiene i registri di sistema con funzionalità speciali. Esistono alcuni registri di utilizzo comune, che saranno brevemente descritti di seguito Registro STATUS (03h-83h) Il registro STATUS contiene: Lo stato delle operazioni aritmetiche (flag di Carry, Half Carry e Zero) Bit di selezione del banco Stato di Reset o Sleep 7 IRP Selezione del banco (indirizzamento indiretto) 6 RP1 Selezione del banco (indirizzamento diretto) 5 RP0 4 TO Bit di Time-Out 3 PD Bit di Power-Down 2 Z Flag di Zero 1 DC Flag di Half Carry (Riporto dal quarto bit) 0 C Flag di Carry (Riporto) Registro OPTION Il registro OPTION contiene alcune impostazioni del sistema. La descrizione esaustiva di tutti i segnali si trova nelle rispettive sezioni. 7 RBPU Attivazione delle resistenze di PullUp sulla Porta B 12

13 6 INTEDG Attivazione dell'interrupt sul fronte di salita o su quello di discesa 5 T0CS Fonte di clock per il Timer (interna o esterna) 4 T0SA Attivazione del clock esterno sul fronte di salita o di discesa 3 PSA Assegnazione del Prescaler (al Timer o al WatchDog Timer) 2 PS2 1 PS1 Programmazione del Prescaler 0 PS Registro INTCON Questo registro contiene l'attivazione delle fonti di interrupt principali (ereditate dai microcontrollori PIC con Core 16 precedenti) ed i relativi flag. 7 GIE Abilitazione generale degli interrupt 6 EEIE Abilitazione dell'interrupt sulla scrittura completata su EEPROM 5 T0IE Abilitazione dell'interrupt del Timer 4 INTE Abilitazione dell'interrupt su RB0 3 RBIE Abilitazione dell'interrupt sul cambiamento di stato di RB7...RB4 2 T0IF Flag di interrupt del Timer 1 INTF Flag di interrupt su RB0 0 RBIF Flag di interrupt sul cambiamento di stato di RB7 RB4 Come ogni circuito digitale, anche il PIC ha necessità di alimentazione: l integrato DIP ha due coppie di alimentazioni (V DD e V SS ), che devono essere necessariamente collegate. Inoltre il microprocessore necessita di una fonte di clock esterna per la gestione delle istruzioni. Il PIC 16F877A può essere gestito attraverso quattro differenti tipi di oscillatore: Quarzo LP Quarzo XT Quarzo HS Oscillatore RC I quarzi, sono molto precisi, anche se più costosi e fisicamente delicati. La differenza tra i quarzi è solamente la frequenza a cui riescono a lavorare: i quarzi LP (Low Power) sono adatti per frequenze basse, fino a circa 32KHz; i quarzi XT (Resonator) sono ottimali fino a 4MHz; per frequenze più elevate, infine, si utilizza un quarzo di tipo HS (High Speed) L'oscillatore RC, invece, è più economico e resistente, ma decisamente meno preciso: generalmente, infatti, si hanno tolleranze (al variare della temperatura) del 5% o 1% sulle resistenze, e ben del 20% sulle capacità dei condensatori. Si rischiano quindi errori fino al 25%. Va segnalato che la scelta della frequenza di oscillazione dipende dal tipo di applicazione che si sta realizzando, ma va comunque considerato che a frequenze più alte corrispondono consumi in corrente più alti. 13

14 Figura 4: Oscillatore al Quarzo Figura 5: Oscillatore con rete RC All'indirizzo 2007h della memoria programma, è ubicata una zona riservata, accessibile solo in fase di programmazione. In particolare, all'indirizzo 2007h è inserita una zona contenente i Configuration Bits, ossia le configurazioni generali del PIC 16F877A. Questi bit sono necessari al microcontrollore per sistemare la circuiteria interna, prima di procedere all esecuzione del programma. Figura 6: Configuration Word PIC16F877A Sul manuale del componente è disponibile una spiegazione esauriente di ogni bit Code Protection Generalmente è possibile leggere la memoria programma, per "tornare indietro" e avere il codice Assembly del programma inserito sul microcontrollore. La stessa cosa si può fare con la memoria dati. Attraverso questi bit (CP) è possibile disattivare questa funzionalità, in modo da proteggere il proprio codice. Inoltre, essendo un metodo elettronico, è impossibile violarlo. 14

15 2.5.2 PowerUp Timer Attraverso il bit PWRTE è possibile impostare un timer di circa 72ms, che viene attivato automaticamente al PoweUp: prima di questo intervallo di tempo, il programma non entrerà in esecuzione, dando modo a tutta la circuiteria della scheda di entrare in funzionamento e stabilizzarsi WatchDog Timer Attraverso il bit WDTE è possibile attivare o disattivare il WatchDog Timer Oscillator Type A seconda dell'oscillatore utilizzato come fonte di clock (LP,XT,HS,RC) alcune circuiterie interne al microcontrollore vengono sistemate. Attraverso i due bit FOSC, è possibile impostare il tipo di oscillatore esternamente cablato per il microcontrollore BrownOut Reset Questo bit attiva un particolare circuito sul microcontrollore che gli permette di generare un Reset del sistema quando la tensione di alimentazione decade sotto un livello critico. Tra le varie forme di Reset del microcontrollore, vi è quella gestibile attraverso l apposito pin MCLR. Nella maggior parte della applicazioni, in cui non si voglia rendere possibile un reset da parte dell utente, si potrà semplicemente rendere perennemente disattivo questo segnale, e provvedere ad attivare il PowerUp Timer, per il mantenimento dello stato di Reset solo per il tempo necessario alla stabilizzazione dell alimentazione. Tuttavia, un semplice resistore in serie ad un pulsante può rendere possibile il Reset manuale del microcontrollore. Figura 7: Circuito di reset esterno 15

16 Il PIC 16F84A mette a disposizione cinque porte, per un totale di 33 bit, destinate all'input ed output del sistema. Alcuni bit di queste porte, inoltre, possono essere utilizzati per funzioni speciali, quali interrupt o clock esterni per il timer. Ad ognuno dei due registri, inoltre, è associato un secondo SFR, che definisce la programmazione della rispettiva porta: trattasi di TRISA per la porta A, di TRISB per la porta B, di TRISC per la porta C, di TRISD per la porta D, di TRISE per la porta E. Ogni bit di questi registri programma il rispettivo bit della porta corrispondente. Ad esempio, il bit 7 di TRISB servirà a programmare il bit 7 della porta B. E importante inoltre ricordare che alcuni di questi bit possono essere utilizzati come ingressi analogici, per i convertitori analogico/digitale o per i comparatori. Il registro ADCON1 stabilirà in che modo devono essere gestiti questi bit. Di default le porte sono impostate come ingressi analogici, quindi, nel caso in cui servano come input o output digitali, sarà necessario riprogrammarle correttamente. In particolare, i bit da programmare sono PCFG3 PCFG0, del registro ADCON1. La tabella seguente riassume l effetto ottenuto con ogni combinazione. Figura 8: Programmazione delle porte analogiche o digitali 16

17 Essendo le porte bidirezionali, è necessario osservare il comportamento al Power-On. In particolare, il costruttore assicura che le due porte sono programmate di default in input. Questo elemento è molto importante, perché previene problemi ad eventuali dispositivi collegati. Se, ad esempio, un dispositivo collegato al microcontrollore entra in funzione quando riceve il segnale logico '1' e, al Power On, proprio quel bit è impostato a '1' e proprio quella porta è configurata in uscita, si avrebbe un funzionamento non desiderato del dispositivo. Inoltre, se alla porta è collegato un dispositivo digitale qualsiasi, poiché normalmente quel bit è programmato in input, e all'accensione su quel bit (impostato come output) si presenta un valore logico opposto a quello fornito dal dispositivo, si ha un corto circuito che può danneggiare il dispositivo esterno o lo stesso microcontrollore. Proprio per questo motivo, tutti i microcontrollori impostano le proprie porte in ingresso all'accensione. In seguito il programmatore avrà cura di cambiare il verso delle linee necessarie come uscite. Altra caratteristica importante è che ogni bit, sia che sia configurato in input che in output, viene letto dal microcontrollore. Questo implica, ad esempio, che è possibile effettuare un controllo su un dato in uscita semplicemente andando a leggere il valore inviato alla porta. Un esempio di bit multiplexato è RB0: esso è utilizzato anche come fonte di interrupt (INT); in questo caso viene generato un interrupt ogni volta che questo bit effettua una transizione logica da livello alto a basso o viceversa, a seconda di come è stato programmato il bit #6 del registro OPTION (INTEDG). Inoltre, i bit RB7 RB4 possono essere programmati per generare un interrupt ogni volta che uno di essi effettua un cambiamento di valore logico. Per abilitare questa feature si deve operare sul registro INTCON (bit RBIE). Quando si collega un segnale come ingresso al microcontrollore, generalmente il circuito esterno necessita di un resistore di pull-up. Ad esempio, la figura sottostante mostra un esempio di collegamento di un pulsante. +V cc R Microcontrollore SW IN Figura 9: Collegamento di un pulsante al microcontrollore 17

18 Il PIC 16F84A mette a disposizione, su tutta la porta B, la possibilità di attivare via software un resistore di pullup da circa 2k, già predisposto internamente al componente: in questo modo, attivando il bit necessario su OPTION (bit RBPU) la rete esterna risulterà semplificata. Microcontrollore SW IN Figura 10: Resistenze di pull-up interne al microcontrollore Programmazione delle porte Come è stato precedentemente enunciato, il manuale del componente assicura che, all'alimentazione del circuito, le porte siano configurate in input. E' necessario quindi definire il modo in cui le porte andranno programmate. Come è facile immaginare, ci sono due operazioni da eseguire su entrambe le porte: Programmarle in input o output Inizializzare i bit di uscita ad un valore predefinito Resta ora da stabilire in che ordine vadano eseguite queste due procedure. La soluzione corretta è quella di eseguire prima l'inizializzazione, poi la programmazione: infatti, se prima si procede con la programmazione, sulle linee impostate in output ci saranno ancora i valori pseudo casuali dell'accensione. Chiaramente, ciò è deleterio, perché i dispositivi connessi ricevono un valore che non è stato deciso dal programma di gestione. E' importante precisare che, quando si invia un dato ad una porta di input, proprio come si fa all'inizializzazione delle stesse, il sistema non solo non causa alcun corto circuito, ma, anzi, memorizza il dato inviato, per essere pronto a trasferirlo come output nel momento in cui il verso della linea è cambiato. Un'altra buona pratica di programmazione è quella di programmare le linee non utilizzate come output, per una questione puramente elettronica: se una porta di input è scollegata, essa potrebbe fungere da antenna, lasciare entrare dei disturbi e trasmetterli, a causa della breve distanza tra i contatti, anche alle linee adiacenti, andando a compromettere il corretto funzionamento del sistema. 18

19 Il PIC 16F877A dispone di tre Timer di sistema, di cui solo il Timer0 sarà utilizzato Timer 0 All'interno del microcontrollore è presente un contatore a 8 bit, leggibile e scrivibile, che genera un interrupt ogni volta che raggiunge l'overflow, ossia nel passaggio da FFh a 00h. Il contatore può ricevere una fonte di clock esterna (sul pin RA4/T0CKI), oppure può utilizzare un valore interno, dipendente dal clock del microprocessore. In particolare, la sorgente di clock interna è divisa per 4 e poi utilizzata per il contatore. f 1 = 4 timer F OSC Altra caratteristica importante è la possibilità di assegnare alla frequenza di clock (sia essa interna od esterna) un'ulteriore divisione, definita attraverso un prescaler. Se il prescaler non è necessario, lo si può disattivare assegnandolo al WatchDog Timer con un fattore di divisione 1:1. Se lo si utilizza per il timer, invece, deve essere selezionato un fattore di divisione tra gli otto disponibili (1:2, 1:4,, 1:256). Figura 11: Schema generale del Timer0 Molto importante è determinare la relazione matematica che lega i dati del timer e la durata di un interrupt. Indichiamo con f la frequenza di clock a cui il contatore si incrementa. Come detto, essa può essere una sorgente esterna, oppure un quarto della frequenza di oscillazione del microprocessore. Indichiamo inoltre con k il valore di divisione del prescaler e con C 0 il valore a cui è inizialmente caricato il contatore. In generale. quindi, si avranno interrupt ogni: T 1 = f int prescaler 256 ( C ) 0 19

20 Se si utilizza il clock interno, in pratica, si incrementa il contatore ad ogni ciclo macchina: come si evince dal manuale del microcontrollore, un'istruzione composta da un solo ciclo fetch/execute necessita di quattro fronti di clock per essere completata. Se la frequenza di oscillazione è f OSC, si ha T OSC = 1 f OSC e un ciclo macchina pari a IC = 4T OSC Se si utilizza come fonte di clock il ciclo macchina, quindi, il timer genererà un interrupt ogni: ( ) Tint = IC prescaler 256 C 0 Quando si deve generare una frequenza di interrupt ben definita, è quindi necessario trovare la giusta combinazione di prescaler e valore di inizializzazione per potercisi avvicinare il più possibile: come è chiaro, il valore di IC dipende unicamente dalla frequenza di oscillazione del sistema, pertanto non è modificabile o gestibile via software. Ogni volta che l'interrupt del timer è servito, sono necessarie alcune operazioni: Azzeramento dello stato di interrupt (T0IF) Inizializzazione del contatore al valore desiderato Il contatore, infatti, di norma ricomincerà il proprio conteggio da zero, se si desidera un altro valore è necessario ricaricarlo. In realtà, come sarà ora spiegato, non è sufficiente eseguire l'istruzione: TMR0 ValoreIniziale Ma sarà invece necessario TMR0 TMR0 + ValoreIniziale Per capire l'utilità di questo accorgimento, è necessario ripercorrere brevemente il funzionamento del microprocessore e dei tempi in gioco. All'istante t 0 viene generato un interrupt: il microprocessore, tuttavia, prima di poterlo servire, dovrà necessariamente completare l'esecuzione dell'istruzione corrente, per evitare malfunzionamenti. L'interrupt sarà quindi rilevato ad un tempo t 1. Dal manuale del componente osserviamo che l'istruzione più lunga dura 2 cicli macchina. Sappiamo quindi che t 1 2IC + t 0 20

21 A questo punto, il sistema deve salvare nello stack il valore del Program Counter e spostare l'esecuzione alla funzione di gestione dell'interrupt: siamo così arrivati all'istante di tempo t 2. Anche questa sequenza di istruzioni dura, nel complesso, 2 cicli macchina. t 2 IC + t 2 = t0 + t1 + IC 4 0 Inoltre, siccome la routine di gestione degli interrupt è unica per tutte le fonti di interrupt possibile, un altro tempo t scelta sarà speso per determinare se l'interrupt generato sia del timer o meno. In conclusione, è stato speso un tempo totale pari a: T tot = t0 + t1 + t2 + tscelta 4IC + tscelta + t0 E' chiaro che, durante questo lasso di tempo, il contatore (che è un circuito elettronico indipendente) sarà arrivato ad un valore V rit. Se dopo tutto questo tempo effettuiamo normale inizializzazione del contatore, tutto questo tempo risulta sprecato. Se, invece, inizializziamo il contatore alla somma di V rit con il nostro valore iniziale, avremo l'effetto di inibire le perdite di tempo generatesi, con un errore di circa 2 cicli macchina causati dal tempo t 1, che è impossibile correggere. Questo microcontrollore dispone di 15 diverse fonti di interrupt, raggruppate in due grandi famiglie: Interruzioni generali Interruzioni delle periferiche Per ogni interrupt sono disponibili due segnali in memoria: Segnale di attivazione del singolo interrupt (Enable) Flag di stato dell interrupt E inoltre disponibile un segnale di attivazione generale degli interrupt, GIE. Questo segnale maschera tutte le interruzioni e le blocca, se disattivo. Al PowerOn, chiaramente, questo segnale fa in modo che non avvengano interruzioni: spetterà al programmatore attivarlo quando necessario (e solo dopo aver già attivato tutti i singoli interrupt). Esiste un secondo segnale di attivazione generale, valido però solo per gli interrupt delle periferiche. A differenza di altri sistemi a microprocessore, in questo PIC la gestione di un interrupt è mista al polling: quando viene generato un interrupt, infatti, non è previsto alcun metodo automatico per identificarne l'origine; l'unica strada è quella di controllare tutti i flag di interrupt (situati in INTCON o in altri registri appositi, a seconda dell interruzione) e verificare quali di questi siano attivi. 21

22 Quando viene generato uno qualsiasi degli interrupt attivati, viene terminata l'istruzione corrente (ciclo Fetch-Execute), quindi l'esecuzione è spostata all'indirizzo 04h della memoria programma. In altre parole, esiste un solo indirizzo per tutte le fonti di interrupt. Generalmente, a questo indirizzo è posta un'istruzione di salto ad uno spazio più ampio contenente il codice completo della gestione di un interrupt. Il manuale del componente, inoltre, descrive l'esatta sequenza di eventi durante un interrupt: 1. Per prima cosa, vengono disabilitati tutti gli interrupt, mediante l'azzeramento del bit GIE: in questo modo, durante una routine di interrupt, nessun altro interrupt potrà interromperla; 2. Il flag di un interrupt corrente è attivato, in questo modo, attraverso una scansione del registro INTCON sarà possibile determinare l'origine dell'interruzione; 3. Questo bit, inoltre, non sarà resettato automaticamente, ma sarà necessario azzerarlo via software (in caso contrario, saranno generati infiniti interrupt); 4. L'abilitazione generale degli interrupt è invece eseguita automaticamente all'uscita della routine di servizio (esecuzione dell istruzione RETFIE). Figura 12: Interruzioni del PIC 16F877A Il modulo USART consente di gestire una trasmissione seriale sincrona od asincrona, rendendo in questo modo possibile l interfacciamento con altri dispositivi esterni, quali un computer. 22

23 Il PIC 16F877A può essere programmato attraverso diversi linguaggi di programmazione, tra cui, ovviamente, l Assembly. Tuttavia, come è logico supporre, per applicazioni complesse la programmazione in linguaggio macchina è scomoda, in quanto lunga e quindi più soggetta ad errori, non solo sintattici, ma anche logici. Per sviluppare il codice, ci si può servire dell'ambiente di sviluppo integrato MPLAB, fornito dalla stessa casa costruttrice del PIC. L'ambiente di sviluppo, rilasciato sotto licenza freeware e disponibile sul sito si compone di un editor di testo, è interfacciabile con diversi compilatori e linker per diversi linguaggi di programmazione, ed un potente simulatore. Il linguaggio utilizzato per questo progetto è il PICC, compatibile al C ANSI, con qualche particolarità: ad esempio, è disponibile la keyword interrupt per identificare la routine di servizio delle interruzioni, è disponibile il tipo di dato bit eccetera. Figura 13: MPLAB Il compilatore e clinker PICC è fornito dalla Hi Tech (gratis nella versione base) e può essere utilizzato dall'ambiente di sviluppo MPLAB. Scaricando il compilatore, viene fornito anche un manuale esaustivo, comprendente la guida a tutte le funzioni disponibili. Come già detto, il linguaggio PICC è del tutto analogo al C ANSI, quindi la sintassi rimane identica: la routine principale si chiama main(), mentre si può definire una funzione per la gestione delle interruzioni: sarà il compilatore a tradurre il tutto correttamente in Assembly e trasferire le due funzioni in locazioni di memoria corrette. Chiaramente, programmare in C rende il tutto più semplice, in quanto il codice risulta più snello e strutturato. Per contro, bisogna sempre tener presente che il compilatore C non sempre effettua le scelte ottimali nella traduzione in Assembly: nella maggior parte delle applicazioni ciò è del tutto ininfluente, ma per applicazioni in cui la velocità di esecuzione è particolarmente significativa, tanto che una o due istruzioni in linguaggio macchina possano fare la differenza, non si deve trascurare questo dettaglio. 23

24 Il simulatore, una volta attivato, permette, a seconda del PIC selezionato, di simularne il comportamento reale: è possibile analizzare lo scorrere del tempo, le modifiche ai registri, simularne i cambiamenti e generare interruzioni. Una volta che il progetto è stato compilato e linkato senza errori, è possibile programmare il microcontrollore, attraverso un apposito programmatore, da collegare al computer per mezzo della porta seriale. L'ambiente integrato fornisce gli strumenti per abilitare il programmatore ed eseguire la programmazione dell'integrato. Figura 14: Sviluppo di un progetto con MPLAB 24

25 Esistono diverse modalità di comunicazione tra due o più sistemi. Quella più elementare è semplicemente quella in cui i vari sistemi sono fisicamente collegati per mezzo di una serie di connessioni elettriche collegate a delle porte di input e output del sistema. Sistema A Sistema B Port X 1 Connessione fisica Port X 2 Figura 15: Collegamento fisico tra due sistemi Esistono altri tipi di trasmissione: ad esempio esiste la trasmissione via linee telefoniche, la trasmissione via fibre ottiche, via raggi infrarossi, via bluetooth, via radio eccetera. Nel nostro progetto ci occuperemo della trasmissione tramite collegamento fisico. A questo proposito, esistono ancora molti tipi di trasmissione, raggruppabili in genere in due grandi famiglie: Trasmissione seriale Trasmissione parallela In generale, la differenza tra questi due tipi di comunicazione sta nel modo utilizzato per trasmettere (e, di conseguenza, ricevere) un dato: nel primo caso il dato è mandato bit per bit, quindi è necessaria una sola linea dati per la trasmissione. Nel secondo caso, invece, tutto il dato è trasmesso contemporaneamente, quindi saranno necessarie tante linee quanti sono i bit da trasmettere. Sistema A Parallel #01 n Sistema B Parallel #02 Serial #01 Serial #02 Figura 16: Comunicazione seriale e parallela Ogni porta di input o output, in genere, dispone anche di ulteriori segnali di controllo, chiamati segnali di hand shaking. Questi 25

26 segnali sono ovviamente diversi per la trasmissione seriale e per quella parallela, in quando in ognuna delle due trasmissioni ci sono dei controlli differenti da effettuare. Dalla descrizione, seppur sommaria, dei due tipi di trasmissione, si possono dedurre i principali pregi e difetti di questi due tipi di comunicazione. E' sufficiente una sola linea dati per la trasmissione dei dati Minor rischio di interferenze Costi più ridotti Fili più lunghi Trasmissione più lenta Trasmissione più veloce Necessaria una linea dati per ogni bit, quindi utilizzo di cavi grossi ed ingombranti Maggior rischio di interferenze Costi più elevati Va sottolineato inoltre che, negli ultimi anni, con l'introduzione delle trasmissioni seriali USB e FireWire, la velocità di trasmissione è cresciuta esponenzialmente, tanto da rendere queste due porte più veloci anche della trasmissione parallela. 150KB/s - 2.4MB/s 10,5 Kb/sec - 115,2 Kb/sec 480 Mb/sec (USB 2.0) 400 Mb/sec La trasmissione seriale nasce essenzialmente per collegare il microprocessore ad un modem (modulatore demodulatore), in grado di modulare i dati in frequenza, fase ed ampiezza e quindi trasferirli, per mezzo della linea telefonica, ad un altro modem. Nella trasmissione seriale si è soliti indicare il sistema microprocessore con la sigla DTE (Data Terminal Equipment) e il modem con DCE (Data Communication Equipment). Seriale Linea telefonica Seriale Figura 17: Comunicazione con modem 26

27 Il primo problema che è necessario risolvere in una trasmissione seriale è il seguente: il microprocessore, per sua natura, lavora sempre e solo con dati paralleli: i suoi bus, infatti, non sono, per motivi ovvi legati alla velocità, di tipo seriale: ogni dato inviato in uscita sulle linee del Data Bus, quindi, sarà di tipo parallelo. L'unità elementare di trasmissione è, generalmente, il byte. C'è quindi la necessità di convertire il dato parallelo in seriale: in termini tecnici questo problema è noto come serializzazione del dato. Per questo scopo esiste una particolare porta, chiamata UART (Unità Asincrona Ricezione Trasmissione) o USART (Unità Sincrona e Asincrona Ricezione Trasmissione), in grado di serializzare il dato e gestire tutta la trasmissione seriale in generale. up 8 UART 8250 Figura 18: Interfaccia seriale Le UART e le USART sono dette interfacce seriali e sono presenti sul mercato sotto forma di circuiti integrati interfacciabili con i diversi microprocessori: ad esempio, per la famiglia Intel 80XX sono disponibili gli integrati 8250 (UART) e 8251 (USART). Recentemente il nome UART è caduto in disuso, in favore del più recente ACE (Elementi di comunicazione asincrona). Da quanto appena detto si deduce che esistono almeno due tipi di comunicazione seriale: Comunicazione sincrona Comunicazione asincrona Nella trasmissione asincrona il significato di ogni bit ricevuto dipende dalla sua collocazione nell'ambito temporale, mentre nella trasmissione sincrona è aggiunta una linea di clock che permette la sincronizzazione tra i due dispositivi. La trasmissione sincrona è, nella pratica, poco utilizzata, in quanto perdere il sincronismo tra due clock è decisamente semplice e, perso il sincronismo di clock, la trasmissione è destinata ad avere esito negativo. Inoltre, tra due sistemi a microprocessore, l'aggiunta di una linea di clock è del tutto superflua. Nella trasmissione asincrona, in genere, i due sistemi si sincronizzano prima dell'invio di ogni singolo pacchetto di dati, in questo modo la trasmissione risulta ancora più rallentata, ma decisamente più affidabile. La trasmissione asincrona è caratterizzata dall'invio di un frame di dati: con questo termine si intende il dato vero e proprio (serializzato), più una serie di bit aggiuntivi utilizzati per il controllo del flusso di trasmissione: in altre parole, sulla linea dati non viaggiano solamente i veri e propri dati, ma anche alcuni segnali utilizzati per l'hand - shaking. 27

28 Per quanto appena detto, un esempio di frame potrebbe essere: 1. Segnale di inizio trasmissione 2. Dato serializzato 3. Segnale di fine trasmissione La trasmissione asincrona, quindi, non necessita di una linea aggiuntiva per il clock: è intuibile tuttavia come sia necessaria una forma di sincronismo tra i due dispositivi in comunicazione. Generalmente il sincronismo è definito grazie ad un parametro della comunicazione, la velocità di trasmissione. I due dispositivi, quindi, lavoreranno alla stessa velocità di trasmissione: una volta che è stato ricevuto il segnale di inizio trasmissione, il ricevitore controllerà la linea dati alla velocità impostata, segnalando il valore come bit del dato. Dopo 8 letture (se il dato è a 8 bit), si riceverà il bit di fine trasmissione e la comunicazione sarà terminata. La velocità di trasmissione è misurabile mediante due unità di misura differenti: i bps (bit per second) o baud. I bps indicano, come indica il nome, il numero di bit trasmessi nell'unità di tempo. Il baud, invece, indica il numero di transizioni che avvengono sulla linea nell'unità di tempo. Se, ad esempio, la trasmissione avviene attraverso valori di tensione variabili tra 0V e 7V e ogni singolo Volt corrisponde ad una parola diversa a 3 bit (0V = 000, 7V = 111), è logico pensare che, con una sola transizione, sarò in grado di trasmettere 3 bit: in altre parole, in un caso del genere la velocità espressa in baudrate è un terzo di quella espressa in bps. Se la trasmissione si serve di due soli valori logici '0' e '1', come nella maggior parte dei casi, è logico che ogni transizione permetterà di trasmettere un solo bit, quindi baudrate e bps coincideranno. Riassumendo, se con una transizione si trasmettono 2 n bit, si può scrivere la seguente relazione: 1 baud = 1 bps n Volendo essere più generali, se con una transizione sono trasmessi k bit, la relazione tra baud e bps diventa la seguente: 1 1 baud = bps log 2 k In genere, la linea dato è a riposo sul valore logico '1'. Nel momento in cui il suo valore è spostato sul valore '0', la trasmissione ha inizio e i due dispositivi inizieranno a trasferire i bit del dato. In particolare, il trasmettitore avrà cura di cambiare la linea del bit opportunamente, mentre il ricevitore si limiterà a leggere la linea dati in relazione alla velocità di trasmissione impostata. Terminato l'invio, la linea tornerà a riposo e la trasmissione del frame sarà ultimata. 28

29 Dato '1' d 0 d 1 d 2 d 3 d 4 d 5 d 6 d 7 S Riposo Dato Stop + Riposo t Start Figura 19: Esempio di invio di un frame Il primo problema che sorge quando si parla di sincronismo è l'istante in cui il dato deve essere campionato: se, ad esempio, la velocità di trasmissione è impostata a 300b/s, il bit dovrà essere campionato ogni d s d s v = d t = dt v 1b = b 300 s = s Tuttavia, se si legge esattamente ogni trecentesimo di secondo, anche il più piccolo ritardo nel cambiamento della linea da parte del trasmettitore causerebbe un errore nella comunicazione (ad esempio, se il ricevitore legge poco prima che il trasmettitore cambi la linea, si avrebbe una lettura errata). Generalmente le UART risolvono il problema campionando il bit a metà del periodo, in questo modo la probabilità che un piccolo ritardo generi errori di trasmissione è molto bassa. In questo modo, quando la linea viene posta a '0', il ricevitore lascerà passare la metà di un trecentesimo di secondo (trovandosi quindi a metà del periodo di permanenza dello '0'), quindi inizierà a campionare regolarmente ogni trecentesimo di secondo. Dato T/2 T Campionamenti '1' d 0 d 1 d 2 d 3 d 4 d 5 d 6 d 7 S 1 S 2 t Figura 20: Campionamento dei bit Va notato che la fine della trasmissione è trattata esattamente come un ulteriore bit: in altre parole, la linea portata allo stato di riposo è nuovamente campionata. Il bit così rilevato è chiamato bit di stop. In alcuni casi, per maggiore sicurezza durante la trasmissione, la linea è 29

30 mantenuta alta per un secondo ciclo, in questo caso la comunicazione avrà due bit di stop. Al frame di comunicazione, infine, è spesso aggiunto il bit di parità, che può essere pari o dispari 1. In questo caso, il frame necessita di un'ulteriore aggiunta, generalmente posta prima dei bit di stop. Dato '1' d 0 d 1 d 2 d 3 d 4 d 5 d 6 d 7 P S 1 S 2 Riposo Dato t Start Parità Bit di Stop + Riposo Figura 21: Frame completo Va notato che il controllo sul bit di parità è totalmente affidato all'hardware, non al software. In altre parole, sarà la UART del ricevitore a valutare la correttezza del bit di parità e fornire segnali di hand shaking appropriati. Dallo studio del frame si evince come, in effetti, la trasmissione seriale asincrona risulti da 10 (dato, start, stop) a 13 (dato, start, doppio stop, parità) volte più lento di una trasmissione parallela. Come detto, tuttavia, si hanno vantaggi legati all'affidabilità e alla lunghezza massima dei cavi di connessione. Le trasmissioni seriali possono essere di tre tipi: Simplex Half Duplex Full Duplex Questa divisione indica in quale direzione è possibile comunicare: nella comunicazione simplex, essa avviene "a senso unico", ossia in una sola direzione. Nella trasmissione duplex, invece, è possibile avere comunicazione bidirezionale, con una piccola differenza: nel caso della half duplex, la trasmissione bidirezionale è possibile, ma non può essere contemporanea, caratteristica permessa invece nelle comunicazioni full duplex. In conclusione, affinché una trasmissione seriale asincrona avvenga in modo corretto, i due dispositivi devono avere accordi precisi e comuni riguardo a: Numero di bit del dato Numero di bit di stop 1 Il bit di parità pari è il numero di '1' da aggiungere al dato affinché il numero di '1' al suo interno sia pari. Ad esempio, se il dato è , il bit di parità pari è '0', visto che il numero di '1' nel dato è 4, ossia pari. La parità dispari funziona allo stesso modo, ma indica il numero di '1' da aggiungere affinché il numero di '1' al suo interno sia dispari. 30

31 Numero di bit di parità e sua tipologia Velocità di trasmissione Lo standard RS232 nacque nell'anno 1962 per opera della Electronic Industries Association ed era orientato alla comunicazione tra i mainframe e i terminali attraverso la linea telefonica e un modem. Esso includeva le caratteristiche elettriche dei segnali, la struttura e temporizzazioni dei dati seriali, la definizione dei segnali e dei protocolli per il controllo del flusso di dati seriali su un canale telefonico, il connettore e la disposizione dei suoi pin ed infine il tipo e la lunghezza massima dei possibili cavi di collegamento. Nel corso degli anni lo standard fu più volte corretto e sistemato, per poter essere accettato su scala sempre più vasta: nell'anno 1962 fu definita la versione più famosa e ancora oggi più diffusa, la versione RS232/C. Tuttavia, la sua diffusione si ebbe solo nel 1982, quando per la prima volta l'ibm incluse in un suo computer una porta COM, la prima porta seriale diffusa su scala mondiale. Da allora seguirono altre versioni fino alla RS232/F, ma la maggior parte dei sistemi a microprocessore integra oggi solamente la versione C. C'è da aggiungere, inoltre, che la comunicazione seriale qui descritta sta lentamente scomparendo dai moderni calcolatori, per dare spazio alle più veloci tecnologie USB, FireWire, Ethernet e in fibra ottica. Lo standard RS232/C è caratterizzato dalle seguenti proprietà: La trasmissione è di tipo seriale asincrona La trasmissione è di tipo full duplex E' possibile inserire 1 o 2 bit di stop (in alcuni casi anche 1 e ½) Ogni transizione permette la trasmissione di un bit, quindi il baud rate e i bps coincidono Connettori a 9 pin (originariamente 25 di cui 10 significativi) Lo standard, inoltre, si serve di particolari valori elettrici per definire i valori logici '0' e '1', diversi da quelli utilizzati, ad esempio, dalle tecnologie TTL o CMOS. '0' 0V Da +3V a +25V Space '1' 5V Da -3V a -25V Mark La velocità di trasmissione è legata alla lunghezza massima dei cavi: (baud) (m)

32 La tabella seguente illustra i nomi dei 9 segnali significativi per lo standard. TD Transmitted Data DTE DCE RD Received Data DTE DCE RTS Request To Send DTE DCE CTS Clear To Send DTE DCE DCD Data Carrier Detect DTE DCE DTR Data Terminal Ready DTE DCE DSR Data Set Ready DTE DCE SGND Signal Ground --- RI Ring Indicator DTE DCE Quando il sistema entra in funzione, il DTE attiva la linea Data Terminal Ready. Il DCE, a sua volta, quando pronto attiverà la linea Data Set Ready. Infine, il DCE controllerà se è disponibile un dispositivo esterno in ascolto (in altre parole, se esiste un altro modem pronto a ricevere, attraverso la linea telefonica, ciò che stiamo trasmettendo) e fornirà l'esito mediante il segnale Data Carrier Detect. A questo punto, i due dispositivi sono pronti per la comunicazione seriale. Quando il DTE vuole trasmettere un dato serializzato, attiva la linea Request To Send e attende il "via libera" dal DCE mediante la linea Clear To Send: in generale, prima di attivarla, il DCE controllerà la portante. A questo punto il DTE è pronto ad inviare un dato sulla linea Transmitted Data. Se, invece, è il DCE a dover trasmettere, la linea utilizzata sarà la Received Data. Il modo più semplice e diffuso per connettere i due terminali è quello di connettere semplicemente ogni segnale con l'omonimo nel dispositivo di destinazione. 32

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

Bus RS-232. Ing. Gianfranco Miele  April 28, 2011 Ing. Gianfranco Miele (g.miele@unicas.it) http://www.docente.unicas.it/gianfranco_miele April 28, 2011 Alcune definizioni Comunicazione seriale Bit trasmessi in sequenza Basta una sola linea Più lenta

Dettagli

Il protocollo RS Introduzione. 1.2 Lo Standard RS-232

Il protocollo RS Introduzione. 1.2 Lo Standard RS-232 1 Il protocollo RS232 1.1 Introduzione Come noto un dispositivo di interfaccia permette la comunicazione tra la struttura hardware di un calcolatore e uno o più dispositivi esterni. Uno degli obiettivi

Dettagli

COMUNICAZIONE SERIALE a cura dell' Ing. Buttolo Marco

COMUNICAZIONE SERIALE a cura dell' Ing. Buttolo Marco COMUNICAZIONE SERIALE a cura dell' Ing. Buttolo Marco Un PC può comunicare in vari modi con le periferiche. Fondamentalmente esistono due tipi di comunicazione molto comuni: 1. La comunicazione seriale

Dettagli

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

L interfaccia più comune fra il computer (DTE) ed il modem (DCE) è la RS232, Interfaccia RS232 L interfaccia più comune fra il computer (DTE) ed il modem (DCE) è la RS232, questo standard è stato sviluppato dall ente americano EIA (Electronic Industries Associations) e ripreso

Dettagli

Davide Gennaretti, Matteo Nicolini

Davide Gennaretti, Matteo Nicolini Seminario sui Microcontrollori Davide Gennaretti, Matteo Nicolini AA 2003-04 II Facoltà di Ingegneria Elettronica Cesena Cosa sono i microcontrollori? Piccoli computer concentrati in un chip Un Datapath

Dettagli

Elettronica e Telecomunicazioni

Elettronica e Telecomunicazioni Elettronica e Telecomunicazioni Introduzione ai Microcontrollori Corso integrato per la classe V Elettronica a.s. 2014/2015 Giuseppe La Marca ITIS Pininfarina Moncalieri (TO) Microcontrollore Frequenza

Dettagli

Cosa è? Come lo si usa? Come iniziare? Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Cosa è? Come lo si usa? Come iniziare? Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO) Cosa è? Come lo si usa? Come iniziare? Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO) 1^ parte Cosa è Arduino? Arduino è una piattaforma di sviluppo open-source basata su una semplice scheda

Dettagli

Progetto 3: Termometro con convertitore A/D

Progetto 3: Termometro con convertitore A/D Progetto 3: Termometro con convertitore A/D Questo progetto dimostra come acquisire un segnale da una sensore di temperatura analogico e visualizzare la temperatura attraverso il collegamento seriale con

Dettagli

ELETTRONICA II. Prof. Dante Del Corso - Politecnico di Torino. Gruppo H: Sistemi Elettronici Lezione n H - 5: Collegamenti seriali Conclusione

ELETTRONICA II. Prof. Dante Del Corso - Politecnico di Torino. Gruppo H: Sistemi Elettronici Lezione n H - 5: Collegamenti seriali Conclusione ELETTRONICA II Prof. Dante Del Corso - Politecnico di Torino Gruppo H: Sistemi Elettronici Lezione n. 40 - H - 5: Collegamenti seriali Conclusione Elettronica II - Dante Del Corso - Gruppo H - 4 n. 1-15/11/97

Dettagli

22/09/2010. Rossato Alessio

22/09/2010. Rossato Alessio Hardware del PC roxale@hotmail.it 1 I componenti del computer Possiamo paragonare il computer al corpo umano che, come sappiamo, è formato da un elemento centrale, il busto, al quale sono collegati gli

Dettagli

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

Lab. Sistemi - Classe 5Bn A. S. 2000/2001 ITIS Primo Levi - Torino AA.AA. STANDARD SERIALE DI COMUNICAZIONE: RS232 Lo standard seriale di STANDARD SERIALE DI COMUNICAZIONE: RS232 Lo standard seriale di interfacciamento è stato introdotto al fine di collegare dispositivi remoti a bassa velocità con un calcolatore centrale. In questo genere

Dettagli

Introduzione al collegamento telematico su linea commutata

Introduzione al collegamento telematico su linea commutata Introduzione al collegamento telematico su linea commutata Prof. Luca Salvini L.S. 2L97 Prof. Luca Salvini E-mail: salvini@hesp.it 1 Introduzione al collegamento telematico su linea commutata Perché il

Dettagli

Corso di Reti di Calcolatori

Corso di Reti di Calcolatori Politecnico di Torino Corso di Reti di Calcolatori Commutazione e trasmissione Indice degli argomenti... Architettura di una rete Nodi di una rete Canali locali e geografici Commutazione di circuito Commutazione

Dettagli

Architettura del Calcolatore

Architettura del Calcolatore Giuseppe Manco Lezione 3 17 Ottobre 2003 Architettura del calcolatore Il calcolatore è uno strumento programmabile per la rappresentazione, la memorizzazione e l elaborazione delle informazioni un calcolatore

Dettagli

Alimentatore master. Introduzione

Alimentatore master. Introduzione Alimentatore master Introduzione L alimentatore master è un controllore programmabile che permette all utente di sviluppare sequenze per i convertitori REEL dei tunnel, gestire I/O digitali e analogici

Dettagli

Le sintonie elettroniche per l ATV

Le sintonie elettroniche per l ATV Le sintonie elettroniche per l ATV II Meeting ATV Magenta 18/04/2004 IW2LFD Luciano Arrigoni iw2lfd@libero.it http://digilander.libero.it/iw2lfd A.R.I. Sezione di Gallarate IQ2GM - http://www.qsl.net/iq2gm/

Dettagli

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo Prof. Carlo Rossi DEIS - Università di Bologna Tel: 051 2093020 email: crossi@deis.unibo.it Classificazione Processori

Dettagli

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo. Classificazione. I microcontrollori

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo. Classificazione. I microcontrollori INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO per sistemi di controllo Prof. Carlo Rossi DEIS - Università di Bologna Tel: 051 2093020 email: crossi@deis.unibo.it Classificazione General Purpose CISC

Dettagli

LAMPEGGIO LED TRAMITE TIMER INTERRUPT - PARTE 4 1

LAMPEGGIO LED TRAMITE TIMER INTERRUPT - PARTE 4 1 Danilo B (ildani) LAMPEGGIO LED TRAMITE TIMER INTERRUPT - PARTE 4 15 January 2013 Introduzione Questa è la quarta ed ultima parte dell'articolo Lampeggio led tramite Timer Interrupt. Non lampeggia Come

Dettagli

Sistemi a microprocessore

Sistemi a microprocessore Sistemi a microprocessore Programma: Segnali analogici e digitali Uso di segnali digitali per la rappresentazione dei numeri interi La memoria e la CPU I programmi in linguaggio macchina La connessione

Dettagli

Cenni sull architettura del calcolatore

Cenni sull architettura del calcolatore Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 Cenni sull architettura del calcolatore Pietro Di Lena - pietro.dilena@unibo.it hard-ware /h :dwe9 r / n. The part of the computer

Dettagli

EEPROM SERIALI IN I2C BUS.

EEPROM SERIALI IN I2C BUS. Corso di BASCOM 8051 - (Capitolo 3 0 ) Corso Teorico/Pratico di programmazione in BASCOM 8051. Autore: DAMINO Salvatore. EEPROM SERIALI IN I2C BUS. Tra i dispositivi più utilizzati, nelle applicazioni

Dettagli

RETI DI CALCOLATORI. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine

RETI DI CALCOLATORI. Prof. PIER LUCA MONTESSORO. Facoltà di Ingegneria Università degli Studi di Udine RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 2001 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright Questo insieme di trasparenze

Dettagli

Page 1. Elettronica per l informatica ELINF - D6 10/10/ DDC 1. Facoltà dell Informazione. Lezione D6

Page 1. Elettronica per l informatica ELINF - D6 10/10/ DDC 1. Facoltà dell Informazione. Lezione D6 Facoltà dell Informazione Lezione D6 Modulo Elettronica per l informatica D Protocolli D6 - Protocolli seriali» Trasmissione seriale» Modulazioni e codifiche» Recupero del clock» Sincronismo (rev 2/9/25

Dettagli

2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1

2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1 RETI DI CALCOLATORI Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 2 Pier Luca Montessoro (si veda la nota a pagina 2) Nota di Copyright Questo insieme di trasparenze

Dettagli

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

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni Componenti principali Componenti e connessioni Capitolo 3 CPU (Unita Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro 1 2 Architettura di Von Neumann Dati e instruzioni in memoria

Dettagli

Componenti principali

Componenti principali Componenti e connessioni Capitolo 3 Componenti principali n CPU (Unità Centrale di Elaborazione) n Memoria n Sistemi di I/O n Connessioni tra loro Architettura di Von Neumann n Dati e instruzioni in memoria

Dettagli

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

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).! ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).! MACCHINA DI VON NEUMANN! UNITÀ FUNZIONALI fondamentali! Processore

Dettagli

Componenti e connessioni. Capitolo 3

Componenti e connessioni. Capitolo 3 Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura

Dettagli

SCHEDA PRODOTTO INGRESSI DIGITALI (distribuiti).

SCHEDA PRODOTTO INGRESSI DIGITALI (distribuiti). SCHEDA PRODOTTO INGRESSI DIGITALI (distribuiti). IO2-40C-D0L-D IO2-60W-D0L-D IO2-80C-D0L-D Descrizione Dispositivo per la rilevazione dello stato di ingressi digitali (contatti puliti, privi di potenza),

Dettagli

MANUALE PER L OPERATORE Versione software: 1.0

MANUALE PER L OPERATORE Versione software: 1.0 Sesto S. Giovanni - 19 Maggio 2004 Div. elettronica DATAFLOW Rev.1.0 SW-HW:DATALINK SOFTWARE PER L ELABORAZIONE DEI SEGNALI RILEVATI DALLA SCHEDA DI ACQUISIZIONE MANUALE PER L OPERATORE Versione software:

Dettagli

Raccolta Test di Laboratorio di Sistemi a Microcontrollore

Raccolta Test di Laboratorio di Sistemi a Microcontrollore Raccolta Test di Laboratorio di Sistemi a Microcontrollore prof. Corrado Santoro 1 Digital I/O 1. Quale delle seguenti istruzioni permette di porre a 0 la linea PC4? GPIOC->ODR &= (int32_t)0x10; GPIOC->ODR

Dettagli

PROGRAMMAZIONE DELL ACE

PROGRAMMAZIONE DELL ACE PROGRAMMAZIONE DELL ACE L esposizione degli argomenti seguenti è finalizzata alla programmazione dell ACE per realizzare programmi di trasmissione seriale tra due PC, (o tra microcontrollore e PC) operando

Dettagli

VMB2BL. Modulo di controllo per serrande 2 canali per sistema VELBUS. Velbus manual VMB2BL edition 1

VMB2BL. Modulo di controllo per serrande 2 canali per sistema VELBUS. Velbus manual VMB2BL edition 1 VMB2B Modulo di controllo per serrande 2 canali per sistema VEBUS 1 Caratteristiche: Utilizzabile per il controllo di serrande, tende da sole motorizzate ecc. Contatto relé con soppressore transienti:

Dettagli

SCHEDA PRODOTTO IO2-88C-DR0-C (centralizzato).

SCHEDA PRODOTTO IO2-88C-DR0-C (centralizzato). SCHEDA PRODOTTO IO288CDR0C (centralizzato). IO288CDR0C Descrizione Dispositivo per rilevazione dello stato di 8 ingressi digitali (contatti puliti, privi di potenza) e l attuazione di 8 uscite di potenza

Dettagli

Architettura del calcolatore (Seconda parte)

Architettura del calcolatore (Seconda parte) Architettura del calcolatore (Seconda parte) Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin LINGUAGGIO E ORGANIZZAZIONE DEL CALCOLATORE Linguaggio assembly

Dettagli

VMB1RY. Modulo relé per sistema VELBUS. Velbus manual VMB1RY edition 1

VMB1RY. Modulo relé per sistema VELBUS. Velbus manual VMB1RY edition 1 VMB1RY Modulo relé per sistema VE 1 Caratteristiche: Contatti relé con soppressore transienti: 5 A / 230 Vac max. Controllo manuale su modulo. ED d indicazione per: Uscita relé. Modalità operative (lampeggio

Dettagli

L 8251 è una USART che controlla la ricezione/trasmissione e che può essere. configurata via software per lo scambio di dati con diversi formati:

L 8251 è una USART che controlla la ricezione/trasmissione e che può essere. configurata via software per lo scambio di dati con diversi formati: Interfaccia 8251 L 8251 è una USART che controlla la ricezione/trasmissione e che può essere configurata via software per lo scambio di dati con diversi formati: - i caratteri possono essere lunghi da

Dettagli

GESTIONE DELLE INTERRUZIONI (INTERRUPT)

GESTIONE DELLE INTERRUZIONI (INTERRUPT) GESTIONE DELLE INTERRUZIONI (INTERRUPT) In informatica, un interrupt o interruzione è: un segnale asincrono che indica il bisogno di attenzione da parte di una periferica finalizzata ad una particolare

Dettagli

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione

Dettagli

Esame di INFORMATICA ARCHITETTURA DI VON NEUMANN. Lezione 4 ARCHITETTURA DI VON NEUMANN

Esame di INFORMATICA ARCHITETTURA DI VON NEUMANN. Lezione 4 ARCHITETTURA DI VON NEUMANN Università degli Studi di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA A.A. 2008/09 Lezione 4 ARCHITETTURA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono

Dettagli

Il Processore. Informatica di Base -- R.Gaeta 27

Il Processore. Informatica di Base -- R.Gaeta 27 Il Processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale

Dettagli

I dispositivi di input/output

I dispositivi di input/output I dispositivi di input/output I dispositivi di input/output (anche detti periferiche), permettono di realizzare l'interazione tra l'uomo e la macchina La loro funzione primaria è quella di consentire l'immissione

Dettagli

ROBOTICA Syllabus Versione 1.0

ROBOTICA Syllabus Versione 1.0 ROBOTICA Syllabus Versione 1.0 Modulo Robotica Questo modulo definisce i concetti e le competenze fondamentali relativi ai principi di base di Robotica. Module Goals Chi supera la prova d esame per questo

Dettagli

Settimana n.2. Obiettivi Esecuzione di un programma. Tutorial su CodeBlocks e ambiente di sviluppo.

Settimana n.2. Obiettivi Esecuzione di un programma. Tutorial su CodeBlocks e ambiente di sviluppo. Settimana n.2 Obiettivi Esecuzione di un programma. Tutorial su CodeBlocks e ambiente di sviluppo. Contenuti Linguaggi di programmazione Dati e istruzioni Architettura di un elaboratore Uso del compilatore

Dettagli

Nicola Amoroso. Corso introduttivo sui microcontrollori A. S Microprocessori - Microcontrollori.

Nicola Amoroso. Corso introduttivo sui microcontrollori A. S Microprocessori - Microcontrollori. Corso introduttivo sui microcontrollori A. S. 2007 2008 Microprocessori - Microcontrollori Nicola Amoroso namoroso@mrscuole.net NA L1 1 Cosa e un microcontrollore? > Un piccolo computer, contenente al

Dettagli

verso espandibili eterogenei tempo di accesso tempo di risposta throughput

verso espandibili eterogenei tempo di accesso tempo di risposta throughput I/O Un calcolatore è completamente inutile senza la possibile di caricare/ salvare dati e di comunicare con l esterno Input / Output (I/O): insieme di architetture e dispositivi per il trasferimento di

Dettagli

1) Si descriva brevemente il processo di conversione analogico-digitale di un segnale.

1) Si descriva brevemente il processo di conversione analogico-digitale di un segnale. PRIMA PROVA (Traccia 1) Ogni risposta sarà valutata con un punteggio massimo di 6 punti. 1) Si descriva brevemente il processo di conversione analogico-digitale di un segnale. 2) Dovendo installare delle

Dettagli

Architettura hardware

Architettura hardware Architettura hardware la parte che si può prendere a calci Architettura dell elaboratore Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

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

EFA Automazione S.r.l. Serial Bridge 3 - Modbus RTU slave to PICnet (01 ITA).doc pag. 1 / 8 EFA Automazione S.r.l. Serial Bridge 3 - Modbus RTU slave to PICnet (01 ITA).doc pag. 1 / 8 Applicazione Integrazione di reti PICnet mediante l interfacciamento del modulo master (PN MAS dotato di porta

Dettagli

STRUMENTO ELETTRONICO DI PESATURA

STRUMENTO ELETTRONICO DI PESATURA STRUMENTO ELETTRONICO DI PESATURA WST MANUALE D INSTALLAZIONE.Pag. 2 MANUALE OPERATIVO.Pag. 10 CODICE SOFTWARE: PWST01 VERSIONE: Rev.0.7 Alimentazione Assorbimento Isolamento Categoria d installazione

Dettagli

Le Novità di prodotto. MOSAIC versione 3.0

Le Novità di prodotto. MOSAIC versione 3.0 MOSAIC versione 3.0 1 Le altre Novità di MOSAIC HM1 - Pannello operatore Mosaic Pannello operatore Mosaic - Versione con display alfanumerico. Permette la visualizzazione dei messaggi definiti tramite

Dettagli

Architetture dei sistemi elettronici 14. Il microcontrollore

Architetture dei sistemi elettronici 14. Il microcontrollore Architetture dei sistemi elettronici 14. Il microcontrollore Roberto Roncella Schema a blocchi 2 Il core CPU 3 4 Architettura von Neumann Istruzioni Unità Aritmetica Unità di di Controllo Stato Dati B

Dettagli

Centralina controllo pompa

Centralina controllo pompa Centralina controllo pompa INDICE 1 Il progetto...4 2 Gestione...6 2.1 TaskA_Main...6 2.2 TaskB_CpuClock...8 2.3 TaskC_InOut...12 2.4 Task ausiliari...13 2.5 Parametri ritentivi...13 3 Sonar...14 3.1 TaskD_Sonar...17

Dettagli

Protocolli di Comunicazione

Protocolli di Comunicazione Protocolli di Comunicazione Elettronica dei Sistemi Digitali L-A Università di Bologna, Cesena Aldo Romani A.a. 2005-2006 UART UART Universal Asynchronous Receiver/Transmitter Clock implicito e trasmissione

Dettagli

Secondo biennio Articolazione Informatica Sistemi e Reti Prova Terza

Secondo biennio Articolazione Informatica Sistemi e Reti Prova Terza Il clock della CPU A. fornisce la data corrente ai programmi macchina B. temporizza le operazioni elementari C. ha la stessa frequenza del clock del bus di sistema D. si misura in bit per secondo (bps)

Dettagli

Ing. Emiliano Capuzzo Remote Contro NEC 11/11/2003. Remote Control NEC

Ing. Emiliano Capuzzo Remote Contro NEC 11/11/2003. Remote Control NEC Remote Control NEC Questo progetto risponde all esigenza di decodificare ed utilizzare i codici prodotti da telecomandi IR che adottano la codifica NEC Trasmissione Format. Questo tipo di codifica è attualmente

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 Programma del corso Informatica di

Dettagli

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

Il problema dello I/O e gli Interrupt. Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano Il problema dello I/O e gli Interrupt Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano Il Calcolatore e le periferiche Periferica Decodifica Indirizzi Circuiti di Controllo Registri

Dettagli

Il modello di Von Neumann

Il modello di Von Neumann Il modello di Von Neumann Appunti di STA per le classi seconde ind. informatiche Page 1 Il modello architetturale Per modello architetturale, si intende la descrizione delle parti del sistema e la loro

Dettagli

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine 1999 Pier Luca Montessoro (si veda la nota a pagina 2) 1 Nota di Copyright

Dettagli

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

Fondamenti sugli standard di interfaccia RS-232 e IEEE-488 Fondamenti sugli standard di interfaccia RS-232 e IEEE-488 1 1 Introduzione Come noto, un dispositivo di interfaccia permette il colloquio tra la struttura hardware di un calcolatore e uno o più dispositivi

Dettagli

Macchina di Von Neumann

Macchina di Von Neumann Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è

Dettagli

LINEE GUIDA PER LA CONNESSIONE DI MCP PLUS A VIDEOTERMINALI PROFACE SERIE GP

LINEE GUIDA PER LA CONNESSIONE DI MCP PLUS A VIDEOTERMINALI PROFACE SERIE GP Introduzione LINEE GUIDA PER LA CONNESSIONE DI MCP PLUS A VIDEOTERMINALI PROFACE SERIE GP Questa nota applicativa fornisce alcuni elementi base per interfacciare il controllore MCP Plus ad un videoterminale

Dettagli

SCHEDA PRODOTTO IO2-88C-DR-C (centralizzato).

SCHEDA PRODOTTO IO2-88C-DR-C (centralizzato). SCHEDA PRODOTTO IO288CDRC (centralizzato). IO288CDRC Descrizione Dispositivo per rilevazione dello stato di 8 ingressi digitali (contatti puliti, privi di potenza) e l attuazione di 8 uscite di potenza

Dettagli

DIMMER SX13 REL.1.1. Guida Utente

DIMMER SX13 REL.1.1. Guida Utente DIMMER SX13 REL.1.1 Guida Utente Ponticelli di configurazione... 2 Configurazioni necessarie... 3 Pinout del connettore di interfaccia... 4 Configurazioni possibili... 4 Seriale TTL con alimentazione su

Dettagli

LE ALTRE BOARD ARDUINO

LE ALTRE BOARD ARDUINO LE ALTRE BOARD ARDUINO Nel corso degli anni la scheda Arduino si è evoluta. Dalla versione Diecimila alla versione Uno sono state apportate diverse migliorie. L ultima release della Board Uno, la REV3,

Dettagli

Caratteristiche di un PC

Caratteristiche di un PC Caratteristiche di un PC 1 Principali porte presenti sui personal computer PC Una porta è il tramite con la quale i dispositivi (periferiche o Device ) vengono collegati e interagiscono con il personal

Dettagli

Strumentazione tradizionale vs. strumentazione virtuale

Strumentazione tradizionale vs. strumentazione virtuale Strumentazione tradizionale vs. strumentazione virtuale Strumento tradizionale: OPERATORE STRUMENTO interazione diretta tramite pannello di controllo e sistema di visualizzazione Strumento virtuale: OPERATORE

Dettagli

A.S. 2017/2018 PIANO DI LAVORO PREVENTIVO CLASSE 4Be

A.S. 2017/2018 PIANO DI LAVORO PREVENTIVO CLASSE 4Be A.S. 2017/2018 PIANO DI LAVORO PREVENTIVO CLASSE 4Be Docenti Disciplina Cinzia Brunetto, Antonino Cacopardo SAE Sistemi Automatici Elettronici Competenze disciplinari di riferimento Il percorso formativo

Dettagli

Switch Matrix 4X4 HDMI 2.0, 4K/60 Hz

Switch Matrix 4X4 HDMI 2.0, 4K/60 Hz Switch Matrix 4X4 HDMI 2.0, 4K/60 Hz Guida all'installazione rapida DS-43306 Tutti i nomi delle marche e dei marchi registrati sono proprietà dei rispettivi titolari Introduzione Questa unità UHD 4x4 4K

Dettagli

Real Time Clock, in I2C BUS, Provvisto di RAM.

Real Time Clock, in I2C BUS, Provvisto di RAM. Corso di BASCOM 8051 - (Capitolo 4 1 ) Corso Teorico/Pratico di programmazione in BASCOM 8051. Autore: DAMINO Salvatore. Real Time Clock, in I2C BUS, Provvisto di RAM. Il PCF 8583 è un diffusissimo dispositivo

Dettagli

Ricevitore Supervisionato RX-24

Ricevitore Supervisionato RX-24 Ricevitore Supervisionato RX-24 Dati tecnici Gestione a microprocessore 24 Sensori memorizzabili 8 Uscite allarme uno per canale 8 Canali con 3 sensori per ogni canale 10 Telecomandi programmabili 1 Uscita

Dettagli

"Centrale per risparmio energetico Mod. R01"

Centrale per risparmio energetico Mod. R01 SCHEDA TECNICA "Centrale per risparmio energetico Mod. R01" La presente relazione descrive le caratteristiche ed il funzionamento hardware e software del prototipo in oggetto, atto a limitare gli sprechi

Dettagli

Applicazioni dei microcontrollori PIC

Applicazioni dei microcontrollori PIC Applicazioni dei microcontrollori PIC In questa unità vengono esposte le modalità di realizzazione di un circuito hardware con il microcontroller PIC16C84 (o PIC16F84), per la prova dei programmi presentati

Dettagli

K51-AVR SCHEDA DI SPERIMENTAZIONE PER MICRO FAM ED AVR. Salvatore Damino. 28 Febbraio 2001 ELETTRONICA

K51-AVR SCHEDA DI SPERIMENTAZIONE PER MICRO FAM ED AVR. Salvatore Damino. 28 Febbraio 2001 ELETTRONICA K51-AVR SCHEDA DI SPERIMENTAZIONE PER MICRO FAM. 8051 ED AVR 4ª parte Salvatore Damino Per la prima volta, in questa serie di articoli, ci occuperemo di conoscere un componente che non lavora con il I2C-BUS

Dettagli

All interno di un ATmega16 troviamo moltissimi dispositivi trai quali, timer, gestori delle interupt personalizzabili, convertitori A/D, multiplexer

All interno di un ATmega16 troviamo moltissimi dispositivi trai quali, timer, gestori delle interupt personalizzabili, convertitori A/D, multiplexer All interno di un ATmega6 troviamo moltissimi dispositivi trai quali, timer, gestori delle interupt personalizzabili, convertitori A/D, multipleer ecc. Inoltre troviamo 3 tipi di memoria: l EEPROM che

Dettagli

Esame di INFORMATICA Lezione 4

Esame di INFORMATICA Lezione 4 Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Il sottosistema di memorizzazione (memoria) contiene dati + istruzioni, inseriti inizialmente tramite

Dettagli

M1410 Ingresso/Uscita parallelo

M1410 Ingresso/Uscita parallelo M1410 Ingresso/Uscita parallelo Descrizione tecnica Eiserstraße 5 Telefon 05246/963-0 33415 Verl Telefax 05246/963-149 Data: 12.7.95 Versione : 2.0 pagina 1 di 13 M1410 Ingresso/uscita parallelo Indice

Dettagli

Ogni elaboratore esegue delle operazioni sulle informazioni combinandole e trasformandole. Per processare le informazioni vengono eseguite delle

Ogni elaboratore esegue delle operazioni sulle informazioni combinandole e trasformandole. Per processare le informazioni vengono eseguite delle Tipi di Elaboratori Supercomputer Server o mainframe Desktop - Personal Computer Workstation Notebook Portatili Tascabili Palmari Terminali (stupidi/intelligenti) Ogni elaboratore esegue delle operazioni

Dettagli

CS06 CONVERTITORE SERIALE PER LA GESTIONE DI TELESEGNALI E LA TELEGESTIONE VIA GSM

CS06 CONVERTITORE SERIALE PER LA GESTIONE DI TELESEGNALI E LA TELEGESTIONE VIA GSM CS06 CONVERIORE SERIALE PER LA GESIONE DI ELESEGNALI E LA ELEGESIONE VIA GSM Logica a microprocessore, configurabile 12 o 24V Interfacciabile alle schede GCM02 e MC3 via seriale RS232C ed RS485 Collegabile

Dettagli

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

ELETTRONICA II. Prof. Dante Del Corso - Politecnico di Torino ELETTRONICA II Prof. Dante Del Corso - Politecnico di Torino Gruppo G: Interfacciamento e interconnessioni Lezione n. 33 - G - 4: Protocolli di ciclo e di transazione Modello di riferimento per sistemi

Dettagli

Week Programmer v2.1 Week Programmer Rev2.1

Week Programmer v2.1 Week Programmer Rev2.1 Week Programmer Rev2.1 Modulo Web Server con 8 relè programmabili 1 Descrizione Il dispositivo permette di controllare 8 di uscite digitali (per contatti/attuatori per domotica o altro: apri-porta, luce,

Dettagli

Elettronica dei Sistemi Programmabili A.A. 2013-2014. Microcontrollori. Introduzione allo sviluppo di progetti

Elettronica dei Sistemi Programmabili A.A. 2013-2014. Microcontrollori. Introduzione allo sviluppo di progetti Elettronica dei Sistemi Programmabili A.A. 2013-2014 Microcontrollori Introduzione allo sviluppo di progetti Premessa Qualunque sistema basato su microcontrollore deve eseguire un codice memorizzato in

Dettagli

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli

Dettagli

IOTMB880 Server Modbus/RTU e Modbus/TCP per contatori MT880

IOTMB880 Server Modbus/RTU e Modbus/TCP per contatori MT880 Server Modbus/RTU e Modbus/TCP per contatori MT880 Versione 1.4 MT880 Collegamento al contatore tramite DLMS su RS485 Collegamento al sistema di monitoraggio tramite MODBUS/RTU su RS232/RS485 Collegamento

Dettagli

Ciclo del Processore. Memoria

Ciclo del Processore. Memoria Ciclo del Nella figura seguente è riportata la rappresentazione semplificata ed essenziale di un computer. RESET Canali Di Ingresso Uscita Uscita Ingressi Fig. 1 Rappresentazione semplificata di un computer

Dettagli

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

Specifiche del protocollo di comunicazione semplificato per il modulo seriale di I/O Specifiche del protocollo di comunicazione semplificato per il modulo seriale di I/O Architettura del frame di comunicazione Il frame di comunicazione è lungo 13 bytes ed ha questo formato nell ordine

Dettagli

Laboratorio di metodi di acquisizione dati. Giorgio Maggi

Laboratorio di metodi di acquisizione dati. Giorgio Maggi Laboratorio di metodi di acquisizione dati Giorgio Maggi Sommario La conversione Digitale analogica I vari tipi di ADC L SNR e ENOB Il Time to Digital converter L Input-Output Register Il sistema di acquisizione

Dettagli

Provolo Sergio, Agosto Francesco

Provolo Sergio, Agosto Francesco PROGRAMMA DIDATTICO CONSUNTIVO CLASSE 4Ae Docente/i Disciplina Provolo Sergio, Agosto Francesco Sistemi Automatici Elettronici Unità di Lavoro 1: MEMORIE a semiconduttore Periodo: Settembre-Novembre Introduzione

Dettagli

SCHEDA PRODOTTO MISURA POTENZA (distribuiti).

SCHEDA PRODOTTO MISURA POTENZA (distribuiti). SCHEDA PRODOTTO MISURA POTENZA (distribuiti). IO2-10C-A0P-D IO2-20C-A0P-D IO2-40C-A0P-D Descrizione Dispositivo per la rilevazione di segnali provenienti da TA con uscita in corrente (0-20mA, 4-20mA) o

Dettagli

Remotaggio Caricabatterie NG3

Remotaggio Caricabatterie NG3 SEIA Snc ELETTRONICA Remotaggio Caricabatterie NG3 Remote control (RC162) Attenzione: collegare e scollegare il pannello di comando remoto solo con il caricabatterie spento Utilizzare un cavo pin-to-pin

Dettagli

Calcolatori Elettronici Lezione B1 Interfacce

Calcolatori Elettronici Lezione B1 Interfacce Calcolatori Elettronici Lezione B1 Interfacce Ing. Gestionale e delle Telecomunicazioni A.A. 2007/08 Gabriele Cecchetti Sommario Moduli di espansione di memoria Organizzazione dello spazio di I/O Interfacce

Dettagli

Sch ed e Ser ie RD7 7

Sch ed e Ser ie RD7 7 Sch ed e Ser ie RD7 7 Manuale di installazione ed uso. 1) Descrizione generale 2) Installazione 3) Configurazione 4) Programmazione 5) Caratteristiche elettriche @ 2001 sas Corso Kennedy 32/21-10098 Rivoli

Dettagli

Dispositivi per il controllo

Dispositivi per il controllo Dispositivi per il controllo ordini di comando PARTE DI COMANDO PARTE DI POTENZA Controllori monolitici Controllori con architettura a bus Controllori basati su PC informazioni di ritorno PLC (Programmable

Dettagli

2.4GHz Moduli ZigBee per Applicazioni di reti Wireless. XTR-ZB1-xLI

2.4GHz Moduli ZigBee per Applicazioni di reti Wireless. XTR-ZB1-xLI 2.4GHz 802.15.4 Moduli ZigBee per Applicazioni di reti Wireless ------------------ Pag 1 di 1 L è un modulo basato sullo standard IEEE 802.15.4 e sul protocollo di rete ZigBee. Opera nella banda ISM a

Dettagli