Informatica Industriale - no 8 prof. Lorenzo Mezzalira Tecniche di Interfacciamento Digitale - Cap. 7 Acquisizione ed emissione di Segnali On-Off Acquisizione ed emissione di Impulsi Valori Codificati Cap. 7 - Tecniche di Interfacciamento Digitale - Lucido 0
Acquisizione di segnali ON - OFF Porta di ingresso per informazione di stato con buffer trasparente Cap. 7 - Tecniche di Interfacciamento Digitale - Lucido 1
CIRCUITI RILEVATORI DI ENTRAMBI I FRONTI Utilizzati quando si debbano rilevare tutti gli eventi, cioè sia i fronti di salita che di discesa di un segnale binario. Cap. 7 - Tecniche di Interfacciamento Digitale - Lucido 2
CIRCUITO DI RICHIESTA DI INTERRUPT A LIVELLO Usato nel caso di CPU che necessitano, per le richieste di interruzione, di un segnale a livello che duri fino ad avvenuta risposta all interrupt. Cap. 7 - Tecniche di Interfacciamento Digitale - Lucido 3
INGRESSO CON DISACCOPPIAMENTO GALVANICO Necessario quando i riferimenti di massa del generatore di segnale e del calcolatore sono diversi. Comunque riduce gli effetti di sovratensioni. SUL DIODO TIPICAMENTE V = 1,4 V I = 7 ma Vcc = 5V - R = 470 ohm Cap. 7 - Tecniche di Interfacciamento Digitale - Lucido 4
ES. FILTRAGGIO ELETTRICO (HW) Adottato quando il generatore di segnale (ad es. contatto meccanico) introduce eventi spurii in aggiunta a quelli significativi. Semplice circuito di filtraggio per contatto in ingresso Vi Vf t Forme d'onda in ingresso e filtrata. t Cap. 7 - Tecniche di Interfacciamento Digitale - Lucido 5
RILIEVO DEL PRIMO FRONTE (SW) Rileva la prima variazione rispetto allo stato precedente, ed accetta subito il nuovo stato ignorando le variazioni successive durante l'intervallo T considerato di transitorio. Utile per minimizzare il tempo di percezione, quando il primo di una serie di eventi (spurii) può essere considerato significativo. Valore letto (Vi) e valore filtrato algoritmicamente (Vf). I tratteggi verticali indicano gli istanti di campionamento T e' il tempo morto di transitorio. Cap. 7 - Tecniche di Interfacciamento Digitale - Lucido 6
B) RILIEVO DI FINE TRANSITORIO (SW) Accetta il nuovo stato solo dopo che questo permane immutato per il periodo di transitorio. Utilizzato nei casi in cui è importante considerare valido un evento solo dopo che sia stato raggiunto uno stato stabile. Privilegia la sicurezza a scapito della rapidità. Valore letto (Vi) e valore filtrato algoritmicamente (Vf). I tratteggi verticali indicano gli istanti di campionamento T e' il tempo morto di transitorio. Cap. 7 - Tecniche di Interfacciamento Digitale - Lucido 7
EMISSIONE DI SEGNALI ON - OFF Occorre mantenere aggiornata una variabile immagine di uscita per ogni porta SET_BIT_N: MOV AL,[IMM_P_OUT] ;legge immagine porta in uscita OR AL,MASK_N ;mette a 1 il bit voluto OUT PORTA_OUT ;emette nuovo valore MOV [IMM_P_OUT],AL ;aggiorna immagine RET RESET_BIT_N: MOV AL,[IMM_P_OUT] AND AL,NOT MASK_N OUT PORTA_OUT MOV [IMM_P_OUT],AL RET COMMUTA_BIT_N: MOV AL,[IMM_P_OUT] XOR AL,MASK_N OUT PORTA_OUT MOV [IMM_P_OUT],AL RET Cap. 7 - Tecniche di Interfacciamento Digitale - Lucido 8
ACQUISIZIONE DI IMPULSI (eventi) per CONTEGGIO IMPULSI = coppie di eventi consecutivi di uno stato binario che sono considerate come un singolo evento. Ad es. conteggio di oggetti aggiornando un totalizzatore Valori unsigned int oppure unsigned long Contatore non volatile - Periodica scrittura in RAM Tampone Azzeramenti e riporti su altri contatori Uso di Contatori primari HW con informazione di stato (leggibile quando occorre) con generazione di eventi ad ogni overflow AGGIORNA_CONTATORE: ;LETTURA DI STATO SUB AX,AX ;azzera AX IN AL,PORTA_CONT SUB AL,[PRECEDENTE] ;conteggi aggiuntivi ADD [PRECEDENTE],AL ;aggiorna immagine ADD [CONTATORE],AX ;aggiorna 16 LSBit contatore ADC [CONTATORE + 2],0 ;eventuale riporto su 16 MSBit RET Cap. 7 - Tecniche di Interfacciamento Digitale - Lucido 9
ACQUISIZIONE IMPULSI PER RILEVARE LA POSIZIONE - Con origine ad un estremo - unsigned int - Con origine arbitraria - interi con segno Impulsi di encoder incrementali A B t t Inversione del senso di rotazione Impulso ausiliario di Zero-giro - Taratura dello ZERO MACCHINA Cap. 7 - Tecniche di Interfacciamento Digitale - Lucido 10
GESTIONE SW DI ENCODER INCREMENTALE Segnali A e B come bit di ingresso (acquisiti come stati) ALGORITMO - Da ripetere ciclicamente con freq. opportuna acquisisci A e B se nulla e' cambiato rispetto al ciclo precedente esce se commutato B se B = A incrementa altrimenti decrementa altrimenti (commutato A) se B = A decrementa altrimenti incrementa fine N.B. XOR 1 commuta il bit di posizione 0 (bit meno significativo)!. Cap. 7 - Tecniche di Interfacciamento Digitale - Lucido 11
ACQUISIZIONE DI IMPULSI PER TEMPORIZZAZIONE Misura di intervallo tra due eventi esterni La misura è ottenuta per differenza tra i due valori di time-stamping, e gli estremi dell errore assoluto Eam sono - (TIG+Tlmax) < Eam < + (TIG+Tlmax) TIG = granularità temporale del timer Tlmax = max latenza della percezione (a polling o interrupt) dell evento esterno, Si notino i contributi di granularità del timer e latenza massima. In particolare la latenza per misure con elevati requisiti di precisione, dovrà essere limitata il più possibile con i seguenti accorgimenti: -- con rilievo degli eventi a polling si adotterà un periodo di polling il più breve possibile, compatibilmente con altre considerazioni di efficienza; -- con rilievo degli eventi ad interrupt si adotteranno interrupt ad elevata priorità. Cap. 7 - Tecniche di Interfacciamento Digitale - Lucido 12
ACQUISIZIONE DI IMPULSI PER CALCOLO DI VELOCITA' Requisiti. - Errori di misura assoluti o relativi inferiori ad un valore assegnato Ea o Er. Errori assoluti anche piccoli ma commessi su misure di valore ridotto (ad es. nell inizio scala) possono corrispondere ad errori percentuali Erm% elevati. Nei problemi ingegneristici si specificano in genere errori relativi, mentre la specifica di errori assoluti è solitamente riservata a grandezze con origine convenzionale, come spazio, tempo. - Campo (range) di frequenze da rilevare, cioè fmin e fmax - Frequenze di produzione delle misure (assimilabili a frequenze di campionamento) maggiori di una frequenza minima accettabile fc. I dati del problema. Numero di impulsi/metro (o impulsi/giro) dell encoder, cioè la sua granularità. Questo dato determina il fattore di scala per il calcolo della misura in unità ingegneristiche e gli errori di quantizzazione spaziale. Durata temporale minima degli impulsi Dmin Questo dato può condizionare le tecniche di rilievo degli eventi impulso. Cap. 7 - Tecniche di Interfacciamento Digitale - Lucido 13
ACQUISIZIONE DI IMPULSI PER CALCOLO DI VELOCITA' Con encoder incrementali V = K * F Rilievo della frequenza F Due approcci di base: 1) - Conteggio di impulsi durante intervalli di tempo noti F = N/Dt 2) - Rilievo del periodo tra due (o più) impulsi e calcolo F = 1/P Tecniche per rilevare gli impulsi da contare e quelli del timer A) - Software. Si legge ciclicamente con periodo Tc (che costituisce quindi anche la latenza max. di rilievo degli eventi) lo stato del segnale e dal confronto con il valore precedente si deduce la presenza o meno di un fronte di salita o di discesa. L errore temporale Et che si commette, cioè il ritardo tra l evento e l istante in cui esso è rilevato, è compreso tra gli estremi 0 < Et < Tc Cap. 7 - Tecniche di Interfacciamento Digitale - Lucido 14
ACQUISIZIONE DI IMPULSI PER CALCOLO DI VELOCITA' Tecniche per rilevare gli impulsi da contare e quelli del timer B) - Interrupt. Il segnale viene collegato ad un morsetto di richiesta di interrupt. Nell ambito della routine di risposta all interrupt vengono svolte le azioni dovute, di conteggio o di campionamento. L errore temporale in questo caso dipende dalle due componenti: Tli = latenza della risposta all interrupt 0 < Tli < Tlimax Te = tempo di esecuzione delle istruzioni nella risposta all interrupt, che è molto regolare. Va aggiunto l errore di quantizzazione (granularità) temporale TIG L errore del rilievo dell istante temporale è quindi -TIG+Te < Et < Te+Tlimax. Cap. 7 - Tecniche di Interfacciamento Digitale - Lucido 15
ACQUISIZIONE DI IMPULSI PER CALCOLO DI VELOCITA' Tecniche per rilevare gli impulsi da contare e quelli del timer C) - Hardware. I rilievi di eventi sono effettuati da appositi circuiti e gli errori temporali sono di nanosecondi e risultano quindi trascurabili. Note In linea di principio si possono adottare tutte le 9 combinazioni possibili delle tre tecniche SW, INT, HW, a due a due per gli impulsi (I-SW, I-INT, I-HW) e per il tempo (T-SW, T-INT, T-HW). Nel seguito vengono presentati gli abbinamenti piu significativi. N.B. Non è possibile, con tecniche digitali SW o HW che siano, il rilievo della frequenza istantanea, ma solo della frequenza media in un certo intervallo, attribuendo il valore così ottenuto all'istante finale dell'intervallo di rilievo. Si ha quindi un effetto di "ritardo" nel rilievo della misura. Il ritardo equivalente è pari a metà del periodo di acquisizione. Cap. 7 - Tecniche di Interfacciamento Digitale - Lucido 16
1) - Conteggio di impulsi in un intervallo prefissato DT. Con questo approccio si assume generalmente Tc >= DT. I-HW--T-HW Gli impulsi sono forniti ad un contatore di N bit, dotato di ingressi di enable e di reset, e leggibile da porte di ingresso. Il periodo DT è generato da un secondo contatore di M bit con clock di periodo Tck = DT/K (K intero), dotato di registro contenente il valore K di fine conteggio, e di ingressi di enable e reset. P Il circuito si semplifica se si può sceglere K = 2 con P < M. Allo scadere del periodo DT il contatore dei tempi genera un interrupt, servendo il quale si acquisiscono i conteggi dal contatore di impulsi e si attiva l acquisizione seguente con un comando di reset ai contatori. I ritardi della risposta all interrupt non introducono errori, ma riducono solo la frequenza fc e aggiungono un certo jitter. Cap. 7 - Tecniche di Interfacciamento Digitale - Lucido 17
I-HW--T-HW Informatica Industriale - NO 8 - L. Mezzalira - Circuito di interfaccia per l approccio I-HW--T-HW alla misura di frequenza di impulsi in ingresso. Cap. 7 - Tecniche di Interfacciamento Digitale - Lucido 18
I-HW--T-HW N VINCOLI f DT fc = 1( DT + Tli ) Informatica Industriale - NO 8 - L. Mezzalira max < 2 per non avere overflow del contatore max frequenza di campionamento ERRORI quantizzazione su contatore [-1...+0] impulso quantizzazione temporale [-Tck...+0] temporale su DT trascurabile Se Tck << DT si può trascurare l errore di quantizzazione temporale Gli errori assoluti della misura calcolata sono dati dalle seguenti espressioni: Easup = 1 DT e gli errori relativi alla misura, per cui il caso peggiore si ha con f = fmin: Erm sup = f min 1 DT La frequenza fmin per cui l errore relativo è di 1% è quella che presenta 100 impulsi nel periodo DT, cioè fmin(1%) = 100/DT Cap. 7 - Tecniche di Interfacciamento Digitale - Lucido 19
ACQUISIZIONE DI IMPULSI PER CALCOLO DI VELOCITA' 2) - Misura dell'intervallo tra due impulsi consecutivi. Con questo approccio gli eventi esterni e gli eventi temporali si scambiano i ruoli rispetto ai casi precedenti. Infatti sono gli eventi esterni (gli impulsi di cui si vuole rilevare la frequenza) a delimitare il periodo di conteggio di impulsi temporali (per misurare il tempo) prodotti da un clock di periodo Tck. La differenza fondamentale è che la durata del periodo di rilievo non è più costante, come nel caso precedente guidato dal tempo, ma dipende dal periodo (variabile) degli impulsi. Cap. 7 - Tecniche di Interfacciamento Digitale - Lucido 20
Confronto tra i due approcci Informatica Industriale - NO 8 - L. Mezzalira 1) Conteggio degli impulsi in un intervallo prefissato Per ottenere una buona risoluzione occorre un periodo DT lungo (quindi bassa Fc) La cadenza dei rilievi (Fc) è regolare Errori di quantizzazione sulla frequenza sono costanti in valore assoluto e quindi percentualmente massimi a basse frequenze ponendo così un limite inferiore fmin alle frequenze rilevabili con dato errore Esempio se l errore accettabile è Er = 1% allora fmin = 100/DT Frequenza minima rilevabile = 1 / DT (ma con elevato Er) Cap. 7 - Tecniche di Interfacciamento Digitale - Lucido 21
Confronto tra i due approcci 2) Misura di intervallo tra due (o più) impulsi Informatica Industriale - NO 8 - L. Mezzalira Le basse frequenze costituiscono una situazione critica e richiedono la gestione di un Time-out La cadenza dei rilievi non è regolare La risoluzione dipende dalla granularità temporale Tck La risoluzione è massima per le frequenze minime Si hanno problemi con ampio range di frequenze Cap. 7 - Tecniche di Interfacciamento Digitale - Lucido 22
Acquisizione di Impulsi per Sincronizzazione di I/O di DATI (impulsi strobe indicatori di dato pronto) IN INGRESSO Impulsi generati dal produttore del DATO Il fronte attivo (=dato pronto fornito da esterno) effettua: Latch del codice (DATO) Set dell indicatore - Il reset è effettuato dalla lettura (CPU) Eventuale richiesta di interrupt IN USCITA - Impulsi generati dal consumatore del DATO Il fronte attivo (= esterno pronto a ricevere dato) effettua: Reset dell indicatore Eventuale richiesta di interrupt La scrittura memorizza il codice (DATO) e fa set dell indicatore Cap. 7 - Tecniche di Interfacciamento Digitale - Lucido 23