Memoria analogica

cut...

Sar=F2 testone, ma resto della mia idea... :-)

La vedo cos=EC: un solo DAC 16 bit o pi=F9 (le tarature richiederanno qualcosa di simile ai PLL dei tuner televisivi) -> S/H (SMP08 insisto!) -> OpAmp non-invertente con Av=3D2 -> filtro RC+L (alto valore per il refresh) + L (basso valore, poche spire, ferrite per HF) ->

varicap. Un solo micro veloce per il refresh. Durante il sample le logiche sono ferme e non hai rumore. Il micro avr=E0 la sua massa a parte e ben disaccoppiata col DAC ed i S/ H.

32 micro, per quanto piccoli, fanno molto rumore.

Piccio.

Reply to
Piccio
Loading thread data ...

Il 01/02/2011 09:58, Piccio ha scritto:

Vector Analyzer

Ho dato un'occhiata più approfondita al datasheet. Leggi qui:

Acquisition time: typ 3,6 us - max 7us Hold Mode Settling Time: 1us Slew Rate: 3 V/us

In basso poi c'è scritto che la tensione scende di 20 mV/s ed il refresh va fatto ogni 120 ms per mantenere l'accuratezza (utilizzando un DAC a

10 bit).

E' anche scritto che può mantenere la stabilità con carichi fino a 500 pF (e non si capisce se fallisce sopra i 500pF o sotto i 500pF).

Unendo tutti questi dati, mi viene un dubbio: da 0 a 18 V dato lo slew rate occorrono 6 us. Aggiungiamo i 3 us di assestamento, arriviamo a 9 us.

Questo per ogni canale, portandoci ad una frequenza di 434 Hz. Siamo un pò troppo borderline. Considerando che il progetto andrà sviluppato in seguito su 4096 elementi, rimane improponibile.

Ancor di più lo è se consideri di montare induttori con ferrite. Ripeto: se hai paura che il rumore del digitale interferisca con la parte ad alta frequenza, puoi stare tranquillo che non interferirà, per due motivi:

1) La frequenza di lavoro è ordini di grandezza superiore a quella dei micro o dei s/h o di qualunque altro pezzo digitale che utilizzeremo.

2) Anche se delle armoniche spurie venissero prodotte intorno a quelle frequenze, c'è già lo stub che blocca una RF dell'ordine dei volt (figuriamoci una 5a-7a-21a armonica di qualche mV).

Se aggiungiamo che viene a costare (quoto il tuo testo):

[quote] > Uno stadio da 16 uscite sarà composto essenzialmente da: > - 2x SPM08 > - 4x OpAMp quadrupli > - 32 resistenze uguali > - 1x CD4067

Circa 35 euri di IC.

560 euri per 256 ch. Oltre a DAC, ADC, PCB, ecc. [/quote]

mi sembra una soluzione con troppe variabili e costosa, rispetto a quella dei micro. Non dico che non sia valida, con qualche accorgimento potrebbe anche andare, resta comunque una soluzione meno preferibile rispetto ad una che offre anche una taratura dinamica.

Esci a 10 V dal s/h?

Aspetta, volevi intendere un filtro attivo con un induttanza in serie all'uscita dell'opamp? Suppongo che l'induttanza sia per i glitch, ma l'RC? Inserendo reti passive si rallenta ulteriormente la propagazione del campo.

64 micro
Reply to
Artemis

Artemis:

Dipende dal modello. Lo H ha 4096.

Immaginavo, è esattamente sbagliato. Sincrono = mandi tu il clock e quindi ci puoi fare ciò che ti pare, basta che il dato sia già presente quando arriva il fronte attivo del clock.

Asincrono = non mandi il clock, quindi i dati devono essere isocroni per permettere al ricevitore di agganciarsi.

L'istruzione successiva. Punto.

Boh, anche. Ma di solito sono bestie più complesse e non hanno mai risoluzioni troppo elevate. Con 4 DAC tenderei ad escluderlo

Non vedo che problema ti diano di DAC esterni.

Come ho scritto, è già così. I pin usati per comunicare (+ il reset) sono gli stessi che si usano per la programmazione ISP.

No, il problema è che non sono EPROM, c'è un dialogo tra programmatore e programmato. I parametri di taratura vanno messi nella apposita EEPROM del processore, che, in ogni caso, è anche in grado di autoprogrammarsi la flash.

Certo, non son mica stupido. Comunque la taratura dovrebbe essere fatta dal processore stesso, vedremo poi come.

Mandando un qualche comando al processore che, di conseguenza, aggiornerà la sua EEPROM o Flash.

Reply to
F. Bertolazzi

Mi correggo ancora una volta: non è proprio fattibile. Oggi ho avuto una notizia devastante: deve essere molto più sensibile di quello che immaginavo: la tensione deve avere precisione al di sotto dei 50 mV. Devo rifare le misure con il Vector Analyzer, un passo di 100 mV varia troppo la capacità. Dobbiamo effettuare misure a variazioni di 25 mV o inferiori. Occorre stabilizzare in retroazione per forza e usare qualche amplificatore per strumentazione.

Reply to
Artemis

Il 01/02/2011 13:09, F. Bertolazzi ha scritto:

Quindi è lecito inserire delle latenze variabili, ok!

Diversi. Dovendo testare il circuito in laboratorio è già difficile gestire decoder, opamp esterno e micro. Se aggiungiamo anche un DAC esterno con altrettanti pin e la scrittura di un algo che serializza i bit (frapponendo anche dei comandi da inviare al DAC, da quanto ho letto sul datasheet, aggiungendo infine dei pad a vuoto perché il registro è a

24 bit) mi dà noia. Altre saldature, altra roba. Se c'è qualcosa di unico e compatto, ripeto, è meglio, e la serializzazione (come avrai capito) mi sta molto sullo stomaco. Tra l'altro senza serializzazione si risparmia anche in velocità, in previsione del 4096.

Come ho scritto prima a Picchio, oggi ho ricevuto una notizia devastante: devo rifare le misure sul vector analyzer, 100 mV sono troppi, la sensitivity sulla tensione deve essere più fine, sicuramente sotto i 50 mV.

A questo punto la soluzione con i micro è l'unica fattibile, il feedback è assolutamente necessario e l'opamp non può essere scelto a caso, ma deve essere preciso, per strumentazione.

Non ho ancora avuto a che fare con ISP, quali sono i terminali (esempio) nell'ATTiny? Occorre necessariamente che il micro si autoprogrammi dopo che hai trasferito i dati in una sua memoria flash interna?

???

No aspetta, la stabilizzazione della tensione, la fà il micro con la retroazione, ok, ma io parlo invece della correzione "di tensione" al fine di garantire una risposta identica su tutti i varicap. Esempio:

tutti i varicap a 7 V devono darmi 13pF

metto 7 V al primo e mi dà 12 pF... aumento la tensione... scopro che

13pF li ho a 7,2V.

Ok su quel micro ci sarà una tabella di corrispondenza tensione-tensione che quando vedrà in ingresso 7 V in uscita mi darà 7.2 V.

E' chiaro ora?

Questa la vedo dura, ma poi se ne parla, pensiamo a scegliere un micro adatto. Domani mattina spero di parlare con i professori ed effettuare già le nuove misure con la risoluzione desiderata. Poi mi farò dire anche se ci sono latenze o meno tra un refresh completo e il successivo.

Oggi mi è stato accennato che deve poter essere flessibile, e adattarsi diverse applicazioni.

Reply to
Artemis

Infatti parlavo di DAC a 16 bit o pi=F9. Non ti servono amplificatori per strumentazione, semmai di "precisione" (basso offset tra gli ingressi). Le resistenze della rete di retroazione devono essere di precisione.

Ma poi, hai 256 oscillatori che lavorano simultaneamente?

Sar=F2 minimalista, ma prendo a modello ci=F2 che erano i vecchi tuner TV e i nuovi. Nei vecchi la sintonia per canale era ottenuta da potenziometri multigiri e la stabilit=E0 in molti casi era buona. La tensione sui varicap arrivava fino a 30V e la cosa importante, ovviamente, era disporre di una sorgente di tensione stabile e compensata.

Le sintonie digitali in un primo tempo erano ottenute da DAC a parecchi bit senza retroazione, quindi saremmo nelle tue condizioni attuali. Il centraggio del canale era per=F2 organolettico, ovvero, era l'operatore a sindacare quando la frequenza era giusta o no. Si aveva quindi una mappatura dei canali avendo solo sostituito i vecchi trimmer. Dubito che la stessa mappatura (parole inviate al DAC) potessero andar bene per altri televisiori di egual modello.

L'ultima generazione, ovviamente, agisce sulla sintesi di frequenza tramite PLL e la precisione =E8 garantita.

In soldoni intendo dire che la circuiteria pi=F9 che esser precisa deve essere ripetibile. Potresti realizzare anche il 257esimo canale retroazionato per verificare la stabilit=E0 termica ed apportare compensazioni. Dovresti realizzare un vettore in modo da parametrizzare i o il DAC, sia che usi i S/H che dei singoli DAC.

Piccio.

Reply to
Piccio

Artemis:

Decoder? de che?

Sei, per la precisione. Più almeno un condensatore sull'alimentazione per ogni IC.

E' meno che banale.

La velocità per caricare i DAC rimarrà identica, con 1, 10, 1000, 1.000 o

10.000 schede.

ROTFL. In effetti è un artista marziale con due braccia così...

Quindi, in teoria, solo 361 valori diversi, anzi, 400, visto che l'output massimo sarà a più di 20 V. Secondo me non bastano.

Di quanto si modifica la capacità dei varicap, passando da 0 a 18 V? Quale precisione volete? Hai già detto che non è lineare, quindi, per avere 361 valori di capacità diversi equamente spaziati, occorre una risoluzione del D/A (e dell'A/D di feedback) molto più alta che non i 9 bit che basterebbero in teoria. Di quanto non lo so, non è che ci dici dove trovare il datasheet di questi varicap?

E tre. Gli op-amp per strumentazione non c'entrano nulla. E' una configurazione circuitale fatta con tre op-amp, non è un op-amp di precisione.

Che te ne fai di un op-amp preciso, se hai poi il feedback?

Piuttosto, caro il mio, avrai bisogno di ADC esterni a 16 bit, mi sa

Te l'ho appena scritto.

Questa domanda non ha senso.

Lo era già prima. Perciò non ho pensato avesse senso fare una taratura "a priori", con il controllo staccato dai varicap.

Perché?

E' importante anche sapere quanti dati possono voler cambiare . Mi spiego: si può decidere di fare una cosa come l'ho proposta, in cui vengono sempre mandati tutti i dati a tutti i processori, oppure madare ad ogni processore il suo dato e lasciare in pace gli altri, che continueranno a mantenere l'output come era prima. Questo secondo approccio, però, porta a dover aumentare la quantità di dati da trasferire, in quanto, oltre ai valori desiderati, occorrerà trasmettere anche l'indirizzo del processore a cui sono indirizzati.

Più la solita fetta di culo tagliata vicino all'osso, ché è più saporita.

Reply to
F. Bertolazzi

Artemis:

Per "processore principale" intendevo proprio il PC o chi per esso. Per "processore" intendo, ho inteso e intenderò quello sulla schedina che controlla N (con N > 0 e < 16, nella versione attuale N sarebbe 4) varicap.

Secondo me la taratura va fatta con la scheda montata col suo varicap, che non cambierà, pena la necessità di un'altra taratura.

Secondo me andrebbe fatta automaticamente, con un "fattapposta" che misura la capacità del varicap e dice al processore quando è al giusto valore.

Mettiamo che tu voglia avere 100 valori, da 1 a 100 pF. il fattapposta dice al processore di iniziare la procedura. Questo butta fuori sul D/A zero, poi uno, finché il fattapposta non gli dice che è arrivato a 1pF. A quel punto il processore memorizza il valore che ha scritto e quello che legge dal A/D e riprende ad aumentare la Vout finché il fattapposta non gli dice di essere arrivato a 2pF. And so on...

Il problema della latenza è diminuirla, se è eccessiva. Ad aumentarla son buoni tutti. Persino tu. :p

Niente, lascia perdere, idea abortita.

Reply to
F. Bertolazzi

Piccio:

Motivo per cui non solo non è dannoso il fatto di avere 256 attuatori e 256 strumenti di misura, ma, anche per motivi di tempo, è necessario avere molti processorini che si gestiscono al meglio pochi varicap.

Il rumore rumoroso, quello che potrebbe interferire col segnale smanettato dai varicap, viene cosato dallo stub. Per il resto non credo che riusciremmo a generare un rumore suffìiciente a modificare apprezzabilmente la tensione di controllo.

Ma non la stessa capacità dei varicap, come facevi giustamente notare.

Reply to
F. Bertolazzi

F. Bertolazzi:

Ed anche alla necessità di programmare (semmai in fase di taratura) un indirizzo diverso ad ogni processore.

In entrambi i casi ci saranno sempre e solo tre fili (dati, clock e strobe)

+iù le alimentazioni, che vanno a tutti i processori in parallelo (i dati, se non vogliamo indirizzare il singolo processore, in realtà entrano in una scheda ed escono verso la successiva, generando così un indirizzamento implicito) dal processore principale.

Al limite, se vogliamo utilizzare il sistema senza indirizzi ma i tempi di trasmissione sono troppo alti, potremmo usare più "fili" di dati in modo da poterli mandare a meno processori in meno tempo.

In pratica, se vediamo che ci si mette troppo tempo a mandare i dati a 64 processori (ammettendo di usarne uno per 4 varicap), potremmo dividerli in due catene da 32 e spedire due dati contemporaneamente sulle due linee dati. O, meglio, in 8 catene da 8 processori, con otto fili di dati, un clock e uno strobe. Ma questo, ripeto per l'ennesima volta, dipende dalla massima latenza ammessa.

Reply to
F. Bertolazzi

Il 01/02/2011 17:08, Piccio ha scritto:

Amplificatore da strumentazione è nel gergo tecnico definito come amplificatore di precisione:

"Un amplificatore da strumentazione (in inglese: Instrumentation amplifier) è un amplificatore operazionale particolarmente adatto per l'uso nel campo delle misure elettroniche e nelle strumentazioni professionali (naturalmente le sue prestazioni sono legate all'uso di componenti di elevata qualità: i singoli operazionali che lo compongono devono avere ottime caratteristiche e i resistori devono essere molto precisi)." (Wikipedia)

E ora da dove sono venuti fuori questi oscillatori???

Perfetto. Qui però hai dei varicap da 0.2pF la precisione e d'obbligo. Nei televisori non dovevi ottenere una sintonia fine all'ordine dei 25mV e qui non hai potenziometri che ti regolano ad occhio un'immagine. Qui la rete va tarata una sola volta e qualcosa deve costantemente compensare la deriva termica, le tolleranze, i leakage di carica e l'errore di feedback.

Tutti gli effetti parassiti vengono sintetizzati in: variazione di tensione. Con i micro prendi il posto dell'operatore che davanti alla tv aggiusta l'antenna quando la trasmissione inizia a vedersi male.

Reply to
Artemis

Un bel giorno Artemis digitò:

Considera anche che come diceva Franco, nelle applicazioni sample&hold è importante usare buoni dielettrici, quindi C0G/NP0 o ancora meglio i dielettrici plastici "da corsa": polistirene, polipropilene, teflon.

Riducendo i tempi di sample/hold per mantenere uguale il tempo totale, o mantenendo gli stessi tempi per singolo switch? In quest'ultimo caso ovviamente non cambia niente, nel primo caso bisogna fare i conti ed eventualmente trovare uno switch con una leakage inferiore.

Ammetto che sto rispondendo un po' in fretta e non ho esaminato bene tutto il thread, ma direi che dovresti scegliere (o almeno provare per prima) la strada dove i numeri sono più chiari. Nel caso della strada di cui stiamo parlando si tratta in sostanza di dimensionare la carica/scarica di un condensatore (poco importa che ce ne sia uno o quattromila) e quindi non ci sono grosse insidie nascoste, una volta che le specifiche di progetto sono chiare.

Oppure se hai tempo realizza tutte e due le soluzioni e poi confrontale! Se ti preoccupa lo spreco di soldi pubblici, io per quanto mi riguarda ti do il permesso; non ti resta che chiederlo anche agli altri dieci o venti italiani che pagano le tasse. ;)

--
emboliaschizoide.splinder.com
Reply to
dalai lamah

Il 01/02/2011 19:47, Artemis ha scritto:

Personalmente non mi risulta.

Diciamo piuttosto che un amplificatore da strumentazione sarà spesso anche di precisione (ma non sempre) mentre un amplificatore di precisione non è affatto detto che sia da strumentazione...

Ciao! Marco

Reply to
Marco Trapanese

Il 01/02/2011 19:00, F. Bertolazzi ha scritto:

Allora, dò una sola risposta generale, così riduco il numero di post. Il microcontrollore l'ho individuato, si trova su RS-Components (quindi posso acquistarlo velocemente):

ATXMEGA64A1-AU

4 D/A a 12 bit 16 A/D 12 bit F: 32 MHz Package: TQFP

L'ho trovato per giunta su RS Components dal quale ci serviamo abitualmente, quindi non paghiamo spedizione e la merce arriva in tempi record. Ecco i prezzi:

1+ ? 6,53 10+ ? 4,29 100+ ? 3,98 250+ ? 3,72

ne prenderemo sicuramente un'ottantina per sicurezza e non 64 spaccati. Se la cosa funziona, quando ordineremo per il 4096, il prezzo sarà sotto i 3 euro, magari li acquistiamo direttamente dal distributore che sta nella città del mio professore (a stock di 4000 possiamo acquistare tranquillamente alla fonte).

Supponendo di alimentare un OpAmp a 24 V (per tirarci i 24 V da un regolatore già fatto) avremo una risoluzione di:

24/4096 = 5,86 mV

pur ammettendo un errore di 2 LSB, si avranno 11,2 mV spuri, abbastanza sotto i 25 mV. La retroazione pensa al resto.

Bisogna ora scegliere un opamp veloce in grado di seguire velocemente le compensazioni del micro, con array di resistori molto precisi.

Ok per ogni canale servono:

1 micro 1 array di 8 resistenze 1 array di 4 opamp

Ho allegato lo schema completo, lineare, senza serializzare nulla. I decoder selezionano il varicap da scrivere (e siccome ogni micro gestisce 4 varicap, 4 uscite del decoder andranno in ingresso al micro). Nel disegno ho collegato solo 8 delle 16 uscite del decoder (quello vicino ai micro).

Del decoder vicino al processore centrale ho connesso una sola linea (in realtà sono 16, tante quante le righe della griglia).

[FIDOCAD ] TY 315 160 7 4 0 0 0 * EN TY 320 225 7 4 90 0 0 * Decoder 4:16 RV 310 170 335 235 RV 195 185 225 255 TY 355 80 7 4 0 0 0 * 8 bit Grid Address TY 205 240 5 3 90 0 0 * ATXMEGA64A1-AU LI 225 205 310 205 RV 195 90 225 160 TY 205 145 5 3 90 0 0 * ATXMEGA64A1-AU LI 225 105 285 105 LI 480 250 480 35 TY 340 55 7 4 0 0 0 * EMBEDDED RABBIT PROCESSOR RV 335 25 445 90 LI 480 35 445 35 LI 225 210 310 210 LI 225 215 310 215 LI 225 220 310 220 LI 245 250 245 150 LI 225 250 480 250 SA 245 250 LI 245 150 225 150 LI 285 175 310 175 LI 285 105 285 175 LI 225 110 280 110 LI 280 110 280 180 LI 310 180 280 180 LI 310 185 275 185 LI 225 115 275 115 LI 275 115 275 185 LI 225 120 270 120 LI 270 120 270 190 LI 310 190 270 190 TY 230 95 6 3 0 0 0 * Enable Lines 5-8 LI 405 180 405 90 LI 335 180 405 180 LI 415 195 415 90 LI 335 195 415 195 LI 425 210 425 90 LI 335 210 425 210 LI 435 225 435 90 LI 335 225 435 225 RV 95 80 190 170 MC 170 130 2 0 580 LI 145 125 135 125 MC 170 100 3 0 080 LI 170 120 170 100 LI 140 125 140 145 SA 170 105 SA 140 125 MC 170 90 3 0 020 LI 160 105 170 105 LI 140 125 140 105 LI 140 105 150 105 MC 160 105 2 0 080 LI 135 125 115 125 TY 160 85 5 3 0 0 0 * 0V LI 115 125 120 125 LI 115 125 120 120 LI 115 125 120 130 TY 120 155 10 7 0 0 0 * 4 OPAMP LI 140 145 195 145 LI 170 120 195 120 MC 170 225 2 0 580 LI 145 220 135 220 MC 170 195 3 0 080 LI 170 215 170 195 LI 140 220 140 240 SA 170 200 SA 140 220 MC 170 185 3 0 020 LI 160 200 170 200 LI 140 220 140 200 LI 140 200 150 200 MC 160 200 2 0 080 LI 135 220 115 220 TY 160 180 5 3 0 0 0 * 0V LI 115 220 120 220 LI 115 220 120 215 LI 115 220 120 225 TY 120 250 10 7 0 0 0 * 4 OPAMP LI 140 240 195 240 LI 170 215 195 215 RV 95 175 190 265 MC 60 195 0 0 190 MC 60 210 0 0 190 MC 60 225 0 0 190 MC 60 240 0 0 190 LI 45 195 45 255 MC 45 255 1 0 020 TY 35 260 5 3 0 0 0 * 0V LI 70 195 95 195 LI 70 210 95 210 LI 70 225 95 225 LI 70 240 95 240 LI 45 195 60 195 LI 60 210 45 210 LI 60 225 45 225 LI 60 240 45 240 TY 55 180 5 3 0 0 0 * Varicap 1-4 MC 60 100 0 0 190 MC 60 115 0 0 190 MC 60 130 0 0 190 MC 60 145 0 0 190 LI 45 100 45 160 MC 45 160 1 0 020 TY 35 165 5 3 0 0 0 * 0V LI 70 100 95 100 LI 70 115 95 115 LI 70 130 95 130 LI 70 145 95 145 LI 45 100 60 100 LI 60 115 45 115 LI 60 130 45 130 LI 60 145 45 145 TY 55 85 5 3 0 0 0 * Varicap 5-8 LI 170 225 195 225 LI 170 130 195 130 TY 155 140 6 4 0 0 0 * feedback TY 155 235 6 4 0 0 0 * feedback TY 250 255 7 4 0 0 0 * Analog line 0V-3,6V TY 255 225 6 3 0 0 0 * Enable Lines 1-4 TY 325 60 6 4 0 0 0 * EN LI 395 120 395 90 LI 385 120 385 90 LI 375 120 375 90 LI 365 120 365 90 RV 400 120 345 145 TY 350 130 7 4 0 0 0 * Decoder 4:16 TY 340 95 10 8 0 0 0 * MSB LI 325 130 325 65 LI 325 65 335 65 LI 345 130 325 130 LI 325 160 395 160 LI 395 160 395 145 LI 325 170 325 160 TY 440 95 10 8 0 0 0 * LSB
Reply to
Artemis

Il 01/02/2011 20:17, Marco Trapanese ha scritto:

Si effettivamente come faceva notare anche Bertolazzi un amp per strumentazione è strutturalmente composto da più opamp. Mi premeva solo sottolineare la precisione dei componenti usati. C'è da dire che effettivamente è la misura differenziale che lo rende ancor più preciso.

Reply to
Artemis

Il 01/02/2011 20:05, dalai lamah ha scritto:

Ehehehe questa mi è piaciuta :D

Reply to
Artemis

Il

hai considerato l'AD5533 ? non ho seguito la discussione e quindi cestina se fuori luogo.

Reply to
ramundo

Il 01/02/2011 22:33, ramundo ha scritto:

Grazie per il contributo, purtroppo non va bene:

Output span: 10 V (richiede sempre operazionale esterno)

no retroazione, dati seriali e:

Per Channel Acquisition Time of 16 µs Max

a noi serve di almeno 3.9 us.

Grazie uguale

Reply to
Artemis

Io mi son letto alcuni post della discussione doppo stacco per motivi di forza maggiore.

Io nella sfera di cristallo leggo che non combinerai un bel nulla, spero di sbagliarmi per te, ma in questo mondo ci si pone diversamente, non tanto con le persone ma con l'elettronica.

Buone cose.

Reply to
El_Ciula

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.