Convertitore Analogico / Digitale

Slides:



Advertisements
Presentazioni simili
Esercizi e applicazioni di
Advertisements

Convertitori D/A e A/D Enzo Gandolfi.
Circuiti Aritmetico-Logici
Laureando: Emanuele Viviani
Università degli Studi di Trieste
Progetto di un circuito a microcontrollore per la gestione del ricetrasmettitore impiegato nel satellite Atmocube Laureando: Stefano Punis Relatore: Prof.
Digital Data Acquisition
Convertitori Analogico/Digitali
Esercizi sulle architetture
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
Circuiti di memorizzazione elementari: i Flip Flop
CONVERSIONE ANALOGICO-DIGITALE, A/D
CONVERTITORI A/D ad ELEVATE PRESTAZIONI
INTRODUZIONE AI CONVERTITORI ANALOGICO-DIGITALI (ADC)
ANALOGICO-DIGITALI (ADC) DIGITALE-ANALOGICI (DAC)
ANALOGICO-DIGITALI (ADC) DIGITALE-ANALOGICI (DAC)
ANALOGICO-DIGITALI (ADC) DIGITALE-ANALOGICI (DAC)
1 III Modulo dei dispositivi elettronici del Laboratorio di Fisica.
Informatica 3 Codifica binaria.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Caratteristiche principali dell’architettura del processore MIPS
Flip-flop e Registri.
Caratteristiche principali dell’architettura del processore MIPS
Macchina a stati finiti DMAC 1.I/O dalla memoria al disco in modalità Burst 2.I/O dalla memoria al disco in modalità Burst Stealing 3.I/O dal disco alla.
Interfaccia del Timer1 I/O AB I/O DB I/O CB Dec SELECT START IRQ SCO R Q S Q STATUS STARTDEV COMPLETE CLEAR IVN CPU IACK IN IACK OUT IRQ IOWR REG COUNTER.
Reti combinatorie: moduli di base
Il processore PD32.
Schema di principio del SCA di una MMU Memory Management Unit
Il livello Microarchitetturale
Convertitore A/D e circuito S/H
La conversione analogico-digitale, campionamento e quantizzazione
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
ARCHITETTURA DEL CALCOLATORE
EVOLUZIONE DEL PC Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi Metà anni 80 (Personal Computer IBM AT) Architettura 16 bit interna,
BUS DI CPU M. Mezzalama - M. Rebaudengo Politecnico di Torino
L’Architettura del Sistema di Elaborazione
Cos’è una sequenza? Una sequenza è una successione finita di valori, dove ogni valore ha una durata prefissata e costante (T). I valori della sequenza.
Architettura dell’elaboratore
MEMORIA. Organizzazione fisica della Memoria Decodi ficatore degli indirizzi … Sense/ Write Sense/ Write Sense/ Write Sense/
ARITMETICA BINARIA.
FACOLTA’ DI INGEGNERIA
Acquisizione Dati Roberto Ferrari giugno 2009
Sistemi di acquisizione
Il Calcolatore Elettronico
Sistemi Complessi di reti sequenziali Pipeline
I vettore interruzioni
Architettura del calcolatore
TC 8253 TIMER COUNTER Prof. Marco Solarino.
Architettura del Computer
Reti combinatorie: moduli di base
ARCHITETTURA DI UN ELABORATORE
BUS DI CPU M. Mezzalama - M. Rebaudengo - M. Sonza Reorda
Sistemi di elaborazione e trasmissione delle informazioni
Sia TAPE una periferica di gestione di nastri magnetici in grado di acquisire/fornire dati a 8 bit, e sia CD una periferica di masterizzazione in grado.
Unità centrale di processo
LA CONVERSIONE A/D.
Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale.
Arch. Elab. - S. Orlando 1 Esercitazione su Instruction Level Parallelism Salvatore Orlando.
Reti Logiche A Lezione xx.x Dispositivi Programmabili
Architettura di una CPU
Architettura del calcolatore
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Calcolatori Elettronici Il Processore (2)
ADC – SCHEMA GENERALE I convertitori AD sono disponibili come circuiti integrati in diversi modelli, che differiscono fra loro per prezzo, prestazioni.
MICROPROCESSORI Un processore è un circuito integrato in grado di effettuare operazioni di calcolo o di elaborazione dell'informazione Il circuito contiene.
Clocking Il segnale di Clock definisce quando i segnali possono essere letti e quando possono essere scritti Fronte di discesa (negativo) Falling edge.
DAC A RESISTORI PESATI.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Presentazione di sistemi Ambrosio Federica Anna Esposito 3C inf.
Memoria RAM e ROM.
Transcript della presentazione:

Convertitore Analogico / Digitale Output VREF LSB= VREF/2N 111 N bit-ADC b0 110 Vin ~ b1 101 100 bN 011 ENCODE 010 001 000 Vin ~ VT1 VT2 VT3 VT4 VT5 VT6 VT7 VREF ENCODE b(N:0) LSB = risoluzione del convertitore < 0.1 % risoluzione < (VREF /100)*0.1  LSB < VREF/1000 VREF/2N < VREF/1000  2N > 1000  N >= 10 40 ns

Media Mobile ECOSCAN Media mobile su 4 campioni => M(K) = S i=0..3 S(K+i)/4 M(0) = [S(0) + S(1) + S(2) + S(3)] /4 M(1) = [S(1) + S(2) + S(3) + S(4)] /4 M(2) = [S(1) + S(2) + S(3) + S(4)] /4 .............................................................. M(65535) = [S(65535) + S(65536) + S(65537) + S(65538)]/4 Valore max. possibile della somma campioni = 1023(10 bit)*4 = 4092 rappresentabile con 12 bit (e’ la dimensione dei sommatori) Il risultato M(i) e’ ancora a 10 bit (i bit MSB della somma dei campioni)

Sommatori 12 bit R(11:0) = S1(10:0) + S2(10:0) 4 bit adder tpd =10 ns Cin Cout 4 bit adder tpd =10 ns A(3:0) C(3:0) B(3:0) R(11:0) = S1(10:0) + S2(10:0) Cin Cout Cin Cout Cin Cout 0,S1(10:8) S1(3:0) A(3:0) S1(7:4) A(3:0) A(3:0) R(3:0) R(7:4) R(11:8) C(3:0) C(3:0) C(3:0) 0,S2(10:8) S2(3:0) B(3:0) S2(7:4) B(3:0) B(3:0) S1(10:0) A(10:0) 12 bit adder tpd =30 ns C(11:0) R(11:0) S2(10:0) B(10:0)

ECOSCAN - Read Only Memory ROM 1K*16 ADD(9:0) DATA(15:0) OE* CE* CE* OE* ADD(9:0) A Alta impedenza Alta impedenza DATO(A) DATA(15:0) Tempo accesso = 70 ns

ECOSCAN - Random Access Memory RAM 64K*16 ADD(15:0) DATA(15:0) WE* OE* CE* CE* OE* WE* ADD(9:0) A DATO(A) DATA(15:0) Tempo scrittura = 25 ns

ECOSCAN Memory Mapping Spazio di indirizzamento PD32 (byte) Locazio ne 0x00000000 Spazio memoria programma PD32 Affinche’ il PD32 acceda in lettura la RAM interna ECOSCAN deve “tradurre” gli indirizzi del MAB PD32 in indirizzi validi per la RAM interna Locazio ne 0x80000000 MAB(31:2) => ADD(15:0) 0x20000000 0x0000 0x20000001 0x0001 ................................................ 0x2000FFFF 0xFFFF ECOSCAN internal RAM (256 Kbytes) Locazio ne 0x8003FFFF Poiche’ l’accesso e’ permesso solo a longword(32 bit) posso trascurare il valore dei segnali Mb(3:0) Locazio ne 0xFFFFFFFF

Architettura progetto ECOSCAN Memoria PD32 PD32 ECOSCAN MDB RAM 64Kx16 ROM 1Kx16 ADC 10 bit Vin ~ MAB MCB 20Mhz Clk I/ODB I/OCB

Blocchi funzionali unita’ ECOSCAN PIPELINE - conversione segnale analogico (20 Mhz) - calcolo media mobile - calcolo logaritmo RAM INTERFACE - gestione segnali RAM interna (ADD,DATA,WE*,OE*,CS*) PD32 INTERFACE - decodifica “memory mapping” in lettura (MAB,MWR) - produzione segnale inizio acquisizione (SCANREQ*) - generazione IVN durante la fase di richiesta interrupt SCO - gestione timing acquisizione (SCANREQ*) - generazione address e segnali di controllo per scritture valori calcolati - gestione dei segnali di clock - gestione Interrupt Request (IRQ*,IACK)

Protocollo ECOSCAN PD32 ECOSCAN 1) Generazione via software del segnale di inizio acquisizione: OUTB S,0xFF 2) Generazione segnale inizio acquisizione SCANREQ* 3) Processamento campioni (uno ogni 50 ns): - Conversione A/D - Calcolo media mobile - Calcolo logaritmo - Scrittura in memoria 4) Invia un Interrupt al PD32 dopo 65536 scritture 5) Serve la richiesta di interruzione 6) Puo’ accedere ai dati in memoria ECOSCAN

ECOSCAN Schema a blocchi funzionale - prima approssimazione - MDB(15:0) MAB(31:2) PD32 Interface Mem Map Dec. RAM Interface 64Kx16 RAM RD(15:0) PIPELINE MRD LOG ROM S/4 10 bit ADC Vin ~ I/ODB(7:0) I/OWR I/OAB(7:0) I/O Bus Dec. IACK RAMENB* RA(15:0) SCO ADD 20 MHz CLK SCANREQ* IRQ* Il segnale RAMENB* sara’ attivo (0) solo durante la fase 3 del protocollo cioe’ quando la memoria interna e’ controllata dalla SCO di ECOSCAN

locazione memoria interna ECOSCAN - SCO (RAMENB* timing) CLK (20 Mhz) SCANREQ* RAMENB* IRQ* TC* Scrittura ultima locazione memoria interna (ADD = 0xFFFF) AND SCANREQ* D Q RAMENB* Clk@20 MHZ CLK PR* ADD = 0xFFFF or RESET

ECOSCAN - Pipeline + 40 ns + 30 ns > 50 ns (20MHz) Conversione A/D 12 bit adder (4 bit adder) 10 bit-ADC Vin ~ + ENCODE Clk@20Mhz Campione precedente 40 ns + 30 ns > 50 ns (20MHz) Pipeline register 10 bit-ADC Vin ~ Q(9:0) ADC(9:0) D(9:0) All’ingresso dell’addizionatore ENCODE CLK Clk@20Mhz Tempo pipe = Tencode + Tsu,R = 45 ns

+ + + ECOSCAN - Pipeline S(i+3) S(i+2) S(i+1) S(i) Calcolo Media mobile S(i+3) S(i+2) S(i+1) S(i) 10 10 10 ns 10 10 + + 30 ns 11 11 + 30 ns 12 Prendo i 10 bit MSB del risultato per effettuare la divisione per 4 70 ns > 50 ns !!

+ + + ECOSCAN - Pipeline S(i+3) S(i+2) S(i+1) S(i) M(i) Calcolo Media mobile S(i+3) S(i+2) S(i+1) S(i) 10 10 10 ns 10 10 + + 30 ns 11 11 5 ns S(i+1)+S(i) S(i+2)+S(i+3) 10 ns + 30 ns 10 (MSB) 5 ns M(i) Per entrambe le pipe si ha Tpipe = Tpd,R + Tpd,Adder(12) + Tsu.R = 45 ns

+ + + ECOSCAN - Pipeline S(i+3) S(i+2) S(i+1) S(i) M(i) Calcolo Media mobile Uscita ADC S(i+3) S(i+2) S(i+1) S(i) 10 10 10 10 + + 11 11 S(i+1)+S(i) S(i+2)+S(i+3) + Il tempo di pipe rimane invariato ma il tempo di latenza di questo blocco e’ pari a 6 cicli del CLK dei registri 10 (MSB) M(i) Ingresso alla LOG-ROM

ECOSCAN - Pipeline M(i) ROM LOG(i) Calcolo Logaritmo M(i) 10 ns 10 ROM 70 ns 10 5 ns LOG(i) Due soluzioni: Ridurre la frequenza di clock (non per noi) Buffer Multipli a frequenza ridotta!! 85 ns > 50 ns !! 16 Poiche’ il tempo di pipe e’ Tclk < tpipe < 2*Tclk introduciamo due buffer a frequenza CLK/2 = 10Mhz all’uscita dell’ultimo addizionatore ed utilizziamo due ROM in parallelo

ECOSCAN - Pipeline M(i) M(i+1) ROM 1 ROM 2 LOG(i) Calcolo Logaritmo Valore Medio uno ogni 50 ns Clk@10mhz NOT 10 ns M(i) M(i+1) 10 ns 10 10 ROM 1 ROM 2 70 ns OE OE 10 10 5 ns L’uscita va connessa al bus bidirezionale della memoria interna e quindi il registro deve essere dotato di uscite TRISTATE Clk@20mhz LOG(i) RAMENB* OE* 16 Tpipe(max) = Tpd,NOT + Tpd,R + Ta,ROM + Tsu.R = 95 ns La latenza e’ pari a 2 cicli del CLK@20Mhz

ECOSCAN - RAM Interface Gestione segnali SRAM Segnale RAMRD* = Il PD32 ha indirizzato ECOSCAN ( MAB(31:18) = 0x2000 e MRD = 1) Proviene dal blocco “PD32 Interface” Segnale RAMWE* = ha la stessa temporizzazione di un clk 20 Mhz ma si deve attivare solo dopo che il tempo di latenza della PIPELINE e’ finito ( 8 cicli da RAMENB* = 0) Proviene dalla SCO.

ECOSCAN - SCO OR Generazione Clk (CLK@10Mhz) Generazione segnale RAMWE* (Clk@20Mhz ma dopo 8 cicli inizio acquisizione) 3 BIT COUNTER Clk@20mhz Clk@10mhz CLK Q0 RAMENB* Q1 Clk@20mhz OR RAMWE* CL Q2 D Q CLK* PR Q* WRENB* 1 2 3 4 5 6 7 8 9 10 11 12 13 14 CLK@20MHZ Q(3:0) 1 2 3 4 5 6 7 1 2 CLK@10MHZ Q2 WRENB* RAMWE*

ECOSCAN - SCO Generazione Address memoria interna (0x0000 a 0xFFFF) Generazione segnale “fine acquisizione” ( ADD = 0xFFFF) per preset RAMENB*) 16 BIT COUNTER Address per RAM RANWE* CLK Q(15:0) RAMENB* Q(15) CL D Q CLK* PR Q* “fine acquisizione” agisce sul preset del DFF che genera RAMENB* 1 2 3 4 5 6 7 8 9 10 11 12 13 14 CLK@20MHZ Q(3:0) 1 2 3 4 5 6 7 1 2 CLK@10MHZ Q2 WRENB* RAMWE* RA(15:0) 1 2 3 4 5 6 7 8 9 10

ECOSCAN - SCO Generazione segnale IRQ* per richiesta interrupt a fine acquisizione 1 D Q CLK CL Q* IRQ* RAMENB* IACK CLK (20 Mhz) SCANREQ* RAMENB* “fine acquisizione” IRQ*