La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Convertitore Analogico / Digitale Vin ~ V T1 V T2 V T4 V T3 V T6 V REF V T7 V T5 0 000 001 010 011 100 101 110 111 LSB= V REF /2 N Output N bit-ADC Vin.

Presentazioni simili


Presentazione sul tema: "Convertitore Analogico / Digitale Vin ~ V T1 V T2 V T4 V T3 V T6 V REF V T7 V T5 0 000 001 010 011 100 101 110 111 LSB= V REF /2 N Output N bit-ADC Vin."— Transcript della presentazione:

1 Convertitore Analogico / Digitale Vin ~ V T1 V T2 V T4 V T3 V T6 V REF V T7 V T LSB= V REF /2 N Output N bit-ADC Vin ~ b0 b1 bN V REF ENCODE b(N:0) ENCODE 40 ns LSB = risoluzione del convertitore < 0.1 % risoluzione < (V REF /100)*0.1 LSB < V REF /1000 V REF /2 N 1000 N >= 10

2 Media Mobile ECOSCAN Media mobile su 4 campioni => M(K) = i=0..3 S(K+i)/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) 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)] / M(65535) = [S(65535) + S(65536) + S(65537) + S(65538)]/4

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

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

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

6 ECOSCAN internal RAM (256 Kbytes) ECOSCAN Memory Mapping Spazio di indirizzamento PD32 (byte) Locazio ne 0x Locazio ne 0xFFFFFFFF Spazio memoria programma PD32 Locazio ne 0x Locazio ne 0x8003FFFF Affinche il PD32 acceda in lettura la RAM interna ECOSCAN deve tradurre gli indirizzi del MAB PD32 in indirizzi validi per la RAM interna MAB(31:2) => ADD(15:0) 0x x0000 0x x x2000FFFF0xFFFF Poiche laccesso e permesso solo a longword(32 bit) posso trascurare il valore dei segnali Mb(3:0)

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

8 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)

9 Protocollo ECOSCAN PD32ECOSCAN 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 scritture 5) Serve la richiesta di interruzione 6) Puo accedere ai dati in memoria ECOSCAN

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

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

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

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

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

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

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

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

18 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.

19 ECOSCAN - SCO Generazione Clk Generazione segnale RAMWE* ma dopo 8 cicli inizio acquisizione) Q0 3 BIT COUNTER Q1 Q2 CLK CL RAMENB* D Q CLK* PR Q* 0 OR RAMWE* Q(3:0) WRENB* Q2 WRENB* RAMWE*

20 ECOSCAN - SCO Generazione Address memoria interna (0x0000 a 0xFFFF) Generazione segnale fine acquisizione ( ADD = 0xFFFF) per preset RAMENB*) Q(15:0) 16 BIT COUNTER CLK CL RANWE* RAMENB* Address per RAM D Q CLK* PR Q* Q(3:0) WRENB* Q2 fine acquisizione agisce sul preset del DFF che genera RAMENB* RAMWE* 0 RA(15:0) Q(15)

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


Scaricare ppt "Convertitore Analogico / Digitale Vin ~ V T1 V T2 V T4 V T3 V T6 V REF V T7 V T5 0 000 001 010 011 100 101 110 111 LSB= V REF /2 N Output N bit-ADC Vin."

Presentazioni simili


Annunci Google